Ищу индикатор, который сравнивает цену открытия и цену закрытия определенного ряда баров - страница 2

 
У неё там условие такое: - если появился верхний фрактал(по ценам закрытия), то покупаем. Ну и при нижнем продаём.
 
Alisa1984_:
Мне нужен индикатор который бы графически показывал то движение где выполняются такие условия(надеюсь не сделала ошибок в коде).

Надеюсь ты не специально поставила фигурную скобку вместо квадратной.

Так не пойдёт?

#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

double BuffUp[];
double BuffDn[];

input int  ArrowShift = 0;  //   оступ точек от свечи, по высоте
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
 {
  SetIndexBuffer(0, BuffUp, INDICATOR_DATA);
  SetIndexBuffer(1, BuffDn, INDICATOR_DATA);

  IndicatorSetString(INDICATOR_SHORTNAME, "Insid_Bar");
  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 - 3;

  for(i = limit; i < rates_total - 2; i++)
   {
    if(close[i] > close[i + 1] && close[i] > close[i + 2] && close[i] >= close[i - 1] && close[i] >= close [i - 2]) //это ваше условие
      BuffDn[i] = high[i];
    else
      BuffDn[i] = EMPTY_VALUE;
    if(close[i] < close[i + 1] && close[i] < close[i + 2] && close[i] <= close[i - 1] && close[i] <= close [i - 2])
      BuffUp[i] = high[i];
    else
      BuffUp[i] = EMPTY_VALUE;
   }

  return(rates_total);
 }
Файлы:
xhj.mq5  6 kb
 
Alisa1984_:
Всем привет! Подскажите, пожалуйста, где я могу взять индикатор, который будет визуально показывать места падения\роста цены, путем сравнивания цен открытия или хая прошлого бара по отношению к текущему?

А смысл этой затеи в чём? 

 

Извиняюсь за неясное описание идеи. Я попробую еще раз описать то, что я ищу. 

Я ищу индикатор, который умеет сравнивать цены открытия и цены закрытия только серии бычьих свечей или только ряда медвежьих свечей и визуализировать тенденцию роста или падения к примеру линией, которая построена по этому ряду(это не обязательно может быть линия, это может быть стрелка).

Пример:

На скриншоте 1 я выделила 3 случая, где сравниваются только красные движения. 

Случай 1.

У нас есть 2 медвежьих свечи, сравнивая их high\low & open\close индикатор рисует линию  о том, что мы имеем дело с падением цены.

Случай 2.

У нас есть ряд медвежьих свечей и 1 медвежья свеча. Индикатор сравнивает  high & open ПЕРВОЙ свечи в ряде медьвежьих свечей в первой волне с high & open второй волны. Соответственно close & low последней свечи в первой волне и  close & low второй волны. (Прилагаю скришот 2)


Такая же логика и для Buy волн. Для удобства, я рассмотрела в качестве примера только Sell движения, покрасив все зеленые свечи в серый.

Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Технические индикаторы требуют для своих расчетов указания значений цен и/или значений объемов, на которых они будут считаться. Существуют 7 предопределенных идентификаторов перечисления ENUM_APPLIED_PRICE, для указания нужной ценовой базы расчетов. Если технический индикатор для своих расчетов использует ценовые данные, тип которых задается...
Файлы:
 
Сергей Таболин:

А смысл этой затеи в чём? 

Торговую систему хочу алгоритмизировать, чтоб полуавтоматическая была:)

 
Aleksandr Slavskii:

Надеюсь ты не специально поставила фигурную скобку вместо квадратной.

Так не пойдёт?

Не специально, очепяталась:)

Попробую разобраться в этом коде, спасибо!