RC Soldiers and Crows MT5
- Indikatoren
- Francisco Rayol
- Version: 1.3
- Aktualisiert: 3 August 2024
- Aktivierungen: 10
Dieser Indikator identifiziert und informiert genau über Marktumkehrungen und Fortsetzungsmuster, indem er das Muster der drei weißen Soldaten / drei schwarzen Krähen analysiert und anzeigt. Er bietet auch ein "Echtzeit-Backtesting"-Panel im Indikator selbst, so dass jede Änderung an den Indikatorparametern dem Benutzer sofort anzeigt, wie viele Signale aufgetreten sind, wie viele Take-Profits und Stop-Losses getroffen wurden und, indem er diese Informationen hat, die Win-Rate und den Profit-Faktor des Setups auf der Grundlage der vom Benutzer definierten Parameter.
- Benutzerfreundliches Interface und Multi-Asset-Kompatibilität
- Vollständig anpassbare Parameter und Farben
- Übersichtliches Panel mit Echtzeit-Backtesting und Statistikinformationen
- Bietet viele verschiedene traditionelle Indikatoren zum Filtern der Signale (Gleitender Durchschnitt, Bollinger Bands, Parabolic Sars, ADX und RSI), die zusammen im Indikator selbst verwendet werden können, um die besten Signale zu optimieren, die für die Strategie und das Wissen des Benutzers geeignet sind
- Zeitstundenfilter, so dass der Benutzer Backtests durchführen kann und nur Signale erhält, die mit seiner Handelsroutine kompatibel sind
- Anzeige von Take Profit- und Stop Loss-Levels, die vom Benutzer definiert werden, basierend auf: a) Fixpunkten, b) Pivot-Levels oder c) x Kerzen vor dem Signal
- Ein- und Ausschalten von Alarmen und App-Benachrichtigungen beim Auftreten neuer Signale
- Wird nicht neu gezeichnet
- Kann seine Signale leicht in einen Expert Advisor umwandeln. Volle Unterstützung gewährt.
FÜR MT4 VERSION: HIER KLICKEN
//+-------------------------------------------------------------------------+ //| RC_Soldiers_Crows_EA_Sample.mq5| //|Urheberrecht 2024, Francisco Rayol| //| https://www.rayolcode.com //+-------------------------------------------------------------------------+ #property description "RC_Soldiers_Crows_EA_Sample" #property version "1.00" #property strict #property script_show_inputs #include <Trade\Trade.mqh> #include <Trade\PositionInfo.mqh> CTrade Ctrade; CPositionInfo Cposition; enum en_options { Yes = 0, // Ja No = 1, // Nein }; enum tp_type { Fixed_tp = 0, // Feste Gewinnmitnahme Indicator_tp = 1, // Profitieren Sie vom Indikator }; enum sl_type { Fixed_sl = 0, // Fester Stop-Loss Indicator_sl = 1, // Stop Loss vom Indikator }; //--- Eingabeparameter input int inMagic_Number = 18272; // Magische Zahl //---- input double inLot_Size = 0.01; // Ursprüngliche Losgröße //---- input tp_type inTP_Type = 0; // Gewinnmitnahme-Methode wählen input double inTake_Profit = 150.0; // Feste Gewinnmitnahme (in Punkten) input sl_type inSL_Type = 0; // Stop-Loss-Methode wählen input double inStop_Loss = 100.0; // Fester Stop-Loss (in Punkten) //---- //+------------------------------------------------------------------+ //|| //+------------------------------------------------------------------+ //--- Signalgriffe int handle_rc_soldiers_crows; //--- Signal-Arrays double RC_Buy_Signal[], RC_Sell_Signal[], RC_Take_Profit[], RC_Stop_Loss[]; //--- globale Variablen int initial_bar; //+------------------------------------------------------------------+ //| Experten-Initialisierungsfunktion| //+------------------------------------------------------------------+ int OnInit() { //--- initial_bar = iBars(_Symbol,_Period); //--- //--- RC-Soldaten und Krähen Blinkergriff handle_rc_soldiers_crows = iCustom(_Symbol, PERIOD_CURRENT, "\\Indicators\\Market\\RC_Soldiers_Crows.ex5"); if(handle_rc_soldiers_crows == INVALID_HANDLE) { Print("Error getting information from \"RC_Soldiers_Crows\" indicator, check input parameters and try again"); Alert("Error getting information from \"RC_Soldiers_Crows\" indicator, check input parameters and try again"); return(INIT_FAILED); } //--- ArraySetAsSeries(RC_Buy_Signal, true); ArraySetAsSeries(RC_Sell_Signal, true); ArraySetAsSeries(RC_Take_Profit, true); ArraySetAsSeries(RC_Stop_Loss, true); //--- Ctrade.SetExpertMagicNumber(inMagic_Number); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Experten-Deinitialisierungsfunktion| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- Comment(""); } //+------------------------------------------------------------------+ //| Experten-Tick-Funktion| //+------------------------------------------------------------------+ void OnTick() { //--- Brief- und Geldkurse double Ask = SymbolInfoDouble(_Symbol,SYMBOL_ASK); double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); //+------------------------------------------------------------------+ //--- Indikator-Signale //--- RC_Soldaten_Krähen Signal: kaufen if(CopyBuffer(handle_rc_soldiers_crows,0,0,2,RC_Buy_Signal)<=0) // Kaufsignal { Print("Getting RC_Soldiers_Crows data is failed! Error ",GetLastError()); return; } //--- RC_Soldaten_Krähen Signal: verkaufen if(CopyBuffer(handle_rc_soldiers_crows,1,0,2,RC_Sell_Signal)<=0) // Verkaufssignal { Print("Getting RC_Soldiers_Crows data is failed! Error ",GetLastError()); return; } //--- RC_Soldiers_Crows Signal: Gewinn mitnehmen if(CopyBuffer(handle_rc_soldiers_crows,10,0,2,RC_Take_Profit)<=0) // Gewinnmitnahmepreis { Print("Getting RC_Soldiers_Crows data is failed! Error ",GetLastError()); return; } //--- RC_Soldiers_Crows Signal: Stop Loss if(CopyBuffer(handle_rc_soldiers_crows,11,0,2,RC_Stop_Loss)<=0) // Stop-Loss-Kurs { Print("Getting RC_Soldiers_Crows data is failed! Error ",GetLastError()); return; } //+------------------------------------------------------------------+ //--- if(!F_CheckOpenOrders() && initial_bar!=iBars(_Symbol,_Period)) { if(RC_Buy_Signal[1] != 0.0 && RC_Buy_Signal[1] != EMPTY_VALUE) { if(Ctrade.Buy(inLot_Size, _Symbol, Ask, inSL_Type == 0 ? Bid - inStop_Loss*_Point : RC_Stop_Loss[1], inTP_Type == 0 ? Ask + inTake_Profit*_Point : RC_Take_Profit[1],"Buy open")) { initial_bar = iBars(_Symbol,_Period); } else Print("Error on opening buy position :"+IntegerToString(GetLastError())); } else if(RC_Sell_Signal[1] != 0.0 && RC_Sell_Signal[1] != EMPTY_VALUE) { if(Ctrade.Sell(inLot_Size, _Symbol, Bid, inSL_Type == 0 ? Ask + inStop_Loss*_Point : RC_Stop_Loss[1], inTP_Type == 0 ? Bid - inTake_Profit*_Point : RC_Take_Profit[1],"Sell open")) { initial_bar = iBars(_Symbol,_Period); } else Print("Error on opening sell position :"+IntegerToString(GetLastError())); } } //--- } //--- //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ bool F_CheckOpenOrders() { for(int i = 0; i<PositionsTotal(); i++) { Cposition.SelectByIndex(i); { long ord_magic = PositionGetInteger(POSITION_MAGIC); string ord_symbol = PositionGetString(POSITION_SYMBOL); ENUM_POSITION_TYPE type = Cposition.PositionType(); if(ord_magic==inMagic_Number && ord_symbol==_Symbol) return(true); } } return(false); } //+------------------------------------------------------------------+
Wie man mit diesem Indikator handelt
Obwohl der Indikator als eigenständiges Handelssystem verwendet werden kann, da er Informationen über die Gewinnrate und den Gewinnfaktor bietet, kann er auch in Verbindung mit einigen der unten aufgeführten Handelssysteme verwendet werden:
#1 Als Trendbestätigung in einem Moving Average Crossing Setup
Aufbau: Ein schneller exponentieller gleitender Durchschnitt mit 50 Perioden, ein langsamer exponentieller gleitender Durchschnitt mit 200 Perioden, Zeitrahmen M5, ein beliebiger volatiler Vermögenswert wie zum Beispiel XAUUSD.
Warten Sie auf einen Crossover zwischen den beiden obigen Durchschnitten. Eröffnen Sie eine Position erst dann, wenn der Indikator nach dieser Überkreuzung ein Signal in Richtung des Trends gibt, der durch die Überkreuzung des schnelleren Durchschnitts im Verhältnis zum langsameren angezeigt wird. Setzen Sie den Stop-Loss an den Pivot-Punkten für eine höhere Trefferquote.(Klicken Sie hier für weitere Details)
#2 Als Bestätigungssignal bei einem Breakout-System
Aufbau: Finden Sie den aktuellen Haupttrend, zeichnen Sie einen Konsolidierungskanal und suchen Sie nach Ausbrüchen in dessen Richtung. Wenn der Indikator ein Signal außerhalb des Kanals gibt, das den Ausbruch bestätigt, eröffnen Sie eine entsprechende Position.(Klicken Sie hier für weitere Details)
#3 Swing-Trading auf höheren Zeitebenen unter Verwendung des inneren gleitenden Durchschnittsfilters
Setup: Fügen Sie den Indikator auf einem hohen Zeitrahmen wie H4 oder höher hinzu. Verwenden Sie den Filter "Gleitender Durchschnitt", der im Indikator selbst vorhanden ist. Aktivieren Sie danach auch die Option "Eine Signalrichtung auf einmal".
Eröffnen Sie eine Kaufposition, wenn der Indikator sie signalisiert, und schließen Sie sie erst, wenn ein neues Verkaufssignal erscheint oder umgekehrt.
//----
Die besten Ergebnisse erzielen Sie, wenn Sie dieses Setup in Richtung des größeren Trends verwenden und Aufträge nur in dessen Richtung eröffnen, insbesondere bei Vermögenswerten, die eine klar definierte fundamentale Ausrichtung haben, wie der SP500, der Nasdaq-Index oder sogar Gold(klicken Sie hier für weitere Details).
Ich empfehle Ihnen auch, den Artikel "Trading with a Bias vs. Trading without a Bias: A Deep Dive on How to Boost your Performance in Automatic Trading" zu lesen, um besser zu verstehen, wie Sie mit Algo-Trading bessere Ergebnisse erzielen können.(hier klicken)
Eingabeparameter
- Setup-Definition: Legen Sie die Reihenfolge der Kerzen fest, um das Muster zu verifizieren; Legen Sie fest, wie viele Kerzen in der Vergangenheit analysiert werden sollen; Wählen Sie aus, welche Signale angezeigt werden sollen; Nur wenn ein Umkehrsignal vor dem Muster erkannt wird; Ein Signal auf einmal; Umkehrung des Signals; Anzeigen des Statistikpanels
- Visuelle Aspekte: Farbe des Aufwärtspfeils; Farbe des Abwärtspfeils; Farbe der Take-Profit-Linie; Farbe der Stop-Loss-Linie; Farbe für aktives aktuelles Signal; Farbe für vergangene Signale
- Definition der Handelsbereiche: Anzeigen der Stop-Loss-Regionen; Festlegen des Stop-Loss-Modells (1 - auf Pivot-Ebenen, 2 - Fixpunkte, 3 - Kerzen der Sequenz); Anzeigen der Take-Profit-Regionen; Festlegen des Take-Profit-Modells (1 - Fixpunkte, 2 - x-mal multipliziert mit dem Stop-Loss)
- Definition der Höchstwerte: Legen Sie einen Maximalwert für den Stop Loss in Punkten fest (wahr oder falsch); Maximale Stop Loss Punkte; Legen Sie einen Maximalwert für den Take Profit in Punkten fest (wahr oder falsch); Maximale Take Profit Punkte
- Indikator-Filter: Wählen Sie aus, welcher Indikator als Filter verwendet werden soll (1 - Kein Indikator-Filter, 2 - Gleitender Durchschnitt-Filter, 3 - Bollinger-Bänder-Filter, 4 - ADX-Filter, 5 - RSI-Filter)
- Stunden-Filter: Stundenfilter verwenden (wahr oder falsch); Stundenfilterlinien anzeigen (wahr oder falsch); Uhrzeit für den Beginn des Stundenfilters (Format HH:MM); Uhrzeit für das Ende des Stundenfilters (Format HH:MM)
- Definition des Alarms: Alarmton bei jedem neuen Signal (wahr oder falsch); Alarm-Pop-up bei jedem neuen Signal (wahr oder falsch); Benachrichtigung bei jedem neuen Signal (wahr oder falsch)
Haftungsausschluss
Mit dem Kauf und der Nutzung dieses Indikators erklären sich die Nutzer bereit, den Autor von allen Ansprüchen, Schäden, Verlusten oder Haftungen freizustellen, die sich aus der Nutzung des Indikators ergeben. Handel und Investitionen sind mit Risiken verbunden, und die Benutzer sollten ihre finanzielle Situation und Risikotoleranz sorgfältig abwägen, bevor sie diesen Indikator verwenden.

Awesome indicator, thanks for your quick response.