Есть самописный почти готовый советник.
Для торговых операций использую стандартную библиотеку include <Trade/Trade.mqh>
Проблема в том, что при модификации ордера с помощью функции PositionModify() на открытом ордере не меняется стоплосс, хотя иногда этот код все-таки срабатывает по непонятным мне причинам.
Когда есть попытка модификации стоплосса в ордере,в журнале вот что:
2017.08.24 11:10:54.159 2017.08.01 00:28:00 failed modify #2 sell 0.40 EURUSD_i sl: 1.18432, tp: 0.00000 -> sl: 1.18401, tp: 0.00000 [Invalid stops]
2017.08.24 11:10:54.132 2017.08.01 00:27:59 CTrade::OrderSend: modify position #2 EURUSD_i (sl: 1.18401, tp: 0.00000) [invalid stops]
Первое, что нужно делать - это нормализовать Stop loss и Take profit методом CSymbolInfo::NormalizePrice перед вызовом PositionModify().
Первое, что нужно делать - это нормализовать Stop loss и Take profit методом CSymbolInfo::NormalizePrice перед вызовом PositionModify().
сделал, в журнале все равно написано
2017.08.26 00:54:54.034 2017.08.01 00:28:20 failed modify #2 sell 0.40 EURUSD_i sl: 1.18432, tp: 0.00000 -> sl: 1.18401, tp: 0.00000 [Invalid stops]
при вызове функции появляется сообщение " 'NormalizePrice' - access to non-static member or function"
в чем может быть дело?
А Вы включили в свой код торговый класс CSymbolInfo?
Заголовок
#include <Trade\SymbolInfo.mqh>
уже сделал. посмотрите пожалуйста сообщение выше, исправил текст
уже сделал. посмотрите пожалуйста сообщение выше, исправил текст
ПРи ошибке распечатайте текущие цены Bid и Ask.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть самописный почти готовый советник.
Для торговых операций использую стандартную библиотеку include <Trade/Trade.mqh>
Проблема в том, что при модификации ордера с помощью функции PositionModify() на открытом ордере не меняется стоплосс, хотя иногда этот код все-таки срабатывает по непонятным мне причинам.
Когда есть попытка модификации стоплосса в ордере,в журнале вот что:
2017.08.24 11:10:54.159 2017.08.01 00:28:00 failed modify #2 sell 0.40 EURUSD_i sl: 1.18432, tp: 0.00000 -> sl: 1.18401, tp: 0.00000 [Invalid stops]
2017.08.24 11:10:54.132 2017.08.01 00:27:59 CTrade::OrderSend: modify position #2 EURUSD_i (sl: 1.18401, tp: 0.00000) [invalid stops]