Это очень просто и делается даже в конструкторе стратегии, без написания исходного кода.
Код: Выделить всё
/**
SO_D
Hash code 80EB065D37D5735E0B30CCDA776600C9
**/
function Initialize()
{
StrategyName = "SO_D";
AddParameter("K", 5, "", 1);
AddParameter("D", 3, "", 1);
AddParameter("Signal", 12, "", 1);
AddInput("Input1", Inputs.Candle, 60, true, "SBER=МБ ЦК");
LongLimit = 1000;
ShortLimit = -1000;
AddChartIndicator("Stoch", new Dictionary <string, string>{{"PeriodK", "K"},{"PeriodD", "D"},{"PeriodSignal", "Signal"}});
}
function OnUpdate()
{
/// ПРАВИЛО 1
if ( (SO(Input1, K, D, Signal).GetValue("D", 1) < 20) && (SO(Input1, K, D, Signal).GetValue("D", 0) > 20) )
{
EnterLong();
}
/// ПРАВИЛО 2
if ( (SO(Input1, K, D, Signal).GetValue("D", 1) > 80) && (SO(Input1, K, D, Signal).GetValue("D", 0) < 80) )
{
EnterShort();
}
}
Скачать пример кода стратегии SO