Expert Advisors: VR Breakdown Level - Handelsstrategie auf Basis des Ausbruchs über das vorherige High oder unter das vorherige Low

 

VR Breakdown Level - Handelsstrategie auf Basis des Ausbruchs über das vorherige High oder unter das vorherige Low:

Einfache Handelsstrategie auf Basis des Ausbruchs über vorherige High- oder Low-Level

VR Breakdown Level - Handelsstrategie auf Basis des Ausbruchs über das vorherige High oder unter das vorherige Low

Autor: Vladimir Pastushak

 

So viel Rauschen, und der Code ist an einigen Stellen seltsam.

Zum Beispiel der Teil der Losverifizierung.

// Ermittelt den minimalen Lotschritt für das Symbol
  double stepvol = ::SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);
  if(stepvol > 0)
    // Berechnung der Losgröße, gerundet auf den nächsten gültigen Schritt
    lt = stepvol * (int)(iLots / stepvol);
// Prüfen, ob die berechnete Menge kleiner ist als die zulässige Mindestmenge
  if(lt < ::SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN))
    lt = 0.0;  // Auf 0 setzen, wenn unter dem Minimum (ungültig)
// Erfolgreiche Initialisierung zurückgeben
  return(INIT_SUCCEEDED);
}

Wir haben Lot 0.0

Dann gehen wir zu OnTick() und eröffnen eine Position mit Lot "0.0".

if(trade.Buy(lt))

Dies ist ein interessanter Ansatz, ich denke, der Handel wird profitabel sein.

--

Keine einfache Prüfung auf ausreichendes Kapital, ohne diese Prüfung ist EA schon im Tester unheimlich, ganz zu schweigen vom Demomodus.

--

Ich verstehe die Absicht nicht, warum ein solcher Ansatz, um sich von "wie jeder andere und überall sonst" zu unterscheiden --

  if(new_time != old_time)
    // Aktualisierung von old_time und Rückgabe von true (neuer Balken erkannt)
    if((old_time = new_time) != NULL)
      return(true);

--

Die Überprüfung der TP- und SL-Ordereinstellung ist falsch implementiert - wenn sie fehlschlägt, wird die Position zufällig mit Nullwerten belassen.



 
Vitaly Muzichenko #:

So viel Lärm, und der Code ist an einigen Stellen etwas seltsam

Zum Beispiel der Teil zur Überprüfung des Loses

Wir haben Los 0.0

Dann gehen Sie zu OnTick() und eröffnen eine Position mit Lot "0.0".

Interessanter Ansatz, es wird wahrscheinlich profitabel für den Handel sein

--

Keine einfache Prüfung auf ausreichendes Guthaben, ohne diese Prüfung ist der EA schon im Tester unheimlich, ganz zu schweigen vom Demomodus

--

Ich verstehe die Absicht nicht, warum ein solcher Ansatz, es anders zu machen "wie jeder andere und überall sonst".

--

Die Überprüfung der TP- und SL-Ordereinstellung ist falsch implementiert - wenn sie fehlschlägt, wird die Position zufällig mit Nullwerten belassen

Ein Teil des Codes wurde mit Hilfe erstellt, d.h. ich habe nicht meine eigenen Codes geschrieben, sondern sie aus anderen Quellen übernommen, so dass Programmieranfänger den vertrauten Code sehen können.

So ist der Code um 1 Zeile kürzer, er ist mir bequemer und vertrauter, und Anfänger sehen die zusätzlichen Möglichkeiten der Sprache.

if(new_time != old_time)
    // Aktualisierung von old_time und Rückgabe von true (neuer Balken erkannt)
    if((old_time = new_time) != NULL)
      return(true);

и

if(new_time != old_time)
    // Aktualisierung von old_time und Rückgabe von true (neuer Balken erkannt)
      {
       old_time = new_time;
       return(true);
      }
 
Vitaly Muzichenko #:

Die Prüfung für das Setzen von TP- und SL-Orders ist falsch implementiert - im Falle eines Fehlers wird die Position zufällig mit Nullwerten verlassen

Was sollte damit gemacht werden?

Meine Vision ist es, TP und SL in jedem Fall zu setzen , wenn wir eine Fehlermeldung erhalten, dass der Abstand kleiner ist als das erlaubte Minimum = auf das erlaubte Minimum setzen.

Jetzt in der aktuellen Form, die Reihenfolge ist nicht festgelegt, und die Position bleibt aufgegeben, um zufällig.

 
Hallo, ich sah einen Beitrag, dass in der MT4-Version des EA der Code behoben wurde, aber in der MT5-Version hat der Code behoben worden?