Der Artikel Entwicklung eines Handelssystems durch den Indikator Fractals wurde veröffentlicht:
Autor: Mohamed Abdelmaaboud
Bitte beantworten Sie die Fragen.
1. Warum verwenden Sie den Wert des Fraktals für den 2. geschlossenen Balken? Er ist noch nicht gebildet. Ich denke, Sie sollten den Wert des 3. geschlossenen Balkens verwenden:
CopyBuffer(fracDef,UPPER_LINE,3,1,fracUpArray); CopyBuffer(fracDef,LOWER_LINE,3,1,fracDownArray);
2. Warum nennen Sie sie Handelssysteme? Sie machen keine Trades. Sie kommentieren nur den Chart.
2. Warum nennen Sie sie Handelssysteme? Sie machen keine Trades. Sie kommentieren nur den Chart.
Die aktuelle Kerze ist 0, die vorherige ist 1, und die dritte ist 2 und nicht 3.
Handelssysteme, wie sie auf der Grundlage systematischer und logischer Schritte programmiert, um Ihnen zu helfen, zu handeln, auch wenn sie Kommentare sind, können Sie senden Aufträge hinzufügen, wenn Sie sie getestet und fand sie nützlich für Sie.
Die aktuelle Kerze ist 0, die vorherige Kerze ist 1, und die dritte Kerze ist 2 und nicht 3.
Die 3. geschlossene Kerze ist 3. Die aktuelle Kerze (0) ist noch nicht geschlossen, und ihre Verwendung könnte zu vielen Fehleinstiegen führen, insbesondere wenn sie erst kürzlich geöffnet wurde.
Servus, ich habe mir erlaubt, Dein Beispiel „Fractals_with_Alligator“ in die dafür vorgesehenen Funktionen zu implementieren (Deklaration/Definition). Bitte korrigiere mich, wenn ich damit falsch liege😊
//creating arrays double fracUpArray[]; double fracDownArray[]; MqlRates priceArray[]; double jawsArray[]; double teethArray[]; double lipsArray[]; // init int fracDef; int Data; int alligatorDef; //get values double fracUpValue; double fracDownValue; double closingPrice; double jawsValue; double teethValue; double lipsValue; //creating bool variables to aviod buy ans sell signals at the same time bool isBuy; bool isSell; int OnInit() { //creating bool variables to aviod buy ans sell signals at the same time isBuy = false; isSell = false; ArraySetAsSeries(fracUpArray, true); ArraySetAsSeries(fracDownArray, true); ArraySetAsSeries(jawsArray, true); ArraySetAsSeries(teethArray, true); ArraySetAsSeries(lipsArray, true); fracDef = iFractals(_Symbol, _Period); Data = CopyRates(_Symbol, _Period, 0, 3, priceArray); alligatorDef = iAlligator(_Symbol, _Period, 13, 8, 8, 5, 5, 3, MODE_SMMA,PRICE_MEDIAN); return(INIT_SUCCEEDED); } void OnTick() { CopyBuffer(fracDef, UPPER_LINE, 2, 1, fracUpArray); CopyBuffer(fracDef, LOWER_LINE, 2, 1, fracDownArray); CopyBuffer(alligatorDef, 0, 0, 3, jawsArray); CopyBuffer(alligatorDef, 1, 0, 3, teethArray); CopyBuffer(alligatorDef, 2, 0, 3, lipsArray); //get values fracUpValue = NormalizeDouble(fracUpArray[0], 5); fracDownValue = NormalizeDouble(fracDownArray[0], 5); closingPrice = priceArray[0].close; jawsValue = NormalizeDouble(jawsArray[0], 5); teethValue = NormalizeDouble(teethArray[0], 5); lipsValue = NormalizeDouble(lipsArray[0], 5); //conditions of the strategy and comment on the chart //in case of buy if(lipsValue>teethValue && lipsValue > jawsValue && teethValue > jawsValue && closingPrice > teethValue && fracDownValue != EMPTY_VALUE) { Comment("Buy", "\n", "jawsValue = ", jawsValue, "\n", "teethValue = ", teethValue, "\n", "lipsValue = ", lipsValue, "\n", "Fractals Low around: ", fracDownValue); isBuy = true; } // end if //in case of sell if(lipsValue < teethValue && lipsValue < jawsValue && teethValue < jawsValue && closingPrice < teethValue && fracUpValue != EMPTY_VALUE) { Comment("Sell", "\n", "jawsValue = ", jawsValue, "\n", "teethValue = ", teethValue, "\n", "lipsValue = ", lipsValue, "\n", "Fractals High around: ", fracUpValue); isSell = true; } // end if } void OnDeinit(const int reason) { EventKillTimer(); ObjectsDeleteAll(0,0,-1); IndicatorRelease(fracDef); IndicatorRelease(Data); IndicatorRelease(alligatorDef); ArrayFree(fracUpArray); ArrayFree(fracDownArray); ArrayFree(jawsArray); ArrayFree(teethArray); ArrayFree(lipsArray); Comment(""); }
Hallo, danke für so einen klaren Artikel... ich bekomme einen Fehler in meinem Fractal-Code (2024.11.10 17:42:12.121 _24 Dev 3 EA Strat1 (EURUSD,H1) _24 Dev 3 EA Strat1.mq5:void OnDeinit(const int):OnDeinit:48 Error Code:INDICATOR_DATA_NOT_FOUND ) .
Wenn ich Ihren Code ausführe, erhalte ich den gleichen Fehler.
Können Sie bitte helfen. Ich habe viele verschiedene Kombinationen ausprobiert.
Ich schätze die Unterstützung .
Jota
Ich würde gerne wissen, ob es wirklich profitabel ist, dieses System von Ihnen anzuwenden?
Ich habe Fraktale/Alligatoren implementiert (unter Verwendung Ihrer Codes) und meine Erfahrung ist, dass es viele falsche Signale gibt. Das allgemeine Problem mit Fraktalen ist, dass wir 2 Kerzen vor dem Fraktalsignal sind. Ich kombiniere sie mit dem RSI (70/30) und anderen Indikatoren, um zu sehen, ob ich qualitativ gute Einstiegspunkte finden kann.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel Lernen Sie, wie man ein Handelssystem mit den Fraktalen entwickelt :
Dieser Artikel ist ein neuer Teil unserer Serie über die Entwicklung eines Handelssystems auf der Grundlage der beliebtesten technischen Indikatoren. Wir werden einen neuen Indikator kennenlernen, den Fraktal-Indikator oder Fractals, und wir werden lernen, wie man ein darauf basierendes Handelssystem entwickelt, das im MetaTrader 5 Terminal ausgeführt werden kann.
Wir werden für jede der genannten Strategien eine Schritt-für-Schritt-Blaupause entwerfen, die uns dabei hilft, unser Handelssystem einfach zu erstellen, indem wir unsere Ideen ordnen.
1. Hohe und tiefe Fraktale
Auf der Grundlage dieser Strategie müssen wir ein Handelssystem erstellen, mit dem die Höchst- und Tiefstwerte des Fraktal-Indikators als Kommentar auf dem Chgart angezeigt werden können, indem der hohe FracUp-Wert und der tiefe FracDown-Wert kontinuierlich überprüft werden. Wenn fracUp größer als Null oder nicht leer ist und fracDown leer ist, muss das Handelssystem ein Signal auf dem Chart als Kommentar mit dem folgenden Wert zurückgeben:
Im anderen Fall, wenn fracDown größer als Null oder nicht leer und fracUp einen leeren Wert hat, muss das Handelssystem ein Signal auf dem Chart als Kommentar mit dem folgenden Wert zurückgeben:
Das Folgenden ist die Blaupause dieser Strategie:
Autor: Mohamed Abdelmaaboud