Великий и ужасный МТ4 навсегда (или как грамотно выработать стратегию перехода) - страница 14
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да, и я о том же. Получается, что скрипт успевает закрыть одну из позиций, когда их на самом деле две, но PositionsTotal() возвращает 1. А потом, после закрытия, выполняется условие окончания цикла, т. е. PositionsTotal() возвращает 2.
Можно вставить распечатки, чтобы полностью увидеть, что происходит.
Можно вставить распечатки, чтобы полностью увидеть, что происходит.
Да, чтобы подтвердить правильность рассуждений:
Результат:
На самом же деле позиция осталась одна висеть.
P. S. Подправил пост, т. к. из-за копипаста не то вставил в код.На самом же деле позиция осталась одна висеть.
В логе, скорее всего, время записи последней торговой операции следует после времени записи о закрытии скрипта.
Важно еще распечатывать OrdersTotal.В логе, скорее всего, время записи последней торговой операции следует после времени записи о закрытии скрипта.
Вы про эти две записи?
Здесь, думаю, все правильно в плане очередности. Позиций на самом деле две, но PositionsTotal() еще не получила обновление. Поэтому возвращает 1 и позиция закрывается. А после выполнения торговой операции происходит ее обновление на состояние, которое соответствует тому состоянию, которое было до выполнения торговой операции. Вот и получаем 2.
Проблема обсуждается давно. Сталкивался почти каждый. Стабильно воспроизводящий ее код - впервые.
Решение найдено.
И какое решение?
А в чем сложность была найти стабиль воспроизводящий код? Одно действие - открытие или закрытие, и в следующее с принятием решения на основании количеств позиций в рынке или в истории.Вы про эти две записи?
Нет, последняя запись торговой активности во втором логе.
Важно еще распечатывать OrdersTotal.
Добавил принтов. Теперь остается две позиции, как и ожидалось:
Результат:
И какое решение?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Великий и ужасный МТ4 навсегда (или как грамотно выработать стратегию перехода)
fxsaber, 2021.05.05 01:18
удалось написать IsSynchronized(). Код тяжеловат. Пока не решил, в каком виде выкладывать.
Сложности не было, написал сходу.
Вот так вообще без остановки открывает позиции
Вот так вообще без остановки открывает позиции
Ну а кто будет total обновлять? ))