PureBytes Links
Trading Reference Links
|
Hi All,
I'm tryin to do an Expectation Analysis describe by
http://www.amibroker.net/3rdparty/IntroToAtc.pdf pages 29-32
I'm not able to copy and paste the code from this pdf file. I was
wondering if anybody has this code. I'm trying to add to the
following code:
/* your trading system functions here */
...
/*Buy and Sell rules here */
/*Buy = Cover = ...;
Sell = Short = ...; */
Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);
Short = ExRem(Short,Cover);
Cover = ExRem(Cover,Short);
AddToComposite( Equity(), "~CompositeEquity", "X" ); //Filter for
scan set to a list, e.g., list0
shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes(IIf
(Buy,shapeUpArrow,shapeNone) ,colorBrightGreen,0,Graph0,-15);
PlotShapes(IIf(Sell,shapeDownArrow,shapeNone),colorRed,0,Graph0,-15);
PlotGrid(1);
PlotGrid(-1);
GraphXSpace=10;
ApplyStop(stopTypeTrailing, stopModePoint, 3*ATR(14), True,
True ); /* Chandelier Exit - Actually I use 3BSMA stop but cant use
this function for that */
Equity(1); // THIS EVALUATES STOPS
Title = Name() + ": " + Date() + " Open " + WriteVal
(O,1.4) + " Hi " +WriteVal(H,1.4) + " Lo "
+WriteVal(L,1.4) + " Close " + WriteVal(C,1.4);
/* the following line uses Flip function to get "1" after the buy
signal and reset it back to "0" after sell appears. */
in_trade = Flip( Buy, Sell );
AddToComposite( in_trade, "~OpenPosCount", "V" );
/* We use "~OpenPosCount" artificial ticker to store the results.
Again we should run just Scan of the formula AND the "~OpenPosCount"
ticker would become available.
Use */
Graph0 = Foreign( "~OpenPosCount", "V");
/* in Indicator Builder after running the back-test to see the chart
of the number of Open positions of your system. */
e = Equity(1); // THIS EVALUATES STOPS
tradeend1 = Sell;
tradeend2 = Cover;
profit1 = e - ValueWhen( Buy, e );
profit2 = e - ValueWhen( Short, e);
endprofit1 = IIf( tradeend1 , profit1, 0 );
endprofit2 = IIf( tradeend2 , profit2, 0 );
LosingLongTrades = LastValue( Cum( endprofit1 < 0 ) );
LosingShortTrades = LastValue( Cum( endprofit2 < 0 ) );
WiningLongTrades = LastValue( Cum( endprofit1 > 0 ) );
WiningShortTrades = LastValue( Cum( endprofit2 > 0 ) );
TotalLongTrades = LastValue( Cum( tradeend1 ) );
TotalShortTrades = LastValue( Cum( tradeend2 ) );
AddColumn( LosingLongTrades, "Losing Long trades", 1 );
AddColumn( WiningLongTrades, "Wining Long trades", 1 );
AddColumn( TotalLongTrades, "Total Long trades", 1 );
AddColumn( LosingShortTrades, "Losing Short trades", 1 );
AddColumn( WiningShortTrades, "Wining Short trades", 1 );
AddColumn( TotalShortTrades, "Total Short trades", 1 );
Filter = Status("lastbarinrange");
// now we will count the number of
// count trades winning in given $ ranges
NumRanges = 25; // number of ranges to generate
RangeSize = 100; // controls $ size of the range
for( i = 0; i < NumRanges; i++ )
{
rangestart = i * RangeSize;
rangeend = (i+1)*RangeSize;
if( i == NumRanges - 1 ) rangeend = 999999;
AddColumn(
LastValue( 100* Cum( endprofit1 > rangestart AND endprofit1 <
rangeend ) /TotalLongTrades ),
"% with profit " + rangestart + ".." + rangeend );
AddColumn(
LastValue( 100* Cum( endprofit2 > rangestart AND endprofit2 <
rangeend ) /TotalShortTrades ),
"% with profit " + rangestart + ".." + rangeend );
}
for( i = 0; i < NumRanges; i++ )
{
rangestart = (-i - 1 ) * RangeSize;
rangeend = -i*RangeSize;
if( i == NumRanges - 1 ) rangestart = -999999;
AddColumn(
LastValue( 100* Cum( endprofit1 > rangestart AND endprofit1 <
rangeend ) /TotalLongTrades ),
" % with loss " + rangeend + ".." + rangestart );
AddColumn(
LastValue( 100* Cum( endprofit2 > rangestart AND endprofit2 <
rangeend ) /TotalShortTrades ),
" % with loss " + rangeend + ".." + rangestart );
}
TIA
rgds, pal
------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/GHeqlB/TM
---------------------------------------------------------------------~->
Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
|