From:Traders Laboratory Hello Everybody, I am working on the Tuorial 26 from Markplex: http://www.markplex.com/tutorial26.php It works great. I am trying to refine this indicator by adding another condition: if the trendline goes through a candlestick, then the trendline should be plotted using dots, in other words, if the trendline value is higher than the low of a price at any time, then the trendline style becomes dots instead of dashes. I understand I need to programme a loop that will reproduce the values of a trendline at each bar between the two pivot points, and compare them to the low of each bar to check whether the trendline should be plotted using dots or dashes. http://www.traderslaboratory.com/forums/coding-forum/7796-ts-el-stochastic-divergence-trendlines.html // http://markplex.com/tutorial26.php inputs : PriceL(Low), StochLength(7), SmoothingLength1(3), SmoothingLength2(3), SmoothingType(1), Length(20), LeftStrength(3), RightStrength(1), BarTol(3); vars: ofastk(0), oFastD(0), oSlowk(0), oSlowD(0), oPivotPrice1(0), oPivotBar1(0), oPivotPrice2(0), oPivotBar2(0), oPivotPrice3(0), oPivotBar3(0), oPivotPrice4(0), oPivotBar4(0), tlslope(0), bback(0), tlvalue(0), pricepivotcondition1(false), pricepivotcondition2(false), stochpivotcondition1(false), stochpivotcondition2(false), stochvalue(0), tlstoch(0), tlprice(0); stochvalue=Stochastic(H,L,C,StochLength,SmoothingLength1,SmoothingLength2,SmoothingType,ofastk,ofastd,oslowk,oslowd); //Determine if pivots in the stochstic have occurred stochpivotcondition1 = Pivot(oslowd,Length,LeftStrength,RightStrength,1,-1,oPivotPrice1,oPivotBar1)<>-1; stochpivotcondition2 = Pivot(oslowd,Length,LeftStrength,RightStrength,2,-1,oPivotPrice2,oPivotBar2)<>-1; //Determine if pivots in the price have occurred pricepivotcondition1 = Pivot(PriceL,Length,LeftStrength,RightStrength,1,-1,oPivotPrice3,oPivotBar3)<>-1; pricepivotcondition2 = Pivot(PriceL,Length,LeftStrength,RightStrength,2,-1,oPivotPrice4,oPivotBar4)<>-1; if pricepivotcondition1 and pricepivotcondition2 and stochpivotcondition1 and stochpivotcondition2 and (absvalue(oPivotbar1-oPivotBar3)oPivotPrice2) and barstatus(1)=2 then begin tlprice= tl_new_S(D[oPivotBar4],Time_S[oPivotBar4],L[oPivotBar4],D[oPivotBar3],Time_s[oPivotBar3],L[oPivotBar3]); tl_setcolor(tlstoch,Red); tl_setsize (tlstoch,1); tlstoch= tl_new_Self_s(D[oPivotBar1],Time_S[oPivotBar1],oPivotPrice1,D[oPivotBar2],Time_s[oPivotBar2],oPivotPrice2); tl_setcolor(tlprice,Green); tl_setsize (tlprice,1); {tlslope = (oPivotPrice3 - oPivotPrice4) / AbsValue(oPivotbar3-oPivotBar4); //value of the slope value1 = oPivotPrice4*tlslope; if value1 >= low[oPivotBar4-3] then tl_setstyle(tlprice,2) else tl_setstyle(tlprice,3);} {tlvalue = oPivotPrice4 * (AbsValue(oPivotBar3 - oPivotBar4)-1) * tlslope; //the -1 is for the bar just before the oPivotBar3 if tlvalue > low[oPivotBar3+1] then tl_setstyle(tlprice,2) else tl_setstyle(tlprice,3); //+1 for bar just before oPivotBar3} value80 = absvalue(oPivotBar3-oPivotBar4); //print(opivotbar2,";",opivotbar4,";",opivotbar1,";",opivotbar3,";",value80); tlslope = (oPivotPrice3 - oPivotPrice4) / AbsValue(oPivotbar3-oPivotBar4); //value of the slope for bback = oPivotBar4 - 1 downto bback = oPivotBar3 + 1 begin value1 = oPivotPrice3 - (tlslope*bback); //print(date:7:0,";",time:4:0,";",bback,";",tlslope:0:6,";",value1:0:6); if value1[bback] > low[bback] then tl_setstyle(tlprice,3) else tl_setstyle(tlprice,2); end; end; Plot1(oSlowD);
文章標籤
全站熱搜
創作者介紹
創作者 David 的頭像
David

FUTURE ATM

David 發表在 痞客邦 留言(0) 人氣(41)