Код: Выделить всё
/**Стратегия основана на определении моментов пересечения сглаженной линии D SO и сигнальной линии SO (система "SO"). Особенности:
- сигнал на продажу выдается, если сглаженная линия D индикатора SO пересекает сигнальную линию SO сверху вниз;
- сигнал на закрытие шорта выдается 1) если закрытие бара ниже 900 пунктов профита (1/2 дневного ATR);
2 ) если закрытие выше бара 300 пунктов стоп (1/6 дневного ATR); 3) закрывается после 23:28.
- при тестировании цена сделки фиксируется как цена закрытия бара, на котором появился сигнал.
- в роботе заявка выставляется после закрытия бара, на котором появился сигнал.
Developed by Gengal;
Algorithm = ТРЕНД;**/
function Initialize()
{
StrategyName = "GenGal_SO_test5";
AddParameter("PK", 37, "", 1);
AddParameter("PD", 31, "", 1);
AddParameter("Psig", 10, "", 1);
AddParameter("DATR", 1800); // задается величина дневного ATR(14)
AddInput("Input1", Inputs.Candle, 30, true, "SiH6=ФОРТС");
LongLimit = 1;
ShortLimit = -1;
}
function OnUpdate()
{
/// ПРАВИЛО 1
if ( (CrossBelow(SO(Input1,PK, PD, Psig)["D"], SO(Input1, PK, PD, Psig)["Signal"]) == true)&& CurrentPosition() == 0 )
{
EnterShort();
}
/// ПРАВИЛО 2
if ( ( (Input1.Close < (AverPrice()-DATR/2)) || // условие закр сделки по профиту
(Input1.Close > (AverPrice()+DATR/6)) ) && CurrentPosition() < 0 ) // условие закр сделки по стопу
{
CloseShort();
}
/// ПРАВИЛО 3
if ( (BarTime() > AsTime(23, 28, 0))&& CurrentPosition() < 0 ) // закрытие сделки в конце сессии
{
CloseShort();
}
}