к простенькому советнику пытаюсь приделать фильтр работы по времени.
нашел пример кода работы по времени, вставил в код советника, но сов всё равно открывает сделки по сигналу, беж учета времени.
В журнале пишет: 2022.10.13 17:43:09.9702022.10.12 21:15:00 SMA по времени USDJPY,M15: Alert: Операции запрещены
однако сделки идут (в тестере стратегий). Подскажите пожалуйста, что я упускаю?
вот такой простенький код:
voidOnTick()
{
// Получим значение индикатора
dMA = iMA(Symbol(), 0,PeriodMA, MovingShift, MODE_SMA, PRICE_CLOSE, 0); // MODE_SMA - простое усреднение , значение 0. PRICE_CLOSE- цена закрытия, значение 0.if(CheckActiveHours())
{
Alert("Операции разрешены");
// Если нет открытых ордеров, то входим в условиеif(CountOrders()==0)
{
// Если появился сигнал на покупку, то откроем ордер на покупкуif(bSignalBuy() == true)
vOrderOpenBuy();
// Если появился сигнал на продажу, то откроем ордер на продажуif(bSignalSell() == true)
vOrderOpenSell();
}
}
elseAlert("Операции запрещены");
}
если drSYM<2 ifTlowFST[j] = false; иначе ifTHighFST[j] = false; я думал что так но увы операция ? РАБОТАЕТ только справа я в этом убедился но почему так сделали?
если drSYM<2 ifTlowFST[j] = false; иначе ifTHighFST[j] = false; я думал что так но увы операция ? РАБОТАЕТ только справа я в этом убедился но почему так сделали?
Если Вы вернётесь к своему предыдущему сообщению, то увидите, что код там другой.
Сейчас Ваш код соответствует шаблону:
(Условие) ? Присвоение1 : Присвоение2;
А в том предыдущем сообщении он соответствовал шаблону:
(Условие) ? Значение : Присвоение;
Но на самом деле тернарный оператор "?:" используется в соответствии с шаблоном:
если drSYM<2 ifTlowFST[j] = false; иначе ifTHighFST[j] = false; я думал что так но увы операция ? РАБОТАЕТ только справа я в этом убедился но почему так сделали?
Может вам "относительно" нужно? "==" два знака равенства?..
здравствуйте!
к простенькому советнику пытаюсь приделать фильтр работы по времени.
нашел пример кода работы по времени, вставил в код советника, но сов всё равно открывает сделки по сигналу, беж учета времени.
В журнале пишет: 2022.10.13 17:43:09.970 2022.10.12 21:15:00 SMA по времени USDJPY,M15: Alert: Операции запрещены
однако сделки идут (в тестере стратегий). Подскажите пожалуйста, что я упускаю?
вот такой простенький код:
Спасибо! помогло!
а почему сделки открываются не в диапазоне времени (например 2:00 - 3:00), а в диапазоне (2:00 - 3:45)?
25 2022.09.22 03:45 sell 9 0.01 144.211 0.000 0.000 0.00 249994.41
а почему сделки открываются не в диапазоне времени (например 2:00 - 3:00), а в диапазоне (2:00 - 3:45)?
25 2022.09.22 03:45 sell 9 0.01 144.211 0.000 0.000 0.00 249994.41
Если ты выбираешь LastHour 3 часа, то пока час будет равен 3 до 3:59 будет торговля. Поставишь 2, то в 3 торговли не будет
Если ты выбираешь LastHour 3 часа, то пока час будет равен 3 до 3:59 будет торговля. Поставишь 2, то в 3 торговли не будет
ясно, спасибо за разъяснение
(drSYM<2)? ifTlowFST[j]:ifTHighFST[j] = false; почему-то слева операция ? НЕ РАБОТАЕТ только справа или я что-то неправильно набираю?
если drSYM<2 ifTlowFST[j] = false; иначе ifTHighFST[j] = false; я думал что так но увы операция ? РАБОТАЕТ только справа я в этом убедился но почему так сделали?
если drSYM<2 ifTlowFST[j] = false; иначе ifTHighFST[j] = false; я думал что так но увы операция ? РАБОТАЕТ только справа я в этом убедился но почему так сделали?
если drSYM<2 ifTlowFST[j] = false; иначе ifTHighFST[j] = false; я думал что так но увы операция ? РАБОТАЕТ только справа я в этом убедился но почему так сделали?
Может вам "относительно" нужно? "==" два знака равенства?..
Потому-что