错误、漏洞、问题 - 页 862

 
Yedelkin:
我明白了。当然,你可以向服务台提出建议,以获得正式答复。但我担心它(答案)会是这样的:"程序员能够计算出边界日期,并限制所要求的历史深度"...

这样做不能使SeriesInfoInteger(Symbol(),Period(),SERIES_FIRSTDATE)和其他类似的东西 发挥作用,这样做可以吗

你怎么能计算边界日期?

因为我看到所有的功能都在工作,好像一切都很好。

 

请告知如何处理指标。

专家顾问的代码调用了自定义指标,但它也是建立在自定义的基础上,在测试过程中无法找到后者。

我怎样才能把它附在哪里?

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);