Ошибки, баги, вопросы - страница 862

 
Yedelkin:
Понятно. Можно, конечно, оформить предложение в Сервисдеск, чтоб получить официальный ответ. Но боюсь, что он (ответ) будет примерно такой: "программист сам в состоянии вычислить граничную дату и ограничить глубину запрашиваемой истории"..

а ниче что из за этого не работает SeriesInfoInteger(Symbol(),Period(),SERIES_FIRSTDATE) и тому подобные вещи?

и каким образом здесь можно вычислить граничную дату? на глаз чтоли xD 

ибо как я вижу все функции работают так будто все ок  

 

Подскажите плиз как бороться с индикаторами.

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

Как его прицепить и куда?

PS. В реал-тайме индюк нормально грузится.

 

Почему увеличился спред во время закрытия?


спред

 
Zeleniy:

Почему увеличился спред во время закрытия?

потому что из стакана заявки трейдеры убрали
 
причем тут стакан если спред это комисия. Где вы видели такое на мамбе там просто гэп на на понедельник
 

Кто сталкивался со следующей проблемой: при использовании нескольких цветных буферов возникают проблемы с отрисовкой индикатора. Причем именно того, который объявлен первым.

Вот простой код индикатора:

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_plots   2
//--- plot ColorLine
#property indicator_label1  "ColorLine"
#property indicator_type1   DRAW_COLOR_LINE
#property indicator_color1  clrRed,clrBlue
#property indicator_style1  STYLE_SOLID
#property indicator_width1  2

#property indicator_label2  "ColorLine"
#property indicator_type2   DRAW_COLOR_LINE
#property indicator_color2  clrRed,clrBlue
#property indicator_style2  STYLE_SOLID
#property indicator_width2  2

double         LineBuffer_1[];
double         LineBuffer_2[];

double         Color_1[];
double         Color_2[];
 

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   SetIndexBuffer(0,LineBuffer_1,INDICATOR_DATA);
   SetIndexBuffer(1,Color_1,INDICATOR_COLOR_INDEX);
   PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0);  
   
   SetIndexBuffer(2,LineBuffer_2,INDICATOR_DATA);
   SetIndexBuffer(3,Color_2,INDICATOR_COLOR_INDEX);
   PlotIndexSetDouble(2,PLOT_EMPTY_VALUE,0.0);  
   
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
    if(prev_calculated==0)
     {
      ArrayInitialize(LineBuffer_1,0.0);
      ArrayInitialize(LineBuffer_2,0.0);
     } 
   for(int i=0;i<rates_total;i++)
     {
      if(close[i]>open[i])
      {    LineBuffer_1[i]=high[i];    
           Color_1[i]=1;
      }     
      else
      {
          LineBuffer_2[i]=low[i];    
          Color_2[i]=0;
      }
      
     }
  return(rates_total);
  }

А вот такой получается индикатор:

 

Как будто не отрабатывает  PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0);  

 
Zeleniy:
причем тут стакан если спред это комисия. Где вы видели такое на мамбе там просто гэп на на понедельник
как бы сам спросил и сам ответил
;)
 
Zeleniy:
причем тут стакан если спред это комисия. Где вы видели такое на мамбе там просто гэп на на понедельник
как бы сам спросил и сам ответил 
;)

Спред - это не комиссия. Все правильно sergeev сказал - потому что из стакана заявки трейдеры убрали.
 
tyup:

Как будто не отрабатывает  PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0);

Вместо

PlotIndexSetDouble(2,PLOT_EMPTY_VALUE,0.0);

попробуйте

PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,0.0); 
Причина обращения: