Profuter:
TargetLong = TargetPrice + 500; работает
TargetLong = TargetPrice + 492; - ошибка invalid price
TargetLong = TargetPrice + 508; - ошибка invalid price
TargetLong = NormalizeDouble(TargetPrice+492,_Digits); // ошибка
failed buy stop 1.00 RTS-3.16 at 72342 [Invalid price]
Инструмент фьюч на РТС
ЧТО я делаю не так?
Вы не учитываете шаг цены (TICKSISE), у фьюч РТС шаг цены = 10 пунктов.
Нужно нормализовать цену с учетом шага цены.
Попробуйте эту функцию, хотя я пользую попроще.
double ND(double var) { return(NormalizeDouble(var/ticksize,0)*ticksize); }
ФОРТС: В помощь начинающим
- www.mql5.com
Установка отложенного ордера командой OrderSend(). - Страница 2 - Категория: биржевой трейдинг
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
input double StopLoss = 500; // Initial stop-loss
}
void SetupOrders()
{
Trade.SetTypeFilling(ORDER_FILLING_RETURN);
Trade.BuyStop (volume(), TargetLong, _Symbol, 0, 0, ORDER_TIME_DAY);
Trade.SellStop(volume(), TargetShort, _Symbol, 0, 0, ORDER_TIME_DAY);
}
Это не весь код а его часть
в таком виде ордера открываются
если стоп лос задать 508 или 492 - ордера дают ошибку
TargetLong = TargetPrice + 500; работает
TargetLong = TargetPrice + 492; - ошибка invalid price
TargetLong = TargetPrice + 508; - ошибка invalid price
TargetLong = NormalizeDouble(TargetPrice+492,_Digits); // ошибка
failed buy stop 1.00 RTS-3.16 at 72342 [Invalid price]
Инструмент фьюч на РТС
ЧТО я делаю не так?