Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2509 1...250225032504250525062507250825092510251125122513251425152516...2747 Новый комментарий Maxim Kuznetsov 2024.12.29 16:38 #25081 извините что вмешиваюсь, но ATR и средняя величина high-low это РАЗНЫЕ вещи Alexey Viktorov 2024.12.29 16:55 #25082 Vitaly Muzichenko #: Согласен, облажался :) Да ничего не облажался. Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам Maxim121285, 2024.12.29 14:44 Так не работает выдает не то что надо. void OnStart() { int myATR = iATR(NULL,PERIOD_D1,5); Print(myATR); } //Результат: //2024.12.29 16:43:08.176 a (EURUSD,H1) 10 В mql4 такого результата не может быть. Ошибки, баги, вопросы Новая версия платформы MetaTrader Новая версия платформы MetaTrader Maksim Boretskii 2024.12.29 17:21 #25083 Maxim Kuznetsov #: извините что вмешиваюсь, но ATR и средняя величина high-low это РАЗНЫЕ вещи Это легко проверить! ) //+------------------------------------------------------------------+ //| iATR.mq5 | //| Copyright 2024, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2024, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { myATR = iATR(NULL, PERIOD_CURRENT, 5); //--- return(INIT_SUCCEEDED); } //--- int myATR; double buf[1]; //--- void OnTick() { CopyBuffer(myATR, 0, 1, 1, buf); double ATR = buf[0]; ATR = NormalizeDouble(ATR, Digits()); Comment("\n", "ATR = ", ATR,"\n", "ATR H-L = ", myATR1()); Print("\n", "ATR = ", ATR,"\n", "ATR H-L = ", myATR1()); //--- Результат: //--- 2024.12.29 19:18:56.713 Core 01 2024.12.27 22:52:25 ATR = 0.00022 //--- 2024.12.29 19:18:56.713 Core 01 2024.12.27 22:52:25 ATR H-L = 0.00022 } //+------------------------------------------------------------------+ double myATR1(void) { double myATR1 = (iHigh(Symbol(), PERIOD_CURRENT, 1) - iLow(Symbol(), PERIOD_CURRENT, 1)) + (iHigh(Symbol(), PERIOD_CURRENT, 2) - iLow(Symbol(), PERIOD_CURRENT, 2)) + (iHigh(Symbol(), PERIOD_CURRENT, 3) - iLow(Symbol(), PERIOD_CURRENT, 3)) + (iHigh(Symbol(), PERIOD_CURRENT, 4) - iLow(Symbol(), PERIOD_CURRENT, 4)) + (iHigh(Symbol(), PERIOD_CURRENT, 5) - iLow(Symbol(), PERIOD_CURRENT, 5)); double myATR2 = NormalizeDouble(myATR1 / 5, Digits()); return myATR2; } Maxim Kuznetsov 2024.12.29 17:29 #25084 Maxim121285 #: Это легко проверить! ) достаточно в справочник посмотреть.. :-) они считаются чуть иначе Maksim Boretskii 2024.12.29 17:31 #25085 Vitaly Muzichenko #: Спасибо вам за подсказку ) Еще один вопрос. Можно как-то убрать с графика индикатор, мне нужен только результ внутри кода? Maksim Boretskii 2024.12.29 17:32 #25086 Maxim Kuznetsov #: достаточно в справочник посмотреть.. :-) они считаются чуть иначе А почему тогда значения одинаковые? Maxim Kuznetsov 2024.12.29 17:36 #25087 Maxim121285 #: А почему тогда значения одинаковые? открывай справочник, смотри и думай. всё-же просто, учите мат.часть - "true range" это не только high минус low Vitaly Muzichenko 2024.12.29 17:46 #25088 Maxim121285 #: Спасибо вам за подсказку ) Еще один вопрос. Можно как-то убрать с графика индикатор, мне нужен только результ внутри кода? int OnInit() { TesterHideIndicators(true); myATR = iATR(NULL, PERIOD_CURRENT, 5); //--- return(INIT_SUCCEEDED); } Vitaly Muzichenko 2024.12.29 17:48 #25089 Alexey Viktorov #: Да ничего не облажался. В mql4 такого результата не может быть. Это обсуждение первого, и не видно с какой платформы Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам Maxim121285, 2024.12.29 12:47 Подскажите как из индикатора ATR получить данные для Советника. Пришслось кастылить ) double myATR(void) { double myATR = (iHigh(Symbol(), PERIOD_D1, 1) - iLow(Symbol(), PERIOD_D1, 1)) + (iHigh(Symbol(), PERIOD_D1, 2) - iLow(Symbol(), PERIOD_D1, 2)) + (iHigh(Symbol(), PERIOD_D1, 3) - iLow(Symbol(), PERIOD_D1, 3)) + (iHigh(Symbol(), PERIOD_D1, 4) - iLow(Symbol(), PERIOD_D1, 4)) + (iHigh(Symbol(), PERIOD_D1, 5) - iLow(Symbol(), PERIOD_D1, 5)); double myATR1 = NormalizeDouble(myATR / 5, Digits()); return myATR1; } Ошибки, баги, вопросы Как добавить функцию First/Previous? Трудности перевода :) Alexey Viktorov 2024.12.29 17:54 #25090 Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам Maxim121285, 2024.12.29 17:21 Это легко проверить! ) //+------------------------------------------------------------------+ //| iATR.mq5 | //| Copyright 2024, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2024, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { myATR = iATR(NULL, PERIOD_CURRENT, 5); //--- return(INIT_SUCCEEDED); } //--- int myATR; double buf[1]; //--- void OnTick() { CopyBuffer(myATR, 0, 1, 1, buf); double ATR = buf[0]; ATR = NormalizeDouble(ATR, Digits()); Comment("\n", "ATR = ", ATR,"\n", "ATR H-L = ", myATR1()); Print("\n", "ATR = ", ATR,"\n", "ATR H-L = ", myATR1()); //--- Результат: //--- 2024.12.29 19:18:56.713 Core 01 2024.12.27 22:52:25 ATR = 0.00022 //--- 2024.12.29 19:18:56.713 Core 01 2024.12.27 22:52:25 ATR H-L = 0.00022 } //+------------------------------------------------------------------+ double myATR1(void) { double myATR1 = (iHigh(Symbol(), PERIOD_CURRENT, 1) - iLow(Symbol(), PERIOD_CURRENT, 1)) + (iHigh(Symbol(), PERIOD_CURRENT, 2) - iLow(Symbol(), PERIOD_CURRENT, 2)) + (iHigh(Symbol(), PERIOD_CURRENT, 3) - iLow(Symbol(), PERIOD_CURRENT, 3)) + (iHigh(Symbol(), PERIOD_CURRENT, 4) - iLow(Symbol(), PERIOD_CURRENT, 4)) + (iHigh(Symbol(), PERIOD_CURRENT, 5) - iLow(Symbol(), PERIOD_CURRENT, 5)); double myATR2 = NormalizeDouble(myATR1 / 5, Digits()); return myATR2; } А вас не смущает, что в комментарий и в распечатку подано одно и тоже? ОТМЕНЯЕТСЯ: Я не сразу увидел способ распечатки… Ошибки, баги, вопросы Особенности языка mql5, тонкости Общайтесь с разработчиками через 1...250225032504250525062507250825092510251125122513251425152516...2747 Новый комментарий
извините что вмешиваюсь, но ATR и средняя величина high-low это РАЗНЫЕ вещи
Согласен, облажался :)
Да ничего не облажался.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Maxim121285, 2024.12.29 14:44
Так не работает выдает не то что надо.
извините что вмешиваюсь, но ATR и средняя величина high-low это РАЗНЫЕ вещи
Это легко проверить! )
Это легко проверить! )
достаточно в справочник посмотреть.. :-)
они считаются чуть иначе
Спасибо вам за подсказку )
Еще один вопрос.
Можно как-то убрать с графика индикатор, мне нужен только результ внутри кода?
достаточно в справочник посмотреть.. :-)
они считаются чуть иначе
А почему тогда значения одинаковые?
А почему тогда значения одинаковые?
открывай справочник, смотри и думай.
всё-же просто, учите мат.часть - "true range" это не только high минус low
Спасибо вам за подсказку )
Еще один вопрос.
Можно как-то убрать с графика индикатор, мне нужен только результ внутри кода?
Да ничего не облажался.
Это обсуждение первого, и не видно с какой платформы
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Maxim121285, 2024.12.29 12:47
Подскажите как из индикатора ATR получить данные для Советника.
Пришслось кастылить )
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Maxim121285, 2024.12.29 17:21
Это легко проверить! )
А вас не смущает, что в комментарий и в распечатку подано одно и тоже?