Страница 1 из 1

Задержка при исполнении

Добавлено: 30 окт 2022, 19:25
e-formula
Здравствуйте! Столкнулся с такой проблемой. Есть индикатор, предположим FractalX от Евгения, который строит горизонтальные уровни.
Есть робот, который входит на лонг или шорт при формировании такого уровня.
При изменении уровня, робот проходит по коду быстрее, чем поступает сигнал от индикатора, и по факту заходит только на следующей свече.
Есть ли возможность вначале кода робота прописать задержку? Предположим 1 секунду
Заранее благодарен за помощь!

Насколько корректна запись
for (int i=1 ; i<100 ; i++) ;
где число уже подбираем опытным путём. Или есть что то лучше?

Re: Задержка при исполнении

Добавлено: 01 ноя 2022, 12:23
ensh
попробуйте написать System.Threading.Thread.Sleep(время в мс) или Tread.Sleep( как получится или Task.Delay(
Устраивать задержку с помощью бесконечного цикла нецелесообразн будете тратить выч ресурсурсы, да и при современном уровне оптимизации и скорости процессора, для более менее заметной задержки нужно где то около 1 млрд циклов.

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

Re: Задержка при исполнении

Добавлено: 03 ноя 2022, 17:07
BugsDigger
Стандартно робот всегда вызывается только в момент закрытия свечи (при "длинных" свечах это очень заметно) после расчета всех индикаторов.

Вроде как есть опция нескольких срабатываний на свече, но я лично не пробовал.