KimIV, это Вы сейчас себе посоветовали? :-) Я только учусь. Логикой я все понимаю, но я полный профан в реализации своих задумок в программном коде.
Если я Вас правильно понял, Вы советуете использовать Предопределенную переменную Point. Но можно ли ее использовать саму по себе? Например, так
double Point; for(int i=0; i<limit; i++) MainBuffer[i]=(iMA(NULL,0,VolatilityPeriod,0,MODE_SMA,PRICE_HIGH,i)-iMA(NULL,0,VolatilityPeriod,0,MODE_SMA,PRICE_LOW,i))/Point;
Думаю, вряд ли. Тогда видимо нужно определить ее значение для текущего инструмента - с помощью той же функции MarketInfo?
double Point=MarketInfo(NULL,MODE_DIGITS); for(int i=0; i<limit; i++) MainBuffer[i]=(iMA(NULL,0,VolatilityPeriod,0,MODE_SMA,PRICE_HIGH,i)-iMA(NULL,0,VolatilityPeriod,0,MODE_SMA,PRICE_LOW,i))/Point;
Или как? Сейчас попробовал оба варианта - не работают.
Не могли бы Вы как-то в виде строки кода это все изобразить, что Вы имеете ввиду?
Roger
Так не интересно Хочется, чтобы позабористей и в нужный момент заглючило. :D
:D Ну, да может и переборщил, но как извилина загнулась, так и придумал )))
Но тот же вопрос, что и к KimIV - как это все реализовать? Куда строку вставить то понятно, но на что делить (MainBuffer из предыдущего моего коммента)? На икс?
KimIV, т.е. ошибка была в том, что я в функции ставил "NULL" вместо "Simbol"? Но "NULL" означает текущий инструмент (на график которого ставиться индикатор). В моем первоначальном коде инструмент то как раз правильно определялся, только вот в пункты не переводился мой индикатор.
Сейчас все сделал, как Вы посоветовали - сразу разделил на функцию, без ввода дополнительных переменных - РАБОТАЕТ!!!! Огромное спасибо Вам!
Кстати, с "NULL" тоже работает ;-)
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Уважаемые знатоки MQL4, помогите, пожалуйста дилетанту. Не могу возвести в степень число. Использую функцию MathPow. Вот часть кода:
Смысл в том, что я хочу перевести некий расчетный диапазон цен в пункты. Для этого я хотел бы создать универсальный индикатор, который бы работал на всех инструментах с любым количеством знаков после запятой.
Мысль была такая: вернуть значение digits (количество знаков после запятой) текущего инструмента (на график которого устанавливался бы этот индикатор) и возвести десятку в его степень, получив некий множитель (в приложенном коде "MARK"), с помощью которого переводить диапазон цен в количество пунктов. Например, если EURUSD котируется с точностью 4 знака после запятой, то мой множитель MARK будет равен: 10 в сепени 4 = 1000.
Заранее благодарен.