![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Будильник
Как написать будильник, чтобы он срабатывал только 1 раз, а не снова и снова?
Спасибо за помощь.
Jo
Многие функции находятся здесь https://www.mql5.com/en/forum/174329
А поток alert_once здесь https://www.mql5.com/en/forum/172885
Пожалуйста, проверьте это утверждение - Нужно подтверждение Пожалуйста!
Говорит ли это о том, что Lowest моего индикатора (4 бара назад) должен быть меньше или равен 0? Если нет, то как это должно быть указано?
Говорит ли это о том, что Lowest моего индикатора (4 бара назад) должен быть меньше или равен 0? Если нет, то как это должно быть указано?
это не правильно, вы можете посмотреть пост 516 на странице 52.
способ, которым вы рассчитываете наименьшее значение индикатора, не является правильным
это не правильно, вы можете посмотреть пост 516 на странице 52, способ вычисления минимума индикатора не верен
int currentBar=0;
int endBar=4;
for(currentBar=0;currentBar<endBar; currentBar++)
lowestFG=MathMin(lowestFG, iForex_Grail(Symbol(),0,17,PRICE_CLOSE,currentBar)); //0 = anytime, 17 = maperiod of indicator.
if lowestFG <= 0 then go to next statementКогда я вставляю это в программу советника, он говорит, что iForex_Grail - функция не определена(?). Forex_Grail - это название моего пользовательского индикатора.
Может быть, это должно быть указано: lowestFG=MathMin(lowestFG, iCustom(NULL,0, "Forex-Grail Trade Indicator",period,PRICE_CLOSE,currentBar)); ??
Нашел свою ошибку!
Дэйв
Слишком много десятичных знаков!!! - Пожалуйста, посоветуйте.
Как мне ограничить количество знаков после запятой, отображаемых на графике в комментариях. Сейчас он показывает результат переменной как .00347892, а я хочу, чтобы он показывал только .0035 (с округлением до следующего числа)?
int currentBar=0;
int lastBar=4;
for(currentBar=0;currentBar<lastBar; currentBar++)
lowestFG=MathMin(lowestFG, iCustom(NULL,0,"Forex-Grail Trade Indicator",period,PRICE_CLOSE,currentBar));
Print ("Low =",lowestFG);Он считывает данные из буфера ' 0 ' индикатора[0.00 - положительный](работает ОК!). Как мне заставить его читать из буфера' 1' индикатора [от 0.00 до отрицательного]?
Определение утверждения: double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift) - Нигде не запрашивается номер буфера??????????????. ПОЖАЛУЙСТА, ПОМОГИТЕ!!!! Похоже, что он заблокирован в буфере ' 0 '.
Пожалуйста, просветите меня!!!
Dave
iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)
'mode' - это ваш буфер
iCustom( ... ...параметры индикатора здесь ... , 0, currentBar) - будет считываться из 0 буфера
iCustom( ... ...параметры индикатора здесь ... , 1, currentBar) - будет считываться из 1-го буфера
немного информации здесь http://docs.mql4.com/indicators/iCustom
lowestFG=9999 должно быть нормально, но для уверенности можно написать
lowestFG = iCustom(NULL,0, "Forex-Grail Trade Indicator",period,PRICE_CLOSE,1,currentBar) вместо
Функция DoubleToStr(http://docs.mql4.com/convert/DoubleToStr) ограничивает количество знаков после запятой, в основном используется для получения красивого вида # из функции Print или Alert. Функция не округляет, а просто отсекает ненужные десятичные знаки.
Если вы используете ваше двойное # для сравнения с другим #, у вас все равно останется куча # после запятой.
Используйте NormalizeDouble(http://docs.mql4.com/convert/NormalizeDouble) для постоянного ограничения количества знаков после запятой.
согласно вашему iCustom ваш индикатор имеет 2 параметра период и цена(PRICE_CLOSE), проверьте, правильно ли это.
Это читает из буфера ' 0 ' индикатора[0.00 к положительному](Работает OK!).
Это совпадение, что это работает нормально, Если ваш индикатор FG имеет 2 параметра (период и цена), вам нужно добавить еще 1 параметр в iCustom, как в предыдущем сообщении, если ваш индикатор FG имеет 1 параметр (период), то замените PRICE_CLOSE на буфер #(0 или 1 или 2 или ...).