Stock Portfolio Organizer
The ultimate porfolio management solution.
Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
pt for Amibroker (AFL)
Copy & Paste Friendly
Back
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | // AFL code by E.M.Pottasch, Feb 2014 // testing Pair trading using stocks SetTradeDelays (0,0,0,0); SetOption ( "CommissionMode" ,3); SetOption ( "CommissionAmount" ,0.005); SetOption ( "MaxOpenPositions" ,2); SetOption ( "PriceBoundChecking" , False ); Symbol1= "IWM" ; Symbol2= "SPY" ; Symbol1_price= Foreign (Symbol1, "Close" ); Symbol2_price= Foreign (Symbol2, "Close" ); slip=0.0; per=20; // normalized price: (Price-Mean)/(Standard Deviation) Symbol1_Normalized_price=(Symbol1_price- MA (Symbol1_price,per))/ StDev (Symbol1_price,per); Symbol2_Normalized_price=(Symbol2_price- MA (Symbol2_price,per))/ StDev (Symbol2_price,per); spread=(Symbol1_Normalized_price-Symbol2_Normalized_price); YourSystemEntrySignal= Cross (-1,spread); YourSystemExitSignal= Cross (spread,1); if ( Name ()==Symbol1) { Buy =YourSystemEntrySignal; BuyPrice = C +slip; Sell =YourSystemExitSignal; SellPrice = C -slip; Buy = ExRem ( Buy , Sell ); Sell = ExRem ( Sell , Buy ); Short = Sell ; ShortPrice = C -slip; Cover = Buy ; CoverPrice = C +slip; SetPositionSize (5000, spsValue ); } if ( Name ()==Symbol2) { Short =YourSystemEntrySignal; ShortPrice = C -slip; Cover =YourSystemExitSignal; CoverPrice = C +slip; Short = ExRem ( Short , Cover ); Cover = ExRem ( Cover , Short ); Buy = Cover ; BuyPrice = C +slip; Sell = Short ; SellPrice = C -slip; SetPositionSize (5000, spsValue ); } SetChartOptions (0, chartShowDates ); Plot (spread, "\nSI" , colorBlue , styleThick ); Plot (Symbol1_Normalized_price, "\n" +Symbol1, colorWhite ,1); Plot (Symbol2_Normalized_price, "\n" +Symbol2, colorRed ,1); if ( Name ()==Symbol1) { PlotShapes ( IIf ( Buy , shapeUpArrow , shapeNone ), colorDarkGreen ,0,spread,-15); PlotShapes ( IIf ( Sell , shapeDownArrow , shapeNone ), colorRed ,0,spread,-15); } if ( Name ()==Symbol2) { PlotShapes ( IIf ( Short , shapeSmallDownTriangle , shapeNone ), colorRed ,0,spread,-15); PlotShapes ( IIf ( Cover , shapeSmallUpTriangle , shapeNone ), colorDarkGreen ,0,spread,-15); } |