Стандартный класс CiMA
Кто знает как с помощью класса
CiMA получить значение текущего таймфрейма и значение на другом таймфрейме, то есть два значения с разными
таймфреймами. Не создавать дополнительных CiMA. Спасибо.
AnatoliyFX5:
Кто знает как с помощью класса
CiMA получить значение текущего таймфрейма и значение на другом таймфрейме, то есть два значения с разными
таймфреймами. Не создавать дополнительных CiMA. Спасибо.
На каждый набор настроек - свой индикатор. Если хотите с двух таймрфеймов - значит создавайте два индикатора. В чем именно сложность?
Ну, другой вопрос. Как добавить с помощью метода AddToChart() в советнике, если имеется два индикатора?
Пример работы с двумя индикаторами класса CiMA
//+------------------------------------------------------------------+ //| CiMA Example.mq5 | //| Copyright © 2019, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2019, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" //--- #include <Indicators\Trend.mqh> CiMA m_ima_h1; // pending orders object CiMA m_ima_m15; // pending orders object //--- input parameters input int Input1=9; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- if the indicator is not created if(!m_ima_h1.Create(Symbol(),PERIOD_H1,12,0,MODE_SMA,PRICE_CLOSE)) { //--- tell about the failure and output the error code PrintFormat("Failed to create of the iMA indicator H1 for the symbol %s/%s, error code %d", Symbol(), EnumToString(PERIOD_H1), GetLastError()); //--- the indicator is stopped early return(INIT_FAILED); } //--- if the indicator is not created if(!m_ima_m15.Create(Symbol(),PERIOD_M15,12,0,MODE_SMA,PRICE_CLOSE)) { //--- tell about the failure and output the error code PrintFormat("Failed to create of the iMA indicator M15 for the symbol %s/%s, error code %d", Symbol(), EnumToString(PERIOD_M15), GetLastError()); //--- the indicator is stopped early return(INIT_FAILED); } //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- m_ima_h1.Refresh(); m_ima_m15.Refresh(); double h1_0=m_ima_h1.Main(0); double m15_0=m_ima_m15.Main(0); Comment("H1 #0: ",DoubleToString(h1_0,Digits()+1),"\n", "M15 #0: ",DoubleToString(m15_0,Digits()+1)); } //+------------------------------------------------------------------+
Файлы:
CiMA_Example.mq5
6 kb
Короче так, нельзя получить два значения с разными таймфреймами одного индикатора.
AnatoliyFX5:
Короче так, нельзя получить два значения с разными таймфреймами одного индикатора.
Короче так, нельзя получить два значения с разными таймфреймами одного индикатора.
Не может быть один индикатор с двух таймфреймов :)
Для понимания лучше рассмотреть все входные параметры индикатора в комплексе.
bool Create( string string, // symbol ENUM_TIMEFRAMES period, // period int ma_period, // averaging period int ma_shift, // shift ENUM_MA_METHOD ma_method, // averaging method int applied // price type, handle )
Как видите хендл индикатора создаётся на шести параметрах. Если хоть один параметр изменить - это будет уже ДРУГОЙ хедл индикатор.
Спасибо,
я разобрался. У меня к вам просьба на обсуждение
https://www.mql5.com/ru/forum/321356

Глобальные переменные
- 2019.09.01
- www.mql5.com
Как правило передавать значение между двумя файлами с помощью структуры, или класса, или интерфейса...

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь