Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Можете разъяснить плиз?
Можете разъяснить плиз?
Да я понимаю....
bar_d=HL[bar]; bar_d=bar_d/10;
Можете разъяснить плиз?
Результат деления на целое число - целое, результат деления на дробное - дробное. Независимо от типа делимого (числителя)
Тока есть вероятность что однажды разработчики могут тихо почикать эту фичу в сторону даблов или интов, на их выбор и без объявления, чисто "в рамках инвентаризации инструментария приведения типов". Лучше округлять явно
Результат деления на целое число - целое, результат деления на дробное - дробное. Независимо от типа делимого (числителя)
Тока есть вероятность что однажды разработчики могут тихо почикать эту фичу в сторону даблов или интов, на их выбор и без объявления, чисто "в рамках инвентаризации инструментария приведения типов". Лучше округлять явно
Просто полтергейст..-делаю тоже самое отдельно-всё норм
Люди добрые, подскажите пожалуйста как вставить функцию округления? MQL5
{
if(!position.SelectByIndex(i))continue;
if(position.Symbol()!=_Symbol)continue;
double lot=NormalizeVolume(_Symbol,position.Volume()/2.0); /// КАК ВСТАВИТЬ ФУНКЦИЮ ОКРУГЛЕНИЯ?
if(position.PositionType()==POSITION_TYPE_BUY)trade.Sell(lot);
if(position.PositionType()==POSITION_TYPE_SELL) trade.Buy(lot);
break;
}
Если при закрытии половины открытая поза не делиться на 2 (например 0.75 , 1.25, 5.25 ) советник ругается (шаг объема 0.25)
Пример при попытки закрытия половины от 0.75 lot CTrade::OrderSend: market buy 0.38 Ger30 [invalid volume]
Люди добрые, подскажите пожалуйста как вставить функцию округления? MQL5
{
if(!position.SelectByIndex(i))continue;
if(position.Symbol()!=_Symbol)continue;
double lot=NormalizeVolume(_Symbol,position.Volume()/2.0); /// КАК ВСТАВИТЬ ФУНКЦИЮ ОКРУГЛЕНИЯ?
if(position.PositionType()==POSITION_TYPE_BUY)trade.Sell(lot);
if(position.PositionType()==POSITION_TYPE_SELL) trade.Buy(lot);
break;
}
Если при закрытии половины открытая поза не делиться на 2 (например 0.75 , 1.25, 5.25 ) советник ругается (шаг объема 0.25)
Пример при попытки закрытия половины от 0.75 lot CTrade::OrderSend: market buy 0.38 Ger30 [invalid volume]
Найдите статью "Какие проверки должен пройти советник..." Там есть пример функции.
Я совсем не программист. Максимум могу цифры в коде подправить. Посмотрел статью, ничего похожего не увидел.
Если не сложно подскажите что куда надо вписать. Я так понимаю надо всего одну строчку подправить.
Я совсем не программист. Максимум могу цифры в коде подправить. Посмотрел статью, ничего похожего не увидел.
Если не сложно подскажите что куда надо вписать. Я так понимаю надо всего одну строчку подправить.
Вот более точная ссылка. Там есть пример функции. Конкретно с этой функцией я не разбирался, не знаю как из неё получить нужное значение. Там по ссылке можно получить сообщение о корректности объёма и сообщение true или false. Моя функция возвращает размер лота, но с шагом, типа 0.25 я её не проверял, в связи с отсутствием необходимости.
По идее в функцию надо передать значение лота, а функция вернёт значение кратное шагу или минимальное значение лота. Или максимальное если переданное значение будет больше максимально допустимого.