Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1478

 
MakarFX:
Ja

Vielen Dank für die Hilfe. Wenn ich mich nicht irre, wird trotz der Tatsache, dass void OnTick() jeden Tick behandelt, wenn wirTimeSeconds() darin verwenden, dann wird void OnTick() nicht jeden Tick behandeln, sondern nur den Beginn jeder Minutenkerze und spart somit Laufzeit des gesamten Codes.

Sagen Sie mir, wenn Sie anstelle von TimeSeconds() die Bedingung if(Minute() != x) einfügen und am Ende x= Minute(), hat das denselben Effekt wie TimeSeconds()?

Dankeschön

 
ANDREY:

Vielen Dank für die Hilfe. Wenn ich mich nicht irre, wird trotz der Tatsache, dass void OnTick() jeden Tick behandelt, wenn wirTimeSeconds() darin verwenden, dann wird void OnTick() nicht jeden Tick behandeln, sondern nur den Beginn jeder Minutenkerze und spart somit Laufzeit des gesamten Codes.

Sagen Sie mir, wenn Sie anstelle von TimeSeconds() die Bedingung if(Minute() != x) einfügen und am Ende x= Minute(), hat das denselben Effekt wie TimeSeconds()?

Danke

bool FlagNewBar=false,
     FlagBegin=true;

void OnTick()

FlagNewBar=false;
   if(BarTime!=Time[0])
     {
      BarTime=Time[0];
      FlagNewBar=true;
     }


   if(FlagNewBar || FlagBegin)
     {
      FlagBegin=false;
.......

)

Es ist besser, wenn Sie auch außerhalb der Sitzungen einen Timer haben. Und nur bei einer neuen Kerze.

Aber warum brauchen Sie das so, wenn es doch einfacher ist, ein Raster von schwebenden Aufträgen am ersten Extremwert zu platzieren? Das ist im Grunde genommen dasselbe wie bei Ihnen. Die erste Bedingung ist die Identifizierung des Extremwerts, und wenn der Trend nach unten geht, werden die Aufträge nach 30 Punkten erteilt.

Die Markierung wird benötigt, um sofort nach dem Wurf auf die Karte zu arbeiten. Falls nicht erforderlich, entfernen Sie die Markierung.

 
Valeriy Yastremskiy:

Noch besser ist es, wenn Sie den Timer so einstellen, dass keine Sitzungen mehr stattfinden. Aber nur bei einer neuen Kerze.

Und warum sollten Sie das tun, weil es einfacher ist, eine Reihe von ausstehenden Aufträgen vom ersten Extremwert aus zu platzieren? Das ist im Grunde genommen dasselbe wie bei Ihnen. Die erste Bedingung ist die Identifizierung des Extremwerts, und wenn der Trend nach unten geht, werden die Aufträge nach 30 Punkten erteilt.

Die Markierung wird benötigt, um sofort nach dem Wurf auf die Karte zu arbeiten. Wenn sie nicht benötigt wird, entfernen Sie die Kennzeichnung.

Meine Order wird 30 Pips aufwärts vom lokalen Tief eröffnet, d.h. BID minus MINIMUM >= 30 Pips.
Vielen Dank für Ihre Teilnahme. Ich werde mich nun mit Ihren Tipps befassen....

 
Valeriy Yastremskiy:

Noch besser ist es, wenn Sie den Timer so einstellen, dass keine Sitzungen mehr stattfinden. Aber nur bei einer neuen Kerze.

Und warum sollten Sie das tun, weil es einfacher ist, eine Reihe von ausstehenden Aufträgen vom ersten Extremwert aus zu platzieren? Das ist im Grunde genommen dasselbe wie bei Ihnen. Die erste Bedingung ist die Identifizierung des Extremwerts, und wenn der Trend nach unten geht, werden die Aufträge nach 30 Punkten erteilt.

Die Markierung wird benötigt, um sofort nach dem Wurf auf die Karte zu arbeiten. Wenn wir sie nicht benötigen, werden wir die Kennzeichnung entfernen.

Es gab ein lokales Minimum. Und ich habe 10 Pending Orders im Abstand von 30, 32, 34...Pips vom lokalen Minimum gesetzt. Und dann wurde das lokale Tief aktualisiert, bevor der Preis die erste ausstehende Order erreichte, und ich muss alle ausstehenden Orders noch einmal einstellen. So wie ich es sehe, nimmt das Setzen und Zurücksetzen der schwebenden Aufträge viel Zeit in Anspruch. Und ich versuche, sie zu retten.

 
Valeriy Yastremskiy:

Noch besser ist es, wenn Sie den Timer so einstellen, dass keine Sitzungen mehr stattfinden. Aber nur bei einer neuen Kerze.

Und warum sollten Sie das tun, weil es einfacher ist, eine Reihe von ausstehenden Aufträgen vom ersten Extremwert aus zu platzieren? Das ist im Grunde genommen dasselbe wie bei Ihnen. Die erste Bedingung ist die Identifizierung des Extremwerts, und wenn der Trend nach unten geht, werden die Aufträge nach 30 Punkten erteilt.

Die Markierung wird benötigt, um sofort nach dem Wurf auf die Karte zu arbeiten. Falls nicht erforderlich, entfernen Sie die Markierung.

Ich würde mich freuen, wenn mein Timer peitschen würde. Aber wie sich im MT4-Tester herausstellte, funktioniert der Timer nicht.

 
ANDREY:

Vielen Dank für die Hilfe. Wenn ich mich nicht irre, wird trotz der Tatsache, dass void OnTick() jeden Tick behandelt, wenn wirTimeSeconds() darin verwenden, dann wird void OnTick() nicht jeden Tick behandeln, sondern nur den Beginn jeder Minutenkerze und spart somit Laufzeit des gesamten Codes.

Sagen Sie mir, wenn Sie anstelle von TimeSeconds() die Bedingung if(Minute() != x) einfügen und am Ende x= Minute(), hat das denselben Effekt wie TimeSeconds()?

Dankeschön

      if(TimeMinute(TimeCurrent())!=x)
         x=TimeMinute(TimeCurrent();
 
Valeriy Yastremskiy:

So ist es besser,

Können Sie mir sagen, warum wir eine "FlagNewBar" benötigen?

Ist das nicht das Gleiche?

   if(BarTime!=Time[0])
     {
      ........
      BarTime=Time[0];
     }
 

MakarFX:

if(TimeMinute(TimeCurrent())!=x)
         x=TimeMinute(TimeCurrent();


Ich verstehe immer noch nicht, ob die Verwendung der Funktionen TimeSeconds() oder TimeMinute() in diesem Fall grundlegend und obligatorisch ist? Schließlich können Sie mit einer einzigen Funktion - Minute( ) - das gleiche Ergebnis wie mit diesen Funktionen erzielen

if(Minute()!= x)
{

Aktion
x= Minute();

}

Ich danke Ihnen.

 
ANDREY:

Ich verstehe immer noch nicht, ob die Verwendung der Funktionen TimeSeconds() oder TimeMinute() in diesem Fall grundlegend und obligatorisch ist? Schließlich können Sie mit einer einzigen Funktion - Minute( ) - das gleiche Ergebnis wie mit diesen Funktionen erzielen

if(Minute()!= x)
{

Aktion
x= Minute();

}

Ich danke Ihnen.

Das ist keine Frage des Prinzips. Was immer Ihnen am besten passt
 
MakarFX:

Können Sie mir sagen, warum die "FlagNewBar" benötigt wird?

Ist das nicht das Gleiche?

Das ist eine Angewohnheit aus BASIC. Es ist einfacher, sie zu benutzen.) Sie können es auch ohne sie tun.) Und wenn die Bedingung an mehreren Stellen eingefügt wird, ist der Datensatz kürzer.

Zy. Wenn die Logik verzweigt und hysteresebehaftet ist, kann man auf Flaggen nicht verzichten. Und es ist bequem, sie auszudrucken)
Grund der Beschwerde: