Не работает почему-то. Пустое окно. Как запустить?
Принцип работы следующий:
1. Вычисляется количество валютных пар, по которым КУРС ДОЛЛАРА достиг максимума за период "Depth";
2. Вычисляется количество пар, по которым КУРС ДОЛЛАРА достиг минимума за период "Depth";
3. Вычисляется разница вышеуказанных сумм.
Резкие "выпады", т.е. пики и впадины индикатора говорят о том, что по всем парам, используемым в расчёте, курс доллара показал максимум, либо минимум соответственно. За подобными "кульминациями" обычно следует разворот.
Так же, дивергенции данного индикатора очень весомы в силу их природы. Допустим, курс доллара по данной паре растёт, а общее количество растущих пар уменьшается. Это указывает на то, что рынок доллара ослабевает.
//+------------------------------------------------------------------+ //| NH-NL.mq4 | //| LenIFCHIK © 2011 | //|Измеряет разность между числом пар, которые достигли новых | //|максимумов или минимумов за период (рассматривается курс USD). | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, LenIFCHIK" #property indicator_separate_window #property indicator_buffers 1 #property indicator_minimum -7 #property indicator_maximum 7 #property indicator_color1 Green extern int pHours=8; double Index[]; int Depth; //+------------------------------------------------------------------+ int init() { Depth = pHours * 60 / Period(); SetIndexBuffer(0,Index); SetIndexStyle(0,DRAW_HISTOGRAM); string Tf; if(Period()==1) Tf="M1"; if(Period()==5) Tf="M5"; if(Period()==15) Tf="M15"; if(Period()==30) Tf="M30"; if(Period()==60) Tf="H1"; if(Period()==240) Tf="H4"; if(Period()==1440) Tf="D1"; if(Period()==10080) Tf="W1"; if(Period()==43200) Tf="MN"; string short_name="NH-NL time timecorrected("+Depth+","+Tf+")"; IndicatorShortName(short_name); IndicatorDigits(0); return(0); } //---- функция проверки цены закрытия на максимум Доллара США за период Depth int newh(string symbol,int i) { datetime time_bar = Time[i]; int bar_no = iBarShift(symbol, Period(), time_bar, false); if(symbol=="EURUSD" || symbol=="GBPUSD" || symbol=="AUDUSD" || symbol=="NZDUSD") { int j=iLowest(symbol,Period(),MODE_CLOSE,Depth,bar_no); if (iClose(symbol,Period(),bar_no)==iClose(symbol,Period(),j)) { int nh=1; } else { nh=0; } } else { j=iHighest(symbol,Period(),MODE_CLOSE,Depth,bar_no); if (iClose(symbol,Period(),bar_no)==iClose(symbol,Period(),j)) { nh=1; } else { nh=0; } } return(nh); } //---- функция проверки цены закрытия на минимум Доллара США за период Depth int newl(string symbol,int i) { datetime time_bar = Time[i]; int bar_no = iBarShift(symbol, Period(), time_bar, false); if(symbol=="EURUSD" || symbol=="GBPUSD" || symbol=="AUDUSD" || symbol=="NZDUSD") { int j=iHighest(symbol,Period(),MODE_CLOSE,Depth,bar_no); if (iClose(symbol,Period(),bar_no)==iClose(symbol,Period(),j)) { int nl=1; } else { nl=0; } } else { j=iLowest(symbol,Period(),MODE_CLOSE,Depth,bar_no); if (iClose(symbol,Period(),bar_no)==iClose(symbol,Period(),j)) { nl=1; } else { nl=0; } } return(nl); } //+------------------------------------------------------------------+ int start() { int limit=Bars-IndicatorCounted(); for(int i=0; i<limit; i++) { int NH=newh("EURUSD",i)+newh("GBPUSD",i)+newh("USDCHF",i)+newh("USDJPY",i)+newh("AUDUSD",i)+newh("USDCAD",i)+newh("NZDUSD",i); int NL=newl("EURUSD",i)+newl("GBPUSD",i)+newl("USDCHF",i)+newl("USDJPY",i)+newl("AUDUSD",i)+newl("USDCAD",i)+newl("NZDUSD",i); if(Symbol()=="EURUSD" || Symbol()=="GBPUSD" || Symbol()=="AUDUSD" || Symbol()=="NZDUSD") { Index[i]=NL-NH; } else { Index[i]=NH-NL; } } return(0); }Добавил правильное подсчет баров на меньших временных периудах, чтобы при отсузтвии баров на одном или нескольких инструментов не происходил сдвиг индекза. И добавил вычисление периода как колличество часов.
Не работает почему-то. Пустое окно. Как запустить?
Индикатору необходимы файлы историй по следующим парам:
1. EURUSD,2. GBPUSD,
3. USDCHF,
4. USDJPY,
5. AUDUSD,
6. USDCAD,
7. NZDUSD.
Как это сделать технически? Можете объяснить пошагово? У меня на терминале все эти пары работают.
Нажимай F2, выбирай нужную пару и "Загрузить"
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Индекс новых максимумов-новых минимумов:
Author: Кирилл