MetaTrader 4 Build 529 beta mit neuem Compiler veröffentlicht - Seite 136

 

Mir ist eine unangenehme Eigenschaft der Option "Suchen und Ersetzen" in ME881 aufgefallen. Ich habe ME482 überprüft, dort ist es dasselbe. Vielleicht, während Sie damit beschäftigt sind, MT zu aktualisieren und dies auch zu beheben?

Also, der Reihe nach: Mein Code ist lang, für Routineänderungen verwende ich "Find-Replace" im gesamten Text. Ich habe versucht, alle x1+3 in x1 zu ändern , das scheint in Ordnung zu sein. Aber mein Code enthält Zeilen mit x1+3+3*abc. Diese Zeilen wurden statt x1+3+3*abc in x1+3*abc geändert und ergaben x1*abc . Und wie sich herausstellt, kann es beliebig viele dieser +3 geben, es wird immer noch x1*abc sein. Zeilen mit z.B. x1+3+4*abc ändern sich korrekt.

Dies ist ein sehr einzelner und recht kurioser Fall. Natürlich ist diese Korrektur nicht dringend, aber ich denke, sie ist notwendig, um Probleme bei der Kodierung zu vermeiden.

 

Funktioniert nicht.

ObjectSetString(chart_id,current_name,OBJPROP_NAME,new_name)

Obwohl die Funktion true zurückgibt, hat das Objekt im Diagramm den alten Namen.

 

Ich weiß nicht, ob dies ein Fehler ist oder nicht, aber beim Aufruf von Comment () in OnDeinit() werden die Informationen nicht im Diagramm angezeigt

Beispielcode

int OnInit()
  {
Comment("OnInit");
  return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("Exit");
   Print(__FUNCTION__,"_Код причины деинициализации = ",reason);
  }
//+------------------------------------------------------------------+

bedeutet das, dass wir bei der Deinitialisierung eines EAs die Deinitialisierung und andere Informationen nur über den Druck erhalten können?

 
OnChartEvent
Funktioniert nicht im Strategie-Tester
 

563 bauen:


ObjectSet(labelobj,OBJPROP_CORNER,CORNER_LEFT_LOWER)

setzt ein Etikett in die RECHTE Ecke...

 
pro_:

Ein Alert mit dem Namen der verschiedenen MT4-Instanzen... Wenn es auf dem Bildschirm auftaucht, sollten Sie wissen, welches es ist.

Alert() blockiert den EA/Indikator...

Es wäre schön, wenn MT4 Alerts (auf der Registerkarte Alerts) auch eine MQL API hätte.

 
maximillion:

Alert() blockiert den EA/Indikator...

Es wäre schön, wenn MT4 Alerts (auf der Registerkarte Alerts) auch eine MQL API hätte.


Was meinen Sie mit "Alert() blockiert den EA/Indikator..."? Nein, tut es nicht. Wann soll das Symbol blinken? Wenn eine Aktion von EA durchgeführt wird? Fügen Sie die Meldung einfach in den Code ein und freuen Sie sich. :) Eine Verzögerung von einer Millisekunde bei der Alarmierung wird doch nicht zu einer größeren Störung führen, oder? :)

 
pro_:


Was meinen Sie mit "Alert() blockiert den EA/Indikator..."? Nein, tut es nicht. Wann soll das Symbol blinken? Wenn eine Aktion von EA durchgeführt wird? Fügen Sie die Meldung einfach in den Code ein und freuen Sie sich. :) Eine Verzögerung von einer Millisekunde bei der Alarmierung würde doch keine größere Störung verursachen, oder? :)


Hm. In der Tat ist das nicht der Fall (ich habe es gerade in einem EA ausprobiert). Aber gleichzeitig weiß ich, dass ich aufgehört habe, es zu benutzen, weil es blockiert hat.


Jedenfalls danke ich Ihnen, dass Sie mich darauf hingewiesen haben.

 

Ich glaube, es gibt einen Fehler Der Berater kann keine Funktion aus der Bibliothek aufrufen

EA-Code, der die Funktion aufruft

#property strict
#import "bib.ex4"
int ins();
#import 

void OnTick()
  {
int z = ins();  
Comment(z);
  }

Bibliothekscode

#property strict

int ins()
{
int a=1, b=1,c=1,d=0;
d=a+b+c;
return d;
}

Log-Fehler

  • 2013.12.22 12:54:45.408 2013.08.19 05:16 Zugriffsverletzung schreiben auf 0x00000000
  • 2013.12.22 12:54:45.408 2013.08.19 05:16 Kann 'ins' in 'bib.ex4' nicht finden


 

Build 563, funktioniert nicht

ChartSetInteger(0,CHART_SHOW_DATE_SCALE,false);
ChartSetInteger(0,CHART_SHOW_PRICE_SCALE,false);