Самый простой путь - завести специальный настроечный параметр, который указывает множитель для пунктов.
Если же обязательно делать это автоматически, то потребуется создание небольшой БД, в которой будут перечислены названия символов и ожидаемая характеристика. Что-то вроде такого: EURUSD - 0.0001 (это четырехзнак; далее делим ожидаемое значение на реально полученное из Point(), так и получаем множитель). Минус подобного подхода - необходимость поддержки БД, т. к. сразу все символы не получится учесть.
Здравствуйте, не могу решить проблему, хочу установить круглые уровни например с заданной дистанцией, но так чтобы на любом графике дистанция
сама добавляла/убавляла 0, будь то 4х или 5 знак, с голдой проблемы например с двух и трёх знаком, помогите решить задачу плизз!!!
Для
Йены например с тремя знаками 1000 пипсов, а для голды с тремя знаками это уже 10000 пипсов
В одном пункте - один пункт. 1-н сленговый "пипс" равен 1-у пункту.

- 2019.09.23
- www.mql5.com
Здравствуйте, не могу решить проблему, хочу установить круглые уровни например с
заданной дистанцией, но так чтобы на любом графике дистанция сама добавляла/убавляла 0, будь то 4х или 5 знак, с голдой проблемы
например с двух и трёх знаком, помогите решить задачу плизз!!!
Для Йены например с тремя знаками 1000 пипсов, а для голды с тремя
знаками это уже 10000 пипсов
Задавайте параметр в процентах %
Задавайте параметр в процентах %
% от цены? тогда же они не круглые получатся.
Как вариант решения задачи для практической торговли - исходить из цены пункта на минлот, т.к. по сути нам пункт только затем и нужен чтобы определить возможные прибыль/убыток.
Тогда круглые урвони д.б. такие чтобы давали прибыль/убыток одного порядка, если отличие на порядок- применим множитель.
Я уже пробовал как то делать привязку к АТР, попробовал вроде норм. получается, просто результат не совсем надёжный, но в большинстве
случаев будет правильно определять.
Просто думал может есть точная формула определения сколько пипсов в пункте.
Еще бы определиться, что такое "пункт", а что такое "пипс", а то ведь каждый под этим понимает что-то свое.
Лично я - задаю проценты, как тут уже предлагалось.
И, как правило, привязываюсь к дневному ATR(25) - это достаточно надежный и медленно изменяющийся параметр.
Еще бы определиться, что такое "пункт", а что такое "пипс", а то ведь каждый под этим понимает что-то свое.
Лично я - задаю проценты, как тут уже предлагалось.
Объясните пожалуйста по подробнее, с примером если можно!
За ранее спасибо!
Объясните пожалуйста по подробнее, с примером если можно!
За ранее спасибо!
Ну что там сложного-то ?
Берем размер дневного ATR(25), на евродолларе сейчас это 0,0045, и все ценовые величины внутри эксперта задаем в процентах от этой величины.
Скажем, СЛ - 30% от дневного ATR, а внутри эксперта на евродолларе эта величина будет преобразована в 135 пятизначных пунктов.
Если символ другой, скажем, иенадоллар, то там эта же цифра будет преобразована в 150 трехзначных пунктов,
поскольку дневной ATR(25) на иенадолларе равен 0,5
Предполагаю, что Вы спрашивали это:
//перевод из старых пунктов в пункты текущего счёта int ConvertFromOldPoints(double ePoints, string eSymbol) { int eFactor; int eDigits=(int)SymbolInfoInteger(eSymbol,SYMBOL_DIGITS); //если это форекс и количество знаков после запятой нечётное, тогда домножаем на 10 #ifdef __MQL4__ eFactor=(MarketInfo(eSymbol,MODE_MARGINCALCMODE)==0 && MarketInfo(eSymbol,MODE_PROFITCALCMODE)==0 && eDigits%2==1)?10:1; #else eFactor=((SymbolInfoInteger(eSymbol,SYMBOL_TRADE_CALC_MODE)==SYMBOL_CALC_MODE_FOREX || SymbolInfoInteger(eSymbol,SYMBOL_TRADE_CALC_MODE)==SYMBOL_CALC_MODE_FOREX_NO_LEVERAGE) && eDigits%2==1)?10:1; #endif return((int)(ePoints*eFactor+0.5)); }
Во входных параметрах Вашей программы указывайте величины 4-х значной котировки. А эта функция будет переводить эти величины в
зависимости от точности котировки Вашего счёта:
input double Distance=20.5; ....... int CountDistance=ConvertFromOldPoints(Distance,Symbol()); //результат может быть 21 в 4-х знаке или 205 в 5-ти знаке

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте, не могу решить проблему, хочу установить круглые уровни например с заданной дистанцией, но так чтобы на любом графике дистанция сама добавляла/убавляла 0, будь то 4х или 5 знак, с голдой проблемы например с двух и трёх знаком, помогите решить задачу плизз!!!
Для Йены например с тремя знаками 1000 пипсов, а для голды с тремя знаками это уже 10000 пипсов