Ошибки, баги, вопросы - страница 934 1...927928929930931932933934935936937938939940941...3776 Новый комментарий Konstantin Chernov 2013.02.27 16:28 #9331 CTrade::OrderSend: buy stop 0.94 USDCHF at 0.93366 sl: 0.93016 tp: 0.94816 [invalid volume]Почему при выставлении объема 0,94 лота по USDCHF выдало ошибку неправильный объем?Это некорректный объем или денег нехватило на выставлении такого объема? Помогите по выставлению SL Проблема с МТ5 Любые вопросы новичков по Renat Fatkhullin 2013.02.27 16:30 #9332 Konstantin83: CTrade::OrderSend: buy stop 0.94 USDCHF at 0.93366 sl: 0.93016 tp: 0.94816 [invalid volume]Почему при выставлении объема 0,94 лота по USDCHF выдало ошибку неправильный объем?Это некорректный объем или денег нехватило на выставлении такого объема?А какой шаг объема в настройках инструмента? 0.10 или 0.01 лота? Если 0.10, то все правильно - неверный объем Konstantin Chernov 2013.02.27 16:38 #9333 Renat: А какой шаг объема в настройках инструмента? 0.10 или 0.01 лота? Если 0.10, то все правильно - неверный объемдемо сервер от метаквотов, у Вас 0,01 шаг.лот проходит проверкуCSymbolInfo Exp_Symbol_Info; // symbol info object...double CBaseTrade::GetCorrectLot(double pLot) { double dLot = pLot; double dLotMin = Exp_Symbol_Info.LotsMin(); double dLotMax = Exp_Symbol_Info.LotsMax(); double dLotStep = Exp_Symbol_Info.LotsStep(); dLot=dLotStep*NormalizeDouble(pLot/dLotStep, 0); if(dLot < dLotMin) dLot=dLotMin; if(dLot > dLotMax && dLotMax !=0) dLot=dLotMax; return(dLot); } Ошибка 4106 или 2015.06.15 Вопросы от начинающих MQL5 Почему для некоторых криптовалют Renat Fatkhullin 2013.02.27 16:54 #9334 Распечатайте значение объема до 4-8 знака, пожалуйста.Явная ошибка отсутствия округления до второго знака вот тут:dLot=dLotStep*NormalizeDouble(pLot/dLotStep, 0); Konstantin Chernov 2013.02.27 17:03 #9335 Renat: Распечатайте значение объема до 4-8 знака, пожалуйста.Явная ошибка отсутствия округления до второго знака вот тут:да но почему там не округления?Допустим шаг лота 0,01Входной лот 2,111результат = 0,01 * NormalizeDouble(2.111/0.01)=0.01*NormalizeDouble(211.1)=0.01*211=2.11или есть брокеры где шаг лота 0,25 там нельзя просто взять округлить результат до 2-го знака.Допустим шаг лота 0,25Входной лот 2,3результат = 0,25 * NormalizeDouble(2.3/0.25)=0.25*NormalizeDouble(9.2)=0.25*9=2.25В тестере проблем нет. Просто сегодня на демо пара раз вылезла эта ошибка.Шаг объема из класа CSymbolInfo нормализованный? Как правильно оптмизировать советник Обновление платформы MetaTrader 4 Проблема с валидацией советника alexvor 2013.02.27 17:35 #9336 Подскажите пжл ! Как перекрасить фон валютных пар в обзоре рынка или вообще убрать цвет Заранее спс ! Yedelkin 2013.02.27 17:52 #9337 Konstantin83: результат = 0,01 * NormalizeDouble(2.111/0.01)=0.01*NormalizeDouble(211.1)=0.01*211=2.11 Произведение двух double-чисел есть число ненормализованное. 0.01*NormalizeDouble(211.1)=0.01*211.***********=2.11************* Renat Fatkhullin 2013.02.27 17:56 #9338 Konstantin83: да но почему там не округления?Потому что результат мат операций самых-самых нормализованных значений не есть нормализованное число.Поэтому это и есть место ошибки. Документация по MQL5: Преобразование данных / NormalizeDouble www.mql5.com Преобразование данных / NormalizeDouble - Документация по MQL5 Konstantin Chernov 2013.02.27 18:00 #9339 Yedelkin: Произведение двух double-чисел есть число ненормализованное. 0.01*NormalizeDouble(211.1)=0.01*211.***********=2.11*************Renat: Потому что результат мат операций самых-самых нормализованных значений не есть нормализованное число.Поэтому это и есть место ошибки.Спасибо. Dmitriy Parfenovich 2013.02.28 18:41 #9340 Из справки:Справочник MQL5 / Стандартная библиотека / Классы для создания панелей и диалогов / CWnd / StateFlagsSet StateFlagsSet Устанавливает флаги свойств элемента управления. ...Каких свойств? Документация по MQL5: Стандартная библиотека www.mql5.com Стандартная библиотека - Документация по MQL5 1...927928929930931932933934935936937938939940941...3776 Новый комментарий
Почему при выставлении объема 0,94 лота по USDCHF выдало ошибку неправильный объем?
Это некорректный объем или денег нехватило на выставлении такого объема?
Почему при выставлении объема 0,94 лота по USDCHF выдало ошибку неправильный объем?
Это некорректный объем или денег нехватило на выставлении такого объема?
А какой шаг объема в настройках инструмента? 0.10 или 0.01 лота? Если 0.10, то все правильно - неверный объем
демо сервер от метаквотов, у Вас 0,01 шаг.
лот проходит проверку
CSymbolInfo Exp_Symbol_Info; // symbol info object
...
double CBaseTrade::GetCorrectLot(double pLot)
{
double dLot = pLot;
double dLotMin = Exp_Symbol_Info.LotsMin();
double dLotMax = Exp_Symbol_Info.LotsMax();
double dLotStep = Exp_Symbol_Info.LotsStep();
dLot=dLotStep*NormalizeDouble(pLot/dLotStep, 0);
if(dLot < dLotMin) dLot=dLotMin;
if(dLot > dLotMax && dLotMax !=0) dLot=dLotMax;
return(dLot);
}
Распечатайте значение объема до 4-8 знака, пожалуйста.
Явная ошибка отсутствия округления до второго знака вот тут:
Распечатайте значение объема до 4-8 знака, пожалуйста.
Явная ошибка отсутствия округления до второго знака вот тут:
да но почему там не округления?
Допустим шаг лота 0,01
Входной лот 2,111
результат = 0,01 * NormalizeDouble(2.111/0.01)=0.01*NormalizeDouble(211.1)=0.01*211=2.11
или есть брокеры где шаг лота 0,25 там нельзя просто взять округлить результат до 2-го знака.
Допустим шаг лота 0,25
Входной лот 2,3
результат = 0,25 * NormalizeDouble(2.3/0.25)=0.25*NormalizeDouble(9.2)=0.25*9=2.25
В тестере проблем нет. Просто сегодня на демо пара раз вылезла эта ошибка.
Шаг объема из класа CSymbolInfo нормализованный?
Подскажите пжл !
Как перекрасить фон валютных пар в обзоре рынка
или вообще убрать цвет
Заранее спс !
да но почему там не округления?
Потому что результат мат операций самых-самых нормализованных значений не есть нормализованное число.
Поэтому это и есть место ошибки.
Произведение двух double-чисел есть число ненормализованное. 0.01*NormalizeDouble(211.1)=0.01*211.***********=2.11*************
Потому что результат мат операций самых-самых нормализованных значений не есть нормализованное число.
Поэтому это и есть место ошибки.
Из справки:
Справочник MQL5 / Стандартная библиотека / Классы для создания панелей и диалогов / CWnd / StateFlagsSet
StateFlagsSet
Устанавливает флаги свойств элемента управления. ...
Каких свойств?