Einzelnen Beitrag anzeigen
  #12 (permalink)  
Alt 10.06.20
LQK LQK ist offline
Mitglied
 
Registriert seit: Nov 2019
Beiträge: 76
LQK befindet sich auf einem aufstrebenden Ast
Standard

Hallo MA-EA,

besten Dank für Deine Antwort. Bitte entschuldige, dass ich erst jetzt antworte, obwohl ich Deinen Post bereits vor zwei Tagen Abends gelesen habe. Ich war da einfach schon zu müde.

[An alle anderen: Besten Dank auch für Eure (neuen) Hinweise, ich werde alle beantworten, bin derzeit dabei, allen Hinweisen nachzugehen! ]


Zitat:
Zitat von MA-EA Beitrag anzeigen
init wird ausgeführt, wenn der EA in den Chart des jeweiligen Symbol gepackt wird. Wenn dabei was Spezielles passieren soll, muss der entsprechende Code auch zwischen den { } von init stehen, und nicht irgendwo ausserhalb.

z.B.
Code:
int init(){


   ChartSetSymbolPeriod(0,Symbol(),TimeFrame);


   return(NULL);}


Ich weiß nicht, auf welches meiner Code-Beispiele Dich Dich beziehst? Wo habe ich den Code außerhalb der {} stehen, anstelle innerhalb der {}?

Kannst Du den von mir geposteten Code den Du meinst zitieren?



Zitat:
Mit int start(){ nach init() / deinit() und return;} am Ende des EA wartet er nicht auf neue Ticks, sondern müsste sofort tun, was er soll.
Code:
int start(){ ( nicht OnTick() )

 ...

return(NULL);}

Habe das jetzt mal probiert, mit diesem Code-Beispiel:

Code:
int OnInit()
  {

   

   return(INIT_SUCCEEDED);
  }




void OnTick()
  {
//---
  
  Print("Danke Start() erscheine ich auf dem Bildschirm");
  
   
  }
//+------------------------------------------------------------------+



int Start();
   {
      }

Normalerweise wird OnTick() erst beim Auftreten von New Tick ausgelöst. Dank Start() müsste OnTick(), so habe ich Dich verstanden, unverzüglich beim Starten des EA, auch ohne Tick, ausgelöst werden.

Das ist allerdings bei obig gepostetem Beispiel-Code nicht so. Nach starten des EA ergibt sich keine Bildschirmausgabe, aber auch keine Fehlermeldung.

---

Überdies finde ich Start() nach wie vor nicht in der Referenz. Hast Du vielleicht einen Link wo Start() in der Referenz erklärt wird?

Überdies werden in Metaeditor Funktionsnamen von Metaeditor normalerweise in violetter Farbe eingefärbt. Das ist bei Start() nicht so, Start() bleibt schwarz. Das erhärtet meinen Verdacht, dass Start() keine "reguläre" Funktion ist? Sollte man Start() überhaupt verwenden?

Ich habe zu Start() nur diesen Link gefunden:
https://book.mql4.com/programm/special

In dem Link steht u.a. der Satz:

"In EAs, start() is called (and executed) immediately after a new tick comes."

Das ist allerdigns das genaue Gegenteil von dem von Dir gesagten, Du schriebst ja, Start() (bzw. die Funktionen des EA, die eigentlich einen Tick erfordern) würden Dank Start() eben gerade auch ohne Tick ausgeführt?

Besten Dank und Grüße,
LQK