Fehler, Irrtümer, Fragen - Seite 351

 
Gleicher Fehler inCHistoryOrderInfo::FormatOrder, CDealInfo::FormatDeal
 
Mr.FreeMan:

Warum wird der Experte entladen, wenn die Taste gedrückt wird?

Was steht im Protokoll?
 
sergey1294:
Was lesen Sie im Protokoll?


2011.04.03 19:19:31 einfach (EURUSD,M15) Array außerhalb des Bereichs in ' einfach.mq5' (43,19)

Das istnicht der richtige Code, hier ist der Code eines EAs, der beim Drücken der Schaltfläche entladen wird:

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 einfach (EURUSD,M15) Array außerhalb des Bereichs in ' einfach.mq5' (43,19)

Falscher Code, hier ist der Code des Expert Advisors, der beim Drücken der Schaltfläche entladen wird:

Der Grund dafür ist eindeutig im Protokoll vermerkt. Übersetzt ins Russische heißt es: exit outside the array in simple.mq5. Der Fehler in Zeile 43

Und es gibt noch eine weitere Sache. Höchstwahrscheinlich liegt der Fehler darin, dass Sie die Array-Größe nicht festgelegt haben

double ZigZag1[],ZigZag2[],ZigZag3[];
Документация по MQL5: Операции с массивами / ArrayResize
Документация по MQL5: Операции с массивами / ArrayResize
  • www.mql5.com
Операции с массивами / ArrayResize - Документация по MQL5
 
sergey1294:
Der Grund dafür ist eindeutig im Protokoll vermerkt. Übersetzt ins Russische heißt es: "exit outside the array in the simple.mq5 file".
aah)) Scheiße) verstand meine Dummheit) Danke.
 
Bitte antworten Sie, indem Sie den Indikator-Cache begrenzen.
 
Meine Herren! Können Sie mir sagen, ob es eine Klasse gibt, an die ein Array von Tabellenelementen gesendet werden kann und die diese Tabelle im Diagramm anzeigt?
 
Graff:
Meine Herren! Können Sie mir sagen, ob es eine Klasse gibt, an die ein Array von Tabellenelementen gesendet werden kann und die diese Tabelle in einem Diagramm anzeigt?
Und zu welchem Zweck? geben Sie die Bedingungen an.
 
Es gibt ein mehrdimensionales Array, es muss nur als Tabelle gezeichnet werden. Gibt es eine Standardklasse für die schnelle Tabellenausgabe?
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
Graff:
Es gibt ein mehrdimensionales Array, es muss nur als Tabelle gezeichnet werden. Vielleicht gibt es eine Standardklasse für die schnelle Tabellenausgabe?

Drucken Sie es in eine Datei und sehen Sie es in Excel nach.

Aber ich denke, dass Sie damit nicht zufrieden sein werden, deshalb habe ich um zusätzliche Bedingungen gebeten, wie z. B. "dies sollte während der Fahrt angezeigt werden" usw.