если мне нужно например на часовом графике в некоторой точке узнать значение дневного МА на закрытии предыдущего дня, то каким наиболее элегантным способом это сделать?
- Переменная EXTERN в пользовательском индикаторе
- Тупиковый период.
- Ошибка при выставлении ордера советником
все данные выдаются верно, а для нулевого бара действуют ограничения:
"Особенности и ограничения тестирования в MetaTrader 4"
"Особенности и ограничения тестирования в MetaTrader 4"
Нулевой бар другого периода по тому же самому тестируемому символу моделируется приблизительно
Open = корректный Open,
Close = корректный Close,
Low = min (Open,Close),
High = max (Open,Close),
Volume = итоговый Volume (неверный)
Open = корректный Open,
Close = корректный Close,
Low = min (Open,Close),
High = max (Open,Close),
Volume = итоговый Volume (неверный)
тему я не совсем верно написал.
меня интересует пример кода для вычисления МА старшего таймфрейма например 2-бара назад.
например индикатор прикрлеплен на 1 час (текущее время 8:20), а надо узнать значение МА на 2-м 4 часовом баре (т.е. открытом в 0:00 и закрытом в 4:00).
вызов iMA(NULL,PERIOD_H4,13,0,MODE_EMA,PRICE_CLOSE,shift+2); я так понимаю выдаст значение 4-х часовой МА на 7:00 (момент закрытия часого бара открытого в 6:00 == 8:00 - 2 ).
а нужно на 4:00
??
меня интересует пример кода для вычисления МА старшего таймфрейма например 2-бара назад.
например индикатор прикрлеплен на 1 час (текущее время 8:20), а надо узнать значение МА на 2-м 4 часовом баре (т.е. открытом в 0:00 и закрытом в 4:00).
вызов iMA(NULL,PERIOD_H4,13,0,MODE_EMA,PRICE_CLOSE,shift+2); я так понимаю выдаст значение 4-х часовой МА на 7:00 (момент закрытия часого бара открытого в 6:00 == 8:00 - 2 ).
а нужно на 4:00
??
нет, все правильно, вызов iMA(NULL,PERIOD_H4,13,0,MODE_EMA,PRICE_CLOSE,shift+2); выдаст значение 4-х часовой МА на баре закрытом в 4:00.
а вот пример того, что я хотел добиться:
а вот пример того, что я хотел добиться:
//+------------------------------------------------------------------+ //| ema.mq4 | //| Copyright © 2005, Nick Bilak, beluck[AT]gmail.com | //| http://metatrader.50webs.com/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, Nick Bilak" #property link "http://metatrader.50webs.com/" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Magenta //---- input parameters extern int Len=13; //---- buffers double ema[]; int highTF; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { int p=Period(); switch (p) { case 1: highTF = 5; break; case 5: highTF = 30; break; case 15: highTF = 60; break; case 30: highTF = 240; break; case 60: highTF = 240; break; case 240: highTF = 1440; break; case 1440: highTF = 10080; break; default: return(-1); break; } //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ema); IndicatorShortName("EMAHtf("+Len+","+highTF+")"); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(),limit,shift,htBar,htShift; if (counted_bars<0) return(-1); if (counted_bars>0) counted_bars--; limit=Bars-Len-1; if(counted_bars>Len) limit=Bars-counted_bars-1; for (shift=limit;shift>=0;shift--) { htShift=(Time[shift] % (highTF*60))/Period()/60; htBar=(shift+htShift)/(highTF/Period()); ema[shift]=iMA(NULL,highTF,Len,0,MODE_EMA,PRICE_CLOSE,htBar); } return(0); }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь