// Downloaded From https://www.WiseStockTrader.com _SECTION_BEGIN("MACDPrediction"); SetBarsRequired(10000,0); function EMAn ( Cnext , r3) { return ( 2 * Cnext + ( r3 - 1 ) * EMA ( C , r3 ) ) / ( r3 + 1 ) ; } function MACDn ( Cnext , r1 , r2 ) { return EMAn ( Cnext ,r1 ) - EMAn ( Cnext , r2 ) ; } r1 = Optimize("Fast avg", 12, 5, 20, 1 ); r2 = Optimize("Slow avg", 26, 20, 50, 1 ); r3 = Optimize("Signal avg", 9, 6, 12, 1 ); det = 500 ; perc = 25/100 ; Clast = SelectedValue ( C ) ; Plot( ml = MACD(r1, r2), StrFormat(_SECTION_NAME()+"(%g,%g)", r1,r2), ParamColor("MACD color", colorRed ), ParamStyle("MACD style") ); Plot( sl = Signal(r1,r2,r3), "Signal" + _PARAM_VALUES(), ParamColor("Signal color", colorBlue ), ParamStyle("Signal style") ); Plot( ml-sl, "MACD Histogram", IIf(ml-sl > 0,colorBrightGreen,colorRed ), styleNoTitle | ParamStyle("Histogram style",styleHistogram | styleNoLabel, maskHistogram )); MACDlast = SelectedValue(MACD()); // ************************************************************************************************** // // RMO adding here. SwingTrd1 = 100 * (Close - ((MA(C,2)+MA(MA(C,2),2) +MA(MA(MA(C,2),2),2) +MA(MA(MA(MA(C,2),2),2),2) +MA(MA(MA(MA(MA(C,2),2),2),2),2) +MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2) +MA(MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2),2) +MA(MA(MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2),2),2) +MA(MA(MA(MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2),2), 2),2) +MA(MA(MA(MA(MA(MA(MA(MA(MA(MA(C,2),2),2),2),2),2), 2),2),2),2))/10)) /(HHV(C,10)-LLV(C,10)); RMOtrend = EMA(SwingTrd1,81); // Finish RMO conditions. // ************************************************************************************************** // // IMCHIKUMO Adding here. prds = Param( "Standard Line Periods", 13, 5, 26, 1 ); turn = Param( "Turning Line Periods", 3, 3, 10, 1 ); delay = Param( "Delayed Line Periods", 12, 4, 25, 1 ); span = Param( "Spans Periods", 16, 10, 52, 1 ); TL = ( HHV( H, turn ) + LLV( L, turn ) ) / 2; SL = ( HHV( H, prds ) + LLV( L, prds ) ) / 2; DL = Ref( C, delay ); Sp1 = ( SL + TL ) / 2; Sp2 = ( HHV( H, span ) + LLV( L, span ) ) / 2; // Finish IMICHIKUMO funcition. // ************************************************************************************************** // // BUY and SELL condition. //Buy= (TL > Min(Ref(Sp1,-12),Ref(Sp2,-12))) AND (RMOtrend > 0) AND (TL > SL); //Sell = (SL > TL) AND (H < Min(Ref(Sp1,-12),Ref(Sp2,-12))); Buy= (MACD(12,26)> Signal(12,26,9)) AND (RMOtrend > 0) AND (TL > SL) AND (TL > Min(Ref(Sp1,-12),Ref(Sp2,-12))); Sell = ( Signal(12, 26, 9) > MACD(12,26) ) AND (SL > TL) AND (H < Min(Ref(Sp1,-12),Ref(Sp2,-12))); PlotShapes(IIf(Buy,shapeUpArrow,shapeNone) ,colorBrightGreen); PlotShapes(IIf(Sell,shapeDownArrow,shapeNone),colorRed); Plot ( 0 ,"", colorBlack ,styleDashed ) ; _SECTION_END();