Großartiger EA im Backtest! - Seite 112

 
BrazilianTrader:
Welchen Sinn hat es, sich über Berichte von geringer Modellierungsqualität zu beschweren?

Die Leute sollten wissen, dass sie die Qualität ihrer Modellierung verbessern sollten, bevor sie Entscheidungen aufgrund virtueller Ergebnisse treffen;

selbst Backtests mit 90% sind nicht sehr vertrauenswürdig;

Es klingt vernünftig, dass mechanische Händler auf diese Weise arbeiten sollten:

1. Backtesting mit 90%;

2. Demo-Konto für ein paar Monate;

3. Echtes Konto;

4. Gewinn;

5. Lachen.

Ich denke, wir sollten einem EA, der bei einer Modellierungsqualität von 50 % "sehr gut" arbeitet, nicht alle Punkte zugestehen.

Guter Punkt

 
BrazilianTrader:
Modellierungsqualität 50,00% das klingt nicht gut...

Nicht einmal 90 % sind gut genug, aber wenn der Vorwärtstest gute Ergebnisse liefert, dann ist das die Grundlage, auf der wir aufbauen können.

 

Brauche Hilfe bei der Codierung...

Ich brauche hier etwas Hilfe... Ich verstehe nicht, warum das so schwierig ist.

Alles, was ich will, ist eine einfache Close-Order, die auf ein paar Bedingungen basiert.

Dies ist die kurze Hälfte. Es gibt eine weitere Long-Hälfte, die damit korrespondiert.

Aber warum funktioniert dieser Code...

int ExitMarket() // -------------------- Working the open orders -------------------

{

total = OrdersTotal();

for(int cnt = 0; cnt < OrdersTotal(); cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

// We search for orders opened by this code on our currency

if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)// if this code has an open order on this currency

{

if(OrderType() == OP_SELL) // If the obtained order is by the selling of the currency

{

if(Ask >= OrderStopLoss())// Closing order if it reached the level of the stoploss

{

OrderClose(OrderTicket(), OrderLots(), MODE_ASK , SlipPage, Violet); // Close the order

}

else

{

// We close when the direction reverses

if(ADX DIplus1 || Closing > LowerE)

{

total = OrdersTotal();

OrderClose(OrderTicket(), OrderLots(), MODE_ASK , SlipPage, Violet); // Close the order

Print("Patient1 closed short ticket ",OrderTicket()," on a reverse @: ",Ask," Orders remaining open: ",total," BECAUSE cls: ",Closing," > lwrE: ",LowerE," or ADX: ",ADX," DI+1: ",DIplus1);

total = OrdersTotal();

Print(" Orders remaining open: ",total);

}

else

{

Print("stays open");

}

}

}//ifsell

}//if order is open

}//fororders

return(0);

}//exitmarket [/PHP]

why does it produce this output?

[PHP]2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.272 Orders remaining open: 1 BECAUSE cls: 1.2718 > lwrE: 1.2715 or ADX: 30.0152 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.2719 Orders remaining open: 1 BECAUSE cls: 1.2717 > lwrE: 1.2715 or ADX: 30.0152 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:11 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:10 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:10 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.272 Orders remaining open: 1 BECAUSE cls: 1.2718 > lwrE: 1.2715 or ADX: 30.0152 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:10 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:08 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:08 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.2718 Orders remaining open: 1 BECAUSE cls: 1.2716 > lwrE: 1.2715 or ADX: 31.5632 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:08 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

2006.11.06 19:07:30 2006.11.05 23:07 Patient1 EURUSDm,H1: Orders remaining open: 1

2006.11.06 19:07:30 2006.11.05 23:07 Patient1 EURUSDm,H1: Patient1 closed short ticket 1 on a reverse @: 1.2717 Orders remaining open: 1 BECAUSE cls: 1.2715 > lwrE: 1.2715 or ADX: 31.5632 DI+1: 19.1701

2006.11.06 19:07:30 2006.11.05 23:07 Patient1 EURUSDm,H1: found ticket: 1 type: 1 total open orders: 1

WELCHE die Umkehrbedingung nie erfüllt und dennoch die Umkehrlinie ausgibt?

und obwohl er die Umkehrlinie ausgibt, wird die Position nie geschlossen?

 

Warum verschwenden die Leute ihre Zeit mit diesem EA? Es wird nicht auf einem Live-Konto zu arbeiten. Sie werden nicht diese Art von Füllungen erhalten.

 
aegis:
Warum verschwenden die Leute ihre Zeit mit diesem EA? Es wird nicht auf einem Live-Konto funktionieren. Sie werden diese Art von Füllungen nicht bekommen.

Gibt es nicht etwas Besseres?

Ich persönlich bin hier, um zu lernen, ich sammle viel Erfahrung im Programmieren und in der Praxis. Wenn das Ziel ist, zu lernen, dann gibt es eine Menge Wert für mich. Wenn Sie jedoch einen besseren EA für mich haben, mit dem ich meine Zeit verschwenden kann, bin ich ganz Ohr: .....

btw, Sie können dieses Programmierproblem gerne lösen, wenn Sie können.

https://www.mql5.com/en/forum/174700/page75

 
aegis:
Warum verschwenden die Leute ihre Zeit mit diesem EA? Es wird nicht auf einem Live-Konto funktionieren. Sie werden diese Art von Füllungen nicht bekommen.

Interessante Schlussfolgerung, "Dr. EA Specialist"...

Wir fragen uns, welche Erfahrungen Sie wirklich mit diesem EA gemacht haben, um uns zu sagen, dass er nicht funktioniert hat...

Oder zumindest mit irgendeinem EA überhaupt...

Vielleicht, und das scheint das Wahrscheinlichste zu sein, haben Sie überhaupt keine Erfahrung mit irgendeinem EA auf den "klassischen 3 Schritten", und haben Angst, sich Hoffnungen auf eine "magische Formel zum Reichtum" zu machen und enttäuscht zu werden; was ist also einfacher? unseren Verstand zu blockieren und zu sagen, dass dieser EA überhaupt nicht funktioniert, natürlich.

Wie erbärmlich.

Einige sind hier, um zu verlieren, würde man sagen, aber sie sind hier, um zu lernen und zu verbessern, definitiv.

Wir, anders als pple wie Sie, bevorzugen zu testen, zu verlieren, zu verbessern, zu ändern, immer und immer wieder, setzen Sie unsere Sichtweise und glauben an solide oder flexible Strategien, was definitiv auch "akzeptieren Änderungen".

Diese EA könnte scheinen nicht auf einem realen Konto zu arbeiten, aber wir sind hier, um es zu tun.

 

Es scheint, dass ich mein vorheriges Kodierungsproblem gelöst habe.

Dies lässt mich jetzt mit einer neuen Reihe von Problemen und Fragen zu beantworten.

Ich bin zu dem Schluss gekommen, dass aufgrund der Art und Weise, wie dieser EA handelt, es sehr unwahrscheinlich ist, dass einer der traditionellen Indikatoren wirklich viel helfen wird. Es platziert eine große Mehrheit, wenn es ' s Trades innerhalb der gleichen bar so keine trending Indikator wird es intrabar verfolgen. Da es sich um einen Reverse Trader handelt, sind typische Trendindikatoren ohnehin nicht sehr hilfreich.

Es gibt jedoch noch eine Möglichkeit, Trades zu filtern, die noch nicht genutzt wurde, nämlich die einzigartige Entscheidungslogik des Programms. Obwohl es sich um eine ziemlich schwierige Aufgabe handelt, glaube ich, dass es sich lohnt, ein Datenprofil darüber zu erstellen, welche Cyberia-Parameter einen gewinnbringenden Handel ausmachen und welche einen verlustbringenden Handel, IN CYBERIA LOGIC.

Um dies zu tun, schlage ich vor, den Backtester zu verwenden, um im Journal die bestimmenden Parameter zu generieren, die cyberia akzeptiert, wenn es jeden Auftrag öffnet, dann alle Gewinn- und Verlustgeschäfte in ihre jeweiligen Gruppen zu sortieren und dann anhand einer Analyse dieser beiden Gruppen zu sehen, ob es irgendetwas Unterscheidendes gibt, das leicht erkennbar ist und als Filterparameter installiert und verwendet werden kann.

Ich denke, dass der Filmausschnitt, den ich vor einiger Zeit über die Wassertemperatur von 212 Grad gepostet habe, hier zutrifft. Im Moment handelt es sich um 70 - 72%. was gut ist, aber es ist jetzt noch ziemlich Dampf. Es ist heiß, aber es ist wie Wasser bei 211 Grad, es ist ein Grad schüchtern von wirklich nützlich sein. Mein Ziel ist es, dieses eine Grad zu erreichen. Das bedeutet vielleicht nur, dass ich das Gewinn/Verlust-Verhältnis um ein paar Prozent verbessern muss. Wenn ich es auf 80 % schaffe, nur zehn Prozent mehr, wäre das erstaunlich. So wie es ist, ist es schwer, bei dem Programm zu bleiben, denn es scheint nie richtig abzuheben. (so jedenfalls meine Erfahrung)...

Wenn ich diesen Kurs weiterverfolge, frage ich mich, ob mir jemand dabei helfen möchte. Ich habe eine Version des Codes erstellt, die die Daten zu dem Zeitpunkt ausgibt, zu dem der EA die Order öffnet. Dies wird etwa 7 bis 14 Aufträge auf einmal im Journal ausgeben, bevor das Journal beginnt, die Ausgabe zu komprimieren und die Daten verloren gehen. Das bedeutet, dass der Tester, um eine beträchtliche Menge an Daten zu sammeln, viele Male neu gestartet werden muss... es sei denn, jemand bringt mir bei, wie ich es schaffe, all diese Informationen in eine Datei zu drucken.....Ich weiß, dass das möglich ist, ich weiß nur nicht, wie man es macht.

Auf jeden Fall suche ich Leute mit einem IBFX-Mini-Konto, die bei diesem Projekt als Datensammler fungieren möchten, während ich eine Tabellenkalkulation zur Analyse der Daten entwickle. Wenn Sie Interesse haben, lassen Sie es mich per PM wissen und geben Sie mir Ihre E-Mail-Adresse, und ich schicke Ihnen die EA-Version, die ich für die Ausgabe der Daten modifiziert habe. Ich muss noch eine weitere Änderung vornehmen, aber sie ist fast einsatzbereit.

Die Daten, an denen ich am meisten interessiert bin, sind die, die innerhalb desselben Balkens in den von mir bereits identifizierten Turmmustern auftreten. Ich möchte zunächst genügend Testdaten darüber sammeln, was in der Logik von Cyberia vor allem zu diesen Zeiten passiert. Nicht, dass ich denke, die anderen Handelssituationen sollten ignoriert werden, aber sie scheinen nicht so viel Potenzial zu bergen, also konzentriere ich mich auf den Bereich der höchsten wahrscheinlichen Rendite zuerst....

Ich schätze, ich habe genug mit Cybeira gearbeitet, so dass einiges von diesem Wahrscheinlichkeitszeug auf mich abzufärben beginnt.

 

auch hier eine Datei schreiben Beispiel, seine direkt aus dem MT-Editor ...

Dies ermöglicht ya, um eine csv-Datei zu protokollieren, ändern Sie für Ihre Ausgabe Sie wünschen.

int handle;

datetime orderOpen=OrderOpenTime();

handle=FileOpen("c:\cyberia_log.csv", FILE_CSV|FILE_WRITE, ';');

if(handle>0)

{

FileWrite(handle, Close[0], Open[0], High[0], Low[0], TimeToStr(orderOpen));

FileClose(handle);

}

Ich bin auf IBFX live, ich kann Live-Tests für Sie auf Mikro-Lots weiterleiten. Allerdings habe ich andere Live-Trades auf dem Konto, so dass ich die CT-Ergebnisse separat auslesen müsste.

PM mich für E-Mail Adresse

 

Ingenieur zur Miete !!!!

Aaragorn:
Es scheint, dass ich mein vorheriges Codierungsproblem gelöst habe.

Dies lässt mich nun mit einer neuen Reihe von Problemen und Fragen zu beantworten.

Ich bin zu dem Schluss gekommen, dass aufgrund der Art und Weise, wie dieser EA handelt, es sehr unwahrscheinlich ist, dass einer der traditionellen Indikatoren ihm wirklich viel helfen wird. Es platziert eine große Mehrheit, wenn es's Trades innerhalb der gleichen bar so keine trending Indikator wird es intrabar verfolgen. Da es sich um einen Reverse Trader handelt, sind typische Trendindikatoren ohnehin nicht sehr hilfreich.

Es gibt jedoch noch eine Möglichkeit, Trades zu filtern, die noch nicht genutzt wurde, nämlich die einzigartige Entscheidungslogik des Programms. Obwohl es sich um eine ziemlich schwierige Aufgabe handelt, glaube ich, dass es sich lohnt, ein Datenprofil darüber zu erstellen, welche Cyberia-Parameter einen gewinnbringenden Handel ausmachen und welche einen verlustbringenden Handel, IN CYBERIA LOGIC.

Um dies zu tun, schlage ich vor, den Backtester zu verwenden, um im Journal die bestimmenden Parameter zu generieren, die cyberia akzeptiert, wenn es jeden Auftrag öffnet, dann alle Gewinn- und Verlustgeschäfte in ihre jeweiligen Gruppen zu sortieren und dann anhand einer Analyse dieser beiden Gruppen zu sehen, ob es irgendetwas Unterscheidendes gibt, das leicht erkennbar ist und als Filterparameter installiert und verwendet werden kann.

Ich denke, dass der Filmclip, den ich vor einiger Zeit über die Wassertemperatur von 212 Grad gepostet habe, hier zutrifft. Im Moment handelt es sich um 70 - 72%. was gut ist, aber es ist jetzt noch ziemlich Dampf. Es ist heiß, aber es ist wie Wasser bei 211 Grad, es ist ein Grad schüchtern von wirklich nützlich sein. Mein Ziel ist es, dieses eine Grad zu erreichen. Das bedeutet vielleicht nur, dass ich das Gewinn/Verlust-Verhältnis um ein paar Prozent verbessern muss. Wenn ich es auf 80 % schaffe, nur zehn Prozent mehr, wäre das erstaunlich. So wie es ist, ist es schwer, bei dem Programm zu bleiben, denn es scheint nie richtig abzuheben. (so jedenfalls meine Erfahrung)...

Wenn ich diesen Kurs weiterverfolge, frage ich mich, ob mir jemand dabei helfen möchte. Ich habe eine Version des Codes erstellt, die die Daten zu dem Zeitpunkt ausgibt, zu dem der EA die Order öffnet. Dies wird etwa 7 bis 14 Aufträge auf einmal im Journal ausgeben, bevor das Journal beginnt, die Ausgabe zu komprimieren und die Daten verloren gehen. Das bedeutet, dass der Tester, um eine beträchtliche Menge an Daten zu sammeln, viele Male neu gestartet werden muss... es sei denn, jemand bringt mir bei, wie ich es schaffe, all diese Informationen stattdessen in eine Datei zu drucken.....Ich weiß, dass das möglich ist, ich weiß nur nicht, wie man es macht.

Auf jeden Fall suche ich Leute mit einem IBFX-Mini-Konto, die bei diesem Projekt als Datensammler fungieren möchten, während ich eine Tabellenkalkulation zur Analyse der Daten entwickle. Wenn Sie Interesse haben, lassen Sie es mich per PM wissen und geben Sie mir Ihre E-Mail-Adresse, und ich schicke Ihnen die EA-Version, die ich für die Ausgabe der Daten modifiziert habe. Ich muss noch eine weitere Änderung vornehmen, aber sie ist fast einsatzbereit.

Die Daten, an denen ich am meisten interessiert bin, sind die, die innerhalb desselben Balkens in den von mir bereits identifizierten Turmmustern auftreten. Ich möchte zunächst genügend Testdaten darüber sammeln, was in der Logik von Cyberia vor allem zu diesen Zeiten passiert. Nicht, dass ich denke, die anderen Handelssituationen sollten ignoriert werden, aber sie scheinen nicht so viel Potenzial zu bergen, also konzentriere ich mich zunächst auf den Bereich mit der höchsten wahrscheinlichen Rendite....

Ich schätze, ich habe genug mit cybeira gearbeitet, so dass etwas von diesem Wahrscheinlichkeitszeug auf mich abzufärben beginnt.

Ich bin bereit und in der Lage zu helfen, Aragorn. Meine E-Mail-Adresse finden Sie in Ihrer Mailbox.

 

Rückentest

Aaragorn,

Gibt es eine Möglichkeit, cyberia zu reparieren, so dass man Backtests mit den Eröffnungskursen des Balkens durchführen kann. Dies funktioniert derzeit nicht.

Dies ist der zuverlässigste Weg zum Backtesting.

Lesen Sie diesen Artikel.

https://www.mql5.com/en/code/9500

Backtest-Ergebnisse werden immer unzuverlässig sein, wenn ein Auftrag im selben Takt ausgeführt und beendet wird, es sei denn, der Einstieg erfolgt zum Eröffnungskurs oder der Ausstieg zum Schlusskurs. Das liegt daran, dass es unmöglich ist, die Preisbewegung innerhalb eines Balkens zu erkennen. Bei einem Backtest wird eine Schätzung dessen vorgenommen, was während des Balkens passiert ist. Manchmal kann die Schätzung zu einem Fill zu einem Preis führen, der schätzungsweise vor dem Exit liegt, in Wirklichkeit aber erst danach eingetreten ist. Dies kann zu Fills zu unmöglichen Preisen führen, insbesondere wenn sich der Markt schnell in eine Richtung bewegt. Einige Strategien nutzen diese unmöglichen Preise unbeabsichtigt aus, um unmögliche Ergebnisse zu erzielen.

Grund der Beschwerde: