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(""); }
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
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