错误、漏洞、问题 - 页 351

 
CHistoryOrderInfo::FormatOrder, CDealInfo::FormatDeal中也有同样的错误。
 
Mr.FreeMan:

为什么在按下按钮时专家会被卸下

日志中说什么?
 
sergey1294:
你在日志中读到了什么?


2011.04.03 19:19:31 simple (EURUSD,M15) Array out of range in ' simple.mq5' (43,19)

我给你发了错误的代码,这里是专家顾问的代码,当你按下按钮时,它就会被卸载

int ZigZag1Handle,ZigZag2Handle,ZigZag3Handle;
double ZigZag1[],ZigZag2[],ZigZag3[];
string row;
int bar;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   if(ObjectFind(0,"history")<0)
     {
      ObjectCreate(0,"history",OBJ_BUTTON,0,100,100);
      ObjectSetInteger(0,"history",OBJPROP_XDISTANCE,220); 
      ObjectSetInteger(0,"history",OBJPROP_YDISTANCE,5);
      ObjectSetInteger(0,"history",OBJPROP_CORNER,CORNER_LEFT_UPPER); 
      ObjectSetString(0,"history",OBJPROP_TEXT,"Передать историю");   
      ObjectSetInteger(0,"history",OBJPROP_FONTSIZE,8);
      ObjectSetInteger(0,"history",OBJPROP_XSIZE,110); 
      ObjectSetInteger(0,"history",OBJPROP_YSIZE,20);
      ObjectSetInteger(0,"history",OBJPROP_SELECTABLE,false);
      ChartRedraw(0);
     }
   ZigZag1Handle=iCustom(NULL,0,"Examples\\ZigZag",6,2,3);
   return(0);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
   if(id==CHARTEVENT_OBJECT_CLICK)
     {
      string Text="history";
      if(sparam==Text)
        {

         ArraySetAsSeries(ZigZag1,true);
         if(CopyBuffer(ZigZag1Handle,0,0,90,ZigZag1)<0){Comment("ZigZag1 error =",GetLastError());}

               if(ZigZag1[bar-1]>ZigZag1[bar-2])
                 {

                 }
        }
      ObjectSetInteger(0,"history",OBJPROP_STATE,false);

     }
  }
//+------------------------------------------------------------------+
 
Mr.FreeMan:


2011.04.03 19:19:31 simple (EURUSD,M15) Array out of range in ' simple.mq5' (43,19)

错误的代码,这里是专家顾问的代码,在按下按钮时被卸载

在日志中清楚地写着为什么。如果翻译成俄语,它说的是 - 在simple.mq5的数组外退出。 第43行的错误

还有一件事。最有可能的是,这个错误是你没有设置数组的大小

double ZigZag1[],ZigZag2[],ZigZag3[];
Документация по MQL5: Операции с массивами / ArrayResize
Документация по MQL5: Операции с массивами / ArrayResize
  • www.mql5.com
Операции с массивами / ArrayResize - Документация по MQL5
 
sergey1294:
在日志中清楚地写着为什么。如果翻译成俄语,它说的是--在simple.mq5文件的阵列外退出。
aah))狗屎)理解我的愚蠢)谢谢。
 
请回复。限制指标缓存
 
先生们!你能告诉我是否有一个类可以发送一个表格元素 的数组,并将这个表格显示在图表上?
 
Graff:
先生们!你能告诉我是否有一个类可以发送一个表格元素的数组,并将这个表格显示在图表上?
为了什么目的,请说明条件。
 
一个多维数组,它只是需要被绘制成一个表格。有没有一个标准的类来快速输出表格?
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
Graff:
一个多维数组,它只是需要被绘制成一个表格。也许有一个标准的类来快速输出表格?

把它打印到一个文件中,然后在EXCEL中查找。

但我认为你不会满足于此,所以我要求附加条件,如 "这应该在飞行中显示",等等。