Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 2594
- Рейтинг:
- Опубликован:
- 2019.01.29 18:31
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
//+------------------------------------------------------------------+ //| Insid_Outside_Bar.mq5 | //| Copyright 2018, MetaQuotes Software Corp. | //| https://www.mql5.com/ru/users/s22aa | //+------------------------------------------------------------------+ #property copyright "Copyright 2018, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property indicator_chart_window #property indicator_buffers 2 #property indicator_plots 2 #property indicator_type1 DRAW_ARROW #property indicator_type2 DRAW_ARROW #property indicator_color1 clrRed #property indicator_color2 clrBlue #property indicator_width1 2 #property indicator_width2 2 //--- input parameters input int ArrowShift = 0; // Отступ точек от свечи, по высоте. enum Indicator { Insid=0, // Insid_Bar Outside=1, // Outside_Bar }; input Indicator Insid_Outside_Bar=Insid; double BuffUp[]; double BuffDn[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { SetIndexBuffer(0,BuffUp, INDICATOR_DATA); SetIndexBuffer(1,BuffDn, INDICATOR_DATA); IndicatorSetString (INDICATOR_SHORTNAME,"Insid_Bar2"); IndicatorSetInteger(INDICATOR_DIGITS, _Digits); PlotIndexSetInteger(0, PLOT_ARROW, 159); PlotIndexSetInteger(1, PLOT_ARROW, 159); PlotIndexSetInteger(0, PLOT_ARROW_SHIFT, ArrowShift); PlotIndexSetInteger(1, PLOT_ARROW_SHIFT, -ArrowShift); PlotIndexSetDouble(0, PLOT_EMPTY_VALUE, EMPTY_VALUE); PlotIndexSetDouble(1, PLOT_EMPTY_VALUE, EMPTY_VALUE); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int i, limit; if (rates_total < 2) return(0); if (prev_calculated < 3) { limit = 2; ArrayInitialize(BuffDn, EMPTY_VALUE); ArrayInitialize(BuffUp, EMPTY_VALUE); } else limit = rates_total - 2; for(i = limit; i<rates_total-1; i++) { if (Insid_Outside_Bar == Insid) if (high[i] <= high[i-1] && low[i] >= low[i-1]) { BuffUp[i-1] = low[i-1]; BuffDn[i-1] = high[i-1]; } else { BuffUp[i] = EMPTY_VALUE; BuffDn[i] = EMPTY_VALUE; } } for(i = limit; i<rates_total-1; i++) { if (Insid_Outside_Bar == Outside) if (high[i] >= high[i-1] && low[i] <= low[i-1]) { BuffUp[i] = low[i]; BuffDn[i] = high[i]; } else { BuffUp[i] = EMPTY_VALUE; BuffDn[i] = EMPTY_VALUE; } } return(rates_total); }

Торговая система на базе индикатора iMACD (Moving Average Convergence/Divergence, MACD)

Индикатор GannZIGZAG_Fibo_Grand_x3_Stat_Full_Arr с возможностью изменения таймфрейма индикатора во входных параметрах

Индикатор показывает историю сделок на указанном периоде.

Индикатор GannZIGZAG_Fibo_Grand_x3_Stat_Full_Arr с отрисовкой фибо-уровней линиями и с возможностью изменения таймфрейма индикатора во входных параметрах