Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1490

 
Alexey Viktorov:
Где написано, что вместе с новым баром не может быть подгрузки истории?

Где написано что нужно отслеживать подгрузку истории?
Пока она грузится, расчеты индикатора можно не принимать во внимание - потому что нет полной истории (бары могут появится в любом месте).
Отсюда вывод - только после построения всех баров может быть Новый бар.
Иначе все бары "старые".

 
m-r LSV:

Не помогло :(

покажите код.

 
Taras Slobodyanik:

нужно смотреть что там вы накодили.

Тарас!!! Человек спрашивает об MQL5!!! А в МТ5 индексация слева направо… Получается не 1 надо бар считать, а rates_total-2

 
Taras Slobodyanik:

Где написано что нужно отслеживать подгрузку истории?
Пока она грузится, расчеты индикатора можно не принимать во внимание - потому как нет полной истории.
Отсюда вывод - только после построения всех баров может быть Новый бар.
Иначе все бары "старые".

Подскажите как сделать с историей.
Дело в том, что планируется, кое что проверить конечно же на истории.
Есть кое какие наблюдения, ив дальнейшем хотелось бы использовать буфера для стрелок.

Но это уже позже.

 
Taras Slobodyanik:

покажите код.

//+------------------------------------------------------------------+
//|                                                    test.mq5 |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window

#property indicator_buffers 2
#property indicator_plots   2

#property indicator_label1  "Signal UP"
#property indicator_type1   DRAW_ARROW
#property indicator_color1  clrLime
#property indicator_style1  STYLE_SOLID
#property indicator_width1  2

#property indicator_label2  "Signal DN"
#property indicator_type2   DRAW_ARROW
#property indicator_color2  clrRed
#property indicator_style2  STYLE_SOLID
#property indicator_width2  2

double up[];
double dn[];

datetime fin=0, last=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
    IndicatorSetString(INDICATOR_SHORTNAME, "Prototype");
    
   SetIndexBuffer(0,up,INDICATOR_DATA);
   PlotIndexSetInteger(0,PLOT_ARROW,233);
    
   SetIndexBuffer(1,dn,INDICATOR_DATA);
   PlotIndexSetInteger(1,PLOT_ARROW,234);
   
   
  
   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[])
   {
   fin=iTime(Symbol(), PERIOD_M1 ,0);
   if(last==fin) return(rates_total);
   last=fin;
   
   if(rates_total - prev_calculated == 1)
      {
      //Print("Новый бар");
      if(open[1] > close[1])
           {
           Print("Dn");
           }
      else if(open[1] < close[1])
           {
           Print("Up");
           }
      }

return(rates_total);
}
 
Alexey Viktorov:

Тарас!!! Человек спрашивает об MQL5!!! А в МТ5 индексация слева направо… Получается не 1 надо бар считать, а rates_total-2

не-не, prev_calculated и rates_total не зависят от этого

 
Taras Slobodyanik:

не-не, prev_calculated и rates_total не зависят от этого

Какая связь prev_calculated и rates_total с тем, что вы предлагаете читать открытие и закрытие первого бара слева?

 
Alexey Viktorov:

Какая связь prev_calculated и rates_total с тем, что вы предлагаете читать открытие и закрытие первого бара слева?

я не предлагаю читать закрытие бара слева, это не мой код)

мое только

if(rates_total - prev_calculated == 1)
 
m-r LSV:

Не помогло :(

да, вам нужно или изменить напрвление массивов или брать индекс  rates_total-2, вместо 1

{
   
   ArraySetAsSeries(open,true);
   ArraySetAsSeries(high,true);
   ArraySetAsSeries(low,true);
   ArraySetAsSeries(close,true);
   ArraySetAsSeries(time,true);
   
   if(rates_total - prev_calculated > 1)
      {
      Print("Загрузка истории");
      return(rates_total);
      }
   
   if(rates_total - prev_calculated == 1)
      {
      //Print("Новый бар");
      if(open[1] > close[1])
           {
           Print("Dn");
           }
      else if(open[1] < close[1])
           {
           Print("Up");
           }
      }

return(rates_total);
}


 
Taras Slobodyanik:

я не предлагаю читать закрытие бара слева, это не мой код)

мое только

Неприлично так откровенно врать. Удалил своё сообщение и сваливаешь на другого свою безграмотность. Лжец.

Причина обращения: