80 Percent Accurate Trend Follower System |
"plotted pivots \n Plotted the avarage as a bars \n "; _SECTION_BEGIN("average as a bar"); /* Heikin-Ashi(Koma-Ashi) with Moving Average Type */ SetChartOptions(2, chartWrapTitle); // Calculate Moving Average MAPeriod = Param("MA Period", 15, 1, 100); MAOpen = EMA(Open, MAPeriod); MAHigh = EMA(High, MAPeriod); MALow = EMA(Low, MAPeriod); MAClose = EMA(Close, MAPeriod); HaClose = (MAOpen + MAHigh + MALow + MAClose) / 4; HaOpen = AMA(Ref(HaClose, -1), 0.5); // for graph collapse for(i = 0; i <= MAPeriod; i++) HaClose[i] = Null; /* // same // HaOpen = (Ref(HaOpen, -1) + Ref(HaClose, -1)) / 2; HaOpen[ 0 ] = HaClose[ 0 ]; for(i = 1; i < BarCount; i++) { HaOpen[i] = (HaOpen[i - 1] + HaClose[i - 1]) / 2; } */ HaHigh = Max(MAHigh, Max(HaClose, HaOpen)); HaLow = Min(MALow, Min(HaClose, HaOpen)); // outs comments "BarIndex = " + BarIndex(); "Open = " + Open; "High = " + High; "Low = " + Low; "Close = "+ Close; "HaOpen = " + HaOpen; "HaHigh = " + HaHigh; "HaLow = " + HaLow; "HaClose = "+ HaClose; // Plot graphs _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} HaOpen %g, HaHigh %g, HaLow %g, HaClose %g (%.1f%%) {{VALUES}}", HaOpen, HaHigh, HaLow, HaClose, SelectedValue(ROC( HaClose, 1)))); PlotOHLC(HaOpen, HaHigh, HaLow, HaClose, _DEFAULT_NAME(), ParamColor("Color", colorWhite), styleBar); _SECTION_END(); // Previous version 1.0 on 28.07.2008. // Current Version 1.1 on 31.07.2008. _SECTION_BEGIN("Simple Pivot based Trading System"); // User defined parameters. GraphXSpace = 10; //defines how much extra space should be added above and below graph line (in percent). dist = 0.25*ATR(10); Capital=Param("Total capital",100000,10000,1000000,1000); drawdown=Param("Max. loss per trade as % of Capital", 1.0,0.5,25.0,0.1); room=Param("Room for S/L as % of Pivot value",0.0005,0,0.02,0.0001); PH= ValueWhen( (Ref(H,-2) > Ref(H, -4)) AND (Ref(H,-2) > Ref(H, -3)) AND (Ref(H,-2) > Ref(H, -1)) AND (Ref(H,-2) > H), Ref(H,-2)); PL= ValueWhen( (Ref(L,-2) <= Ref(L, -4)) AND (Ref(L,-2) <= Ref(L, -3)) AND (Ref(L,-2) <= Ref(L, -1)) AND (Ref(L,-2) <= L), Ref(L,-2)); // filter lines phfilter=PH+(room*PH); plfilter=PL-(room*PL); //Uncomment following code if you wish to see the pivot lines. Plot(Ref(PH,2), "UpPivot", ParamColor("UpPivot Color",colorRed), styleDashed+styleNoLabel); Plot(Ref(PL,2), "DownPivot",ParamColor("DownPivot Color",colorGreen), styleDashed+styleNoLabel); Plot(Ref(Phfilter,2), "Upfilter", ParamColor("upfilter Color",colorRed), styleLine); Plot(Ref(Plfilter,2), "Downfilter",ParamColor("dnfilter Color",colorGreen), styleLine); //Plot(Ref(UpFractal,2), "Up Fractal", ParamColor("Up Fractal Color",colorRed),8); //Plot(Ref(DownFractal,2), "Down Fractal",ParamColor("Down Fractal Color",colorGreen),8); /*for (a=4;a<BarCount;a++) { if ((H[a-2] >= H[a-4]) AND (H[a-2] >= H[a-3]) AND (H[a-2] >= H[a-1]) AND (H[a-2] >= H[a])) PlotText("PH", a-2, H[a-2], colorGreen); if ((L[a-2] <= L[a-4]) AND (L[a-2] <= L[a-3]) AND (L[a-2] <= L[a-1]) AND (L[a-2] <= L[a])) PlotText("PL", a-2, L[a-2]-dist[a-2], colorRed); }*/ //Condition for buy : Enter when Close crosses latest pivot high. Buy = C> (PH+(room*PH)); initialStopBuy=Ref(PL,2)-(Ref(PL,2)*room/100); trailStopBuy=IIf(C>PH,Ref(initialStopBuy,-1),initialStopBuy); newStopBuy=trailStopBuy; BuyLimitCapital=int(Capital/C); SLbuy=round(C-initialStopBuy); BuyLimitSL=int((Capital*drawdown)/(100*SLbuy)); //Condition for sell : Exit when previous pivot low is cracked. Sell = C< (PL-(room*PL)); Buy = ExRem(Buy,Sell); Sell= ExRem(Sell,Buy); //Short = Sell; //Cover = Buy; //Short=ExRem(Short,Cover); //Cover=ExRem(Cover,Short); shape = Buy * shapeUpArrow + Sell * shapeDownArrow; PlotShapes( shape, IIf( Buy, colorGreen, colorRed ),0, IIf( Buy, Low, High ) ); _SECTION_END();
Sign up here with your email
ConversionConversion EmoticonEmoticon