// Downloaded From https://www.WiseStockTrader.com //TRENDLINES //SUPPORT x = Cum(1); //perchg = 0.03*LastValue( Highest( ROC( Low, 50 ) )); k= Param("k",0.03,0,1,0.001,0) ; ROCper= Param("ROCper",34,3,100,1,0) ; perchg = k*LastValue( Highest( ROC( Low, ROCper ) )); startvalue = LastValue( Trough( Low, perchg, 1 ) ); endvalue1 = LastValue( Trough( Low, perchg, 2 ) ); startbar = LastValue( ValueWhen( Low == startvalue, x, 1 ) ); endbar = LastValue( ValueWhen( Low == endvalue1, x, 1 ) ); Aa = (endvalue1-startvalue)/(endbar-startbar); b = startvalue; trendline = Aa * ( x - startbar ) + b; Plot( IIf( x >= endbar, trendline, Null ), "\nSupport", colorBlue,styleLine+styleThick ); //--------------------------------------------------------------------------------------------------- //RESISTANCE x = Cum(1); //perchgH = 0.03*LastValue( Highest ( ROC( High , 50 ) )); perchgH = k*LastValue( Highest ( ROC( High , ROCper ) )); startvalueH = LastValue( Peak ( High , perchgH, 1 ) ); endvalue1H = LastValue( Peak ( High , perchgH, 2 ) ); startbarH = LastValue( ValueWhen( High == startvalueH, x, 1 ) ); endbarH = LastValue( ValueWhen( High == endvalue1H, x, 1 ) ); AaH = (endvalue1H-startvalueH)/(endbarH-startbarH); bH = startvalueH; trendlineH = AaH * ( x - startbarH ) + bH; Plot( IIf( x >= endbarH, trendlineH, Null ), "\nResistance", colorRed,styleLine+styleThick ); //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx //Plot( Close, "Price", colorBlue, styleCandle ); //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX HEIKIN ASHI EXACT FORMULA BEGIN DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD _SECTION_BEGIN("HA Looping ( no AMA() )"); //SetChartOptions(0,chartShowArrows|chartShowDates); /////////////////////////////////////////////////////////// // // Heikin Ashi - Calculated Properly with no use of AMA // // JF Derzi, December 2012 // // HaClose[0] = (Open[0]+High[0]+Low[0]+Close[0]) / 4; HaOpen[0] = (HaClose[0] + Open[0]) / 2; HaHigh[0] = Max( High[0], Max( HaClose[0], HaOpen[0] ) ); HaLow[0] = Min( Low[0], Min( HaClose[0], HaOpen[0] ) ); for (i=1; i=HaOpen,colorGreen,colorRed); SetBarFillColor(IIf(HaClose>=HaOpen,colorBrightGreen,colorOrange)); PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, "\nHeikinAshiDerzi", barcolorha, styleCandle ); //Title = Name()+" "+Date()+" Heikin Ashi -- HaOpen:"+NumToStr(HaOpen,1.2,True)+" / HaHigh:"+NumToStr(HaHigh,1.2,True)+ // " / HaLow:"+NumToStr(Halow,1.2,True)+" HaClose:"+NumToStr(Haclose,1.2, True); _SECTION_END(); HAup= HaClose>=HaOpen ; haDelta= HaClose-HaOpen ; MAhaDelta= MA(haDelta,3) ; haDeltaUpMA= haDelta>MA(haDelta,3) ; //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHEIKIN ASHI EXACT FORMULA END DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD //PRICE _SECTION_BEGIN("Price"); //SetChartOptions(0,chartShowArrows|chartShowDates); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%)Vol " + WriteVal( V, 1.0 ) + " {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) )); //Plot( C, "", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); //barcolorc= IIf(C>O AND C>Ref(C,-1), colorBlue, // IIf(CO AND C>Ref(C,-1), colorBrightGreen, // IIf(C MA(Close, 50)AND NOT(Close > MA(Close, 200))AND NOT(MA(Close, 50) > MA(Close, 200)); Cond2 = Close > MA(Close, 50)AND Close > MA(Close, 200)AND NOT(MA(Close, 50) > MA(Close, 200)) ; Cond3 = Close > MA(Close, 50)AND Close > MA(Close, 200)AND MA(Close, 50) > MA(Close, 200) ; Cond4 = NOT(Close > MA(Close, 50))AND Close > MA(Close, 200)AND MA(Close, 50) > MA(Close, 200); Cond5 = NOT(Close > MA(Close, 50))AND NOT(Close > MA(Close, 200))AND MA(Close, 50) > MA(Close, 200); Cond6 = NOT(Close > MA(Close, 50))AND NOT(Close > MA(Close, 200))AND NOT(MA(Close, 50) > MA(Close, 200)); */ Cond1 = C>=MA(C,50) AND C=MA(C,50) AND C>=MA(C,200) AND MA(C,50)=MA(C,50) AND C>=MA(C,200) AND MA(C,50)>=MA(C,200) ; Cond4 = C=MA(C,200) AND MA(C,50)>=MA(C,200); Cond5 = C=MA(C,200); Cond6 = C18 AND ADX()<49 AND PDI()>18 OR uptrend AND ADX()>18 AND ADX()<49 AND PDI()>18 ,colorBrightGreen, IIf(!macdup AND !cond OR downtrend OR ADX()<18 ,colorRed,colorTan)) ; */ //-------------------------------------------------------------------------------- // Paste the code below to your price chart somewhere and green ribbon means both // both MACD and ADX trending up so if the red ribbon shows up the MACD and the ADX // are both trending down. _SECTION_BEGIN("trending ribbon"); MACDup= MACD()>Signal() ; uptrend= (MACD()>Signal() AND PDI()>MDI()) ; downtrend= (MACD()18 AND ADX()<49 AND PDI()>18 OR uptrend AND ADX()>18 AND ADX()<49 AND PDI()>18 ,colorBrightGreen, IIf(!macdup AND !cond OR downtrend OR ADX()<18 ,colorRed,colorTan)),styleOwnScale|styleArea|styleNoLabel,-0.5,100 ); _SECTION_END(); //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx //FORMULE stochup= StochK()>StochD() ; stochdn80= StochK()<80 ; MACDup= MACD()>Signal() ; MACDup0= MACD()>0 ; Hist= MACD()-Signal() ; Histup= Hist>Ref(Hist,-1) ; MFIupMA7= MFI()>MA(MFI(),7) ; MFI30= MFI()>30 ; MFIup50= MFI()>50 ; MFIdn80= MFI()<80 ; RSIupMA7= RSI()>MA(RSI(),7) ; RSIup50= RSI()>50 ; Cupo= C>O ; MA10up= MA(C,10)>=Ref(MA(C,10),-1) ; MA20up= MA(C,20)>=Ref(MA(C,20),-1) ; EMA50up= EMA(C,50)>=Ref(EMA(C,50),-1) ; CupEMA50= C>EMA(C,50) ; Cupma20= C>MA(C,20) ; PDIupmdi= PDI()>MDI() ; PDIup20= PDI()>20 ; UpTrend= (MACD()>Signal() AND PDI()>MDI()) ; DownTrend= (MACD()0 ; CCIupMA7= CCI()>MA(CCI(),7) ; CCIdn200= CCI()<200 ; top2up= BBandTop(C,15,2)>=Ref(BBandTop(C,15,2),-1) ; Cuptop1= C>BBandTop(C,20,1) ; HAup= HaClose>=HaOpen ; upbar = H>=Ref(H,-1) AND L>Ref(L,-1); downbar = L<=Ref(L,-1) AND H18 ; //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx //PARAMTOGGLE // This combines indicators into one timing Signal //function ParamOptimize( description, default, minv, maxv, step ) // { return Optimize(description, Param(description,default, minv, maxv, step ), minv, maxv, step ); } tgl = ParamToggle("Result", "AND logic|Compare"); // switch test calculation and compare the results if(tgl) { myBuy = macdup ; myShort = !macdup ; } else { myBuy = IIf( MACD()>Signal() ,1,0); myShort = IIf( MACD()