/** Developed by AlfaDirect; Algorithm = ПРОБОЙ; Hash code C40E15A9E756341F1E106008554BBB18 **/ function Initialize() { StrategyName = "Alfa_AO_SMA"; AddParameter("Ps", 0.5, "", 1); AddParameter("Psma", 100, "", 1); AddInput("Input1", Inputs.Candle, 1, true, ""); LongLimit = 0; ShortLimit = 0; } function OnUpdate() { /// ПРАВИЛО 1 if ( (Input1.Close > SMA(Input1.Close, Psma)) && (AO(Input1, 5, 34) > AO(Input1, 5, 34)[1]) && (AO(Input1, 5, 34)[1] < AO(Input1, 5, 34)[2]) && (Input1.Close > MY.NPS(Input1, Ps)) ) { EnterLong(); } /// ПРАВИЛО 2 if ( (Input1.Close < MY.NPS(Input1, Ps)) && (CurrentPosition() > 0) ) { CloseLong(); } /// ПРАВИЛО 3 if ( (Input1.Close < SMA(Input1.Close, Psma)) && (AO(Input1, 5, 34) < AO(Input1, 5, 34)[1]) && (AO(Input1, 5, 34)[1] > AO(Input1, 5, 34)[2]) && (Input1.Close < MY.NPS(Input1, Ps)) ) { EnterShort(); } /// ПРАВИЛО 4 if ( (CurrentPosition() < 0) && (Input1.Close > MY.NPS(Input1, Ps)) ) { CloseShort(); } }