"Пауза" в AFL

Подробнее
9 года 1 мес. назад #363 от genius-1978
genius-1978 создал тему: "Пауза" в AFL
Доброго всем времени суток! Пытаюсь написать функцию паузы в скрипте AFL (встроенной не нашел)., делаю так:

function Pause(s){
time = Now(5);
timeadd = DateTimeAdd (time, s, in1Second);
while(time <= timeadd)
time = Now(5);}

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад #364 от AlexLan
AlexLan ответил в теме "Пауза" в AFL
Привет!
А какой смысл ты вкладываешь в паузу?
Посмотри стандартную команду
hold( EXPRESSION, periods )
может поможет.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад - 9 года 1 мес. назад #365 от genius-1978
genius-1978 ответил в теме "Пауза" в AFL
А смысл вот в чем например:
1. Задержка выполнения скрипта при запуске в несколько сек. (дабы избежать ложного срабатывания сигналов, пока котировки еще не загрузились)
2. Задержка выполнения скрипта после установки ордера через AmiSharp (во избежание повторной установки ордера)
и т.п.
Последнее редактирование: 9 года 1 мес. назад пользователем genius-1978.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад - 9 года 1 мес. назад #366 от genius-1978
genius-1978 ответил в теме "Пауза" в AFL
Разобрался с hold - точно не то. Возникла новая идея: вставить скрипт на JavaScript, опробовал - то не работает, то работает непонятно как-то(((, и как передать параметры функции AFL в функцию JavaScript ?
Последнее редактирование: 9 года 1 мес. назад пользователем genius-1978.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад #367 от admin
admin ответил в теме "Пауза" в AFL
Добрый день.

Функция sleep() а амиброкере точно никгда не появится. Более того, разработчик предпринял все возможное, чтобы не дать ее сэмулировать )

1. Задержка выполнения скрипта при запуске в несколько сек. (дабы избежать ложного срабатывания сигналов, пока котировки еще не загрузились)

можно проверит время последней свечи и текущее. сравнить их (учитывая таймфрейм). если расхождение большое - котировки неактуальны и не работать

2. Зачем нужна задержка после установки ордера через амишарп? sendsynctransaction возвратит вам (в частности) номер ордера- значит заявка выставилась. Запомните этот факт.в след итерации перед тем как что-то новое выставлять, проверьте, что уже что-то выставлялось
Спасибо сказали: AlexLan

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 1 мес. назад #368 от genius-1978
genius-1978 ответил в теме "Пауза" в AFL

admin пишет: Добрый день.

Функция sleep() а амиброкере точно никгда не появится. Более того, разработчик предпринял все возможное, чтобы не дать ее сэмулировать )

1. Задержка выполнения скрипта при запуске в несколько сек. (дабы избежать ложного срабатывания сигналов, пока котировки еще не загрузились)

можно проверит время последней свечи и текущее. сравнить их (учитывая таймфрейм). если расхождение большое - котировки неактуальны и не работать

2. Зачем нужна задержка после установки ордера через амишарп? sendsynctransaction возвратит вам (в частности) номер ордера- значит заявка выставилась. Запомните этот факт.в след итерации перед тем как что-то новое выставлять, проверьте, что уже что-то выставлялось

Спасибо, Михаил))

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
8 года 4 мес. назад #578 от admin
admin ответил в теме "Пауза" в AFL
В амиброкере 5.6 появилась функция

SYNTAX ThreadSleep( milliseconds )
RETURNS NOTHING
FUNCTION ThreadSleep( milliseconds ) suspends current thread for specified number of milliseconds (maximum is 100 ms). Works only from NON-UI threads. When called from UI thread the function does NOTHING and returns immediatelly. Please do NOT abuse this function. Using it may negatively impact performance. The function is provided for advanced users to implement inter-thread synchronization.



В режиме индикатора не работает, что логично.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Модераторы: admin