← Atrás

Вопрос по программированию

Привет, друзья. Начал изучать мануал и программировать своего роботика. Подскажите пожалуйста. Допустим вследствие каких-либо причин у меня сработал сигнал на открытие позиции. Но я хочу сделать "проверку временем". Нужно после получения сигнала подождать 5 минут, и если сигнал все еще актуален , то только тогда открывать позицию. Как это можно реализовать? (возможно в S# есть такая функция или переменная) Заранее спасибо.

¿Le resultó útil este tema?

Compartir tema

Comentarios (4)

Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario

Alexander
Alexander

Mihailo: Привет, друзья. Начал изучать мануал и программировать своего роботика. Подскажите пожалуйста. Допустим вследствие каких-либо причин у меня сработал сигнал на открытие позиции. Но я хочу сделать "проверку временем". Нужно после получения сигнала подождать 5 минут, и если сигнал все еще актуален , то только тогда открывать позицию. Как это можно реализовать? (возможно в S# есть такая функция или переменная) Заранее спасибо.

Появился сигнал - запомнили: var signalDateTime = DateTime.Now;

дальше смотрим разницу if (DateTime.Now - signalDateTime >= new TimeSpan(0, 5, 0)) { //входим }

Mihailo
Mihailo Autor

Появился сигнал - запомнили: var signalDateTime = DateTime.Now;

дальше смотрим разницу if (DateTime.Now - signalDateTime >= new TimeSpan(0, 5, 0)) { //входим }

А программа новых сигналов не наделает? Нужно что-бы было так: Появился сигнал и программа больше ни на что не смотрит пока 5 мин не пройдет и не будет ясности исполнять сигнал или нет.

dart
dart

Mihailo: А программа новых сигналов не наделает? Нужно что-бы было так: Появился сигнал и программа больше ни на что не смотрит пока 5 мин не пройдет и не будет ясности исполнять сигнал или нет. if (condition_to_buy == true && flag_sleep == 0) if ( flag_sleep == 1 && base.Trader.MarketTime >= signalDateTime.AddMinutes(5) && condition_to_buy == true) { Buy; flag_sleep = 0;
} Насчет новых сигналов, всё зависит от вашего кода, есть там сигналы или нет. По прошествии 5 минут, если условие на покупку уже не действительно, можно обнулить этот сигнал и ждать появления нового: if (base.Trader.MarketTime > signalDateTime.AddMinutes(5)) flag_sleep = 0;

Mihailo
Mihailo Autor

еще подскажите пожалуйста. приведите пожалуйста пример кода стратегии, где сигнал возникает при пробитии максимума за 5 периодов например. а то вожусь и ничего сделать не получается. заранее спасибо.