Automated Trading Championship 2007: Häufige Fehler bei Experten - Seite 8

 
Entweder das
 if(OrderStopLoss()!=(Bid-Point*TrailingStop))
In beiden Fällen prüfen wir, ob der Stop-Loss in Pips und der Ausdruck in Pips angegeben ist.

Auch wer Lose in 0,1er-Schritten und mit einem Limit von bis zu 5 Losen benötigt

TmpRound = MathRound(Lots/0.1);
        Lots = TmpRound*0.1;       
        if(Lots>5)Lots=5;
        if(Lots<0.1)Lots=0.1;
 
1) Es wäre gut, nicht nur häufige Fehler bei Sachverständigen aufzuzeigen, sondern auch Wege zur Lösung dieser Probleme zu zeigen.

2) Es wäre für alle nützlich. Aber zum Beispiel wird der klassische MACD Sample.mq4 Expert Advisor, der von seinen Entwicklern als Beispiel geschrieben wurde, den Test selbst wegen Fehler Nr. 1 nicht bestehen.
Warum sollte ein Berufsanfänger ein Beispiel für eine korrekte Lösung sehen?

3) Übrigens ist es eine gute Idee, einen einfachen Expert Advisor, z.B. auf Basis des Medians, als Beispiel zu belassen, der alle Anforderungen erfüllt und die guten Regeln für die Programmierung eines Expert Advisors aufzeigt. Viele Menschen würden es zu schätzen wissen. Das wäre eine gute Werbung für MQL4 als Basis für den Aufbau automatischer Handelssysteme.
 
AstaLavista:
1) Es wäre eine gute Idee, nicht nur häufige Fehler in EAs zu identifizieren, sondern auch Wege zur Lösung dieser Probleme aufzuzeigen.

2) Alle würden davon profitieren. Aber zum Beispiel wird der klassische MACD Sample.mq4 Expert Advisor, der als Beispiel geschrieben wurde, den Test selbst wegen Fehler Nr. 1 nicht bestehen.
Warum sollte ein Berufsanfänger ein Beispiel für eine korrekte Lösung sehen?

3) Übrigens ist es eine gute Idee, einen einfachen Expert Advisor, z.B. auf Basis des Medians, als Beispiel zu belassen, der alle Anforderungen erfüllt und die guten Regeln für die Programmierung eines Expert Advisors aufzeigt. Viele Menschen würden es zu schätzen wissen. Das wäre eine gute Werbung für MQL4 als Basis für den Aufbau automatischer Handelssysteme.


Goldene Worte!

Ich hoffe, dass dies zumindest in den geplanten "Assistenten"-Vorlagen für die Codeerstellung berücksichtigt werden wird.

 
2 AstaLavista: Der Code von Rosh für das Trailing ist korrekter (obwohl Sie oldTP in oldSL und newTP in newSL in der eingeklammerten Vergleichszeile ändern sollten) - seine Bedingung ist ">". Und in Ihrem Fall, wenn der Preis rollt zurück, dann wird das Trailing auch rollen zurück, weil die Bedingung erfüllt sein wird!
 
Stepler2442:
2 AstaLavista: Der Code von Rosh für das Trailing ist korrekter (obwohl Sie oldTP in oldSL und newTP in newSL in der eingeklammerten Vergleichszeile ändern sollten) - seine Bedingung ist ">". Und in Ihrem Fall, wenn der Kurs zurückgeht, geht auch das Trailing zurück, weil die Bedingung erfüllt wird!
In diesem Fall ersetzen Sie einfach für den Fall von bay mit
 if(OrderStopLoss()<(Bid-Point*TrailingStop)

bei gleichen Werten wird die Bedingung nicht erfüllt, wodurch Fehler Nr. 1 vermieden wird, und bei Werten unterhalb des eingestellten Stopps wird die Änderung nicht durchgeführt - mit anderen Worten, er funktioniert als vollwertiger Trailing-Stop
OrderStopLoss() и (Bid-Point*TrailingStop)

 
Stepler2442:
2 AstaLavista: Der Code von Rosh für das Trailing ist korrekter (obwohl Sie oldTP in oldSL und newTP in newSL in der eingeklammerten Vergleichszeile ändern sollten) - seine Bedingung ist ">". Und in Ihrem Fall, wenn der Preis rollt zurück, dann wird das Trailing auch rollen zurück, weil die Bedingung erfüllt sein wird!
Danke, ich habe es korrigiert.
 
AstaLavista:
Stepler2442:
2 AstaLavista: Rosh's Code für Trailing ist korrekter (obwohl Sie oldTP in oldSL und newTP in newSL in Klammern ändern sollten) - er hat eine ">" Bedingung. Und in Ihrem Fall, wenn der Kurs zurückgeht, wird auch das Trailing zurückgehen, weil die Bedingung erfüllt ist!

In diesem Fall ersetzen Sie einfach den Gehäuseschacht durch
.
 if(OrderStopLoss()<(Bid-Point*TrailingStop)


Ja, es wird funktionieren. Der einzige Unterschied und ein gewisser Vorteil des von Rosh vorgeschlagenen Trailing ist, dass Sie damit nicht nur Trailing, sondern auch Schritte machen können, so dass Sie sich nicht um jeden Pip kümmern und Ihren Broker nicht mit einem Strom von Änderungen belästigen müssen :)
 

Leider klappt es manchmal nicht (das habe ich auch schon erlebt), aber das wird immer funktionieren:

if(NormalizeDouble(OrderStopLoss(),Digits) < NormalizeDouble(Bid-Point*TrailingStop,Digits))
 
Es wäre schön, wenn wir die beste Lösung für alles finden könnten, in Form eines vorbildlichen Beraters...
 

Meine Herren, ist das Protokoll, das als Ergebnis der automatischen Prüfung erstellt wurde, zum Herunterladen und Ansehen verfügbar? Ich kann sie nicht in meinem Profil finden.

Grund der Beschwerde: