Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ему не нравится динамический размер лота? Он работает с торговлей ct, когда я использую фиксированный размер лота.
CTrade - это обертка для OrderSend().
Вы написали, что он не работает с лотом 0.07 или даже 1. Как вы это определяете? Lot=0.07 ?
CTrade - это обертка для OrderSend().
Вы написали, что он не работает с лотом 0.07 или даже 1. Как вы это определяете? Лот=0.07?
Это десятичные числа определенной сложности, я попробую normalize double.
Функция Normalize double предназначена для исправления сложных десятичных дробей, я попробую ее на моем динамическом лоте.
Исправлено.
Похоже, это был один из моих масштабных коэффициентов из некоторых уравнений, которые лежат за пределами CT Buy/Sell. Это не было проблемой, с которой я сталкивался в mql4, поэтому мне потребовалось время, чтобы найти ее, мне придется следить за этим, если mql4 обновится снова.
Если у кого-то еще возникла эта проблема, используйте 2 для цифровой части функции NormalizeDouble().
007, говорите?
Возможно, вам следует спросить мистера Бонда ;-)
Похоже, я столкнулся с той же проблемой. Я подтвердил, что размер лота соответствует требованиям SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_MAX и SYMBOL_VOLUME_STEP.
Например, я получаю следующее:
2014.04.07 14:49:35 2014.04.04 16:00:00 CTrade::OrderSend: instant sell 0.53 EURUSD at 1.36934 sl: 1.37434 tp: 1.35934 [invalid volume]
Во время бэктестинга советника с этим символом и этими спецификациями:
Вот код, который я использую для отправки ордера:
EDIT:
Конечно, я могу вручную размещать сделки с таким же размером лота.
Похоже, я столкнулся с той же проблемой. Я подтвердил, что размер лота соответствует требованиям SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_MAX и SYMBOL_VOLUME_STEP.
Например, я получаю следующее:
2014.04.07 14:49:35 2014.04.04 16:00:00 CTrade::OrderSend: instant sell 0.53 EURUSD at 1.36934 sl: 1.37434 tp: 1.35934 [invalid volume]
Во время бэктестинга советника с этим символом и этими спецификациями:
Вот код, который я использую для отправки ордера:
EDIT:
Конечно, я могу вручную размещать сделки с таким же размером лота.
Эта строка не имеет эффекта:
NormalizeDouble(trade_size,DecimalPoints);
Вы должны повлиять на результат в переменную, см. документацию NormalizeDouble.
trade_size=NormalizeDouble(trade_size,DecimalPoints);