стандартная библиотека обновляется сама при обновлении терминала?
Стандартная библиотека работает на ура. Руками лезть в СБ запрещено.
Все методы закрытая позиций работают.
Вы лучше скажите, что именно Вы хотите запрограммировать? Какое действие?
я хочу чтобы в случае фейла при закрытии ордера функция возвращала false и делала retry
выше код который я скопировал из Trade.mqh и он работает неправильно, выше описал как именно
то есть если приглядеться то можно по коду понять где ошибки,
конкретно сейчас тестирую - код не работает
выше код который я скопировал из Trade.mqh и он работает неправильно, выше описал как именно
то есть если приглядеться то можно по коду понять где ошибки,
конкретно сейчас тестирую - код не работает
Александр Кувакин #:
я хочу чтобы в случае фейла при закрытии ордера функция возвращала false и делала retry
выше код который я скопировал из Trade.mqh и он работает неправильно, выше описал как именно
то есть если приглядеться то можно по коду понять где ошибки,
конкретно сейчас тестирую - код не работает
Совет: не нужно руками лезть в СБ. Работайте с методами и анализируйте ошибки возврата. До сих пор не ясно - что именно Вы пытаетесь сделать? Где код перебора позиций в цикле и попыток закрытия?я хочу чтобы в случае фейла при закрытии ордера функция возвращала false и делала retry
выше код который я скопировал из Trade.mqh и он работает неправильно, выше описал как именно
то есть если приглядеться то можно по коду понять где ошибки,
конкретно сейчас тестирую - код не работает
Добавлено: не употребляйте сленг
При обновлении терминала СБ тоже обновляется и все сделанные там изменения теряются. Поэтому бесплатный вам совет, не пользуйтесь ей. Лучше самые нужные методы скопировать оттуда в собственную библиотеку, там сделать собственные изменения и ей пользоваться. Вы никогда не услышите согласия, что в СБ есть ошибки.
Vladimir Karputov #:
Совет: не нужно руками лезть в СБ. Работайте с методами и анализируйте ошибки возврата. До сих пор не ясно - что именно Вы пытаетесь сделать? Где код перебора позиций в цикле и попыток закрытия?
Совет: не нужно руками лезть в СБ. Работайте с методами и анализируйте ошибки возврата. До сих пор не ясно - что именно Вы пытаетесь сделать? Где код перебора позиций в цикле и попыток закрытия?
Добавлено: не употребляйте сленг
я руками не лезу и не хочу туда лезть, код полностью скопировал из СБ без изменений, дебаг показал ошибку в данной функции, подробности я уже описал
код небольшой и чтобы понять где ошибка достаточно проанализировать условие выхода из цикла while(partial_close); в случае если OrderSend вернёт ошибку
Александр Кувакин #:
Я так понял кода от Вас не дождаться.,, Жаль.
я руками не лезу и не хочу туда лезть, код полностью скопировал из СБ без изменений, дебаг показал ошибку в данной функции, подробности я уже описал
код небольшой и чтобы понять где ошибка достаточно проанализировать условие выхода из цикла while(partial_close); в случае если OrderSend вернёт ошибку
Vladimir Karputov #:
Совет: не нужно руками лезть в СБ. Работайте с методами и анализируйте ошибки возврата. До сих пор не ясно - что именно Вы пытаетесь сделать? Где код перебора позиций в цикле и попыток закрытия?
Совет: не нужно руками лезть в СБ. Работайте с методами и анализируйте ошибки возврата. До сих пор не ясно - что именно Вы пытаетесь сделать? Где код перебора позиций в цикле и попыток закрытия?
Добавлено: не употребляйте сленг
Пытаюсь закрыть позицию
if (myPosition.Select(mySymbol.Name())) { if (trailIsVirtual && virtualStopValue > 0) { if(myPosition.PositionType() == POSITION_TYPE_BUY) { if (mySymbol.Last() <= virtualStopValue) { if(myTrade.PositionClose(mySymbol.Name()) { printf("Long position closed by virtual stop loss - %f", virtualStopValue); virtualStopValue = 0; } } } if (myPosition.PositionType() == POSITION_TYPE_SELL) { if (mySymbol.Last() >= virtualStopValue) { if(myTrade.PositionClose(mySymbol.Name()) { printf("Short position closed by virtual stop loss - %f", virtualStopValue); virtualStopValue = 0; } } } } }
myPosition, myTrade, mySymbol - сущности стандартной библиотеки
CSymbolInfo* mySymbol; CTrade* myTrade; CPositionInfo myPosition;ложно срабатывает условие
if(myTrade.PositionClose(mySymbol.Name()) { printf("Long position closed by virtual stop loss - %f", virtualStopValue); virtualStopValue = 0; }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
в строчке если закрывается с ошибкой, делается --retry_count и continue, но цикл заканчивается поскольку выше уже выставлено partial_close=false
то есть ордер зафейлился, но никаких retry не происходит, возвращает true
выглядит так что partial_close должен выставляться в случае успешного выполнения ордера, и начальное значение должно true а не false