Ошибки, баги, вопросы - страница 2107
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
согласен. надо менять.
По этому правилу ветка есть.
По этому правилу ветка есть.
да я читал отрывками про функцию доступа к истории только при изменении окружения, и встречал ваши ссылки в других темах.
как раз в точку, ошибка появилась после прочтения вашего вариант.
Это неправильная логика. После неудачного и удачного OrderSend должно быть заново полностью считано текущее торговое окружение. Это правило должно действовать всегда.
Насчет кодов возврата. В своих советниках никак не анализирую их. По-моему, торговая логика не должна от них зависеть.
Теоретически, тайм-аут может случиться во время потери связи с сервером брокера.
В этом случае лучше вообще ничего не делать до ее восстановления и до полной синхронизации торгового окружения с сервером.
Как не попасть в такую ситуацию, не анализируя код возврата?
Ошибка компиляции.
Файл Test.mqh
Основной код
Получается, что повторный инклуд игнорируется. Но в данной сиуации это неправильно!
Нужна такая конструкция для следующего. Советник содержится в mqh-файле. Но мне нужно иметь возможно его запустить и на реале (первый инклуд) и в своем тестере (второй инклуд).
Теоретически, тайм-аут может случиться во время потери связи с сервером брокера.
В этом случае лучше вообще ничего не делать до ее восстановления и до полной синхронизации торгового окружения с сервером.
Как не попасть в такую ситуацию, не анализируя код возврата?
Отправили OrderSend и не дождались ответа от сервера, получив таймаут в логе и _LastError. При этом игнорим _LastError, а получаем только false.
После, если коннект имеется, собираем заново торговое окружение и принимаем решение.
Выделенное, конечно, желательно всегда проверить перед сбором инфы.
Отправили OrderSend и не дождались ответа от сервера, получив таймаут в логе и _LastError. При этом игнорим _LastError, а получаем только false.
После, если коннект имеется, собираем заново торговое окружение и принимаем решение.
Выделенное, конечно, желательно всегда проверить перед сбором инфы.
Это получится, если работаем в OnTick. А если нет?
Как проверить коннект?
Это получится, если работаем в OnTick. А если нет?
Как проверить коннект?
Исторически сложилось, что не доверяю ему. Надо будет потестировать в 5-ке..
проблема таймаута не в том, что нет коннекта, а в том, что получен таймаут запроса.
с одной стороны вижу так: есть сигнал на открытие сделки, делаем запрос, получили таймаут - но сделка открыта.
хотя советник получил ошибку.
проверяем торговое окружение - видим открытую сделку.
но как понять что эта сделка была открыта именно по этому сигналу? если сигналов было например 10?
т.е. проверять не появилась ли новая сделка в истории(в терминале). и присваивать этой сделке статус сигнала.
пока не могу уловить мысль
@A100
какой выход видите вы?
Получается, что повторный инклуд игнорируется. Но в данной сиуации это неправильно!
Нужна такая конструкция для следующего. Советник содержится в mqh-файле. Но мне нужно иметь возможно его запустить и на реале (первый инклуд) и в своем тестере (второй инклуд).
Все верно и он правильно игнорируется.
Сишные хаки не проходят.