Beschreibung
In diesem Beitrag schauen wir uns ein Beispiel für Heiken Ashi Kerzen an.
- Es werden ausschließlich Pending Orders (Buy-Limit und Sell-Limit) verwendet.
- Hedging ist möglich (durch die Verwendung unterschiedlicher Magic Numbers).
- Ein Filter ist möglich (über zwei Zeitrahmen, wie im folgenden Code dargestellt).
Hier sind die Hauptideen dieses Systems in den folgenden beiden Funktionen:
int AshiUp(int TF=PERIOD_CURRENT) { double haLowHigh_1 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,0,1); double haOpen_1 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,2,1); double haClose_1 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,3,1); double haLowHigh_0 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,0,0); double haOpen_0 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,2,0); double haClose_0 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,3,0); if((haClose_0>haOpen_0 && haOpen_0==haLowHigh_0) && (haClose_1>haOpen_1 && haOpen_1!=haLowHigh_1)) return(1); else return(0); } int AshiDown(int TF=PERIOD_CURRENT) { double haLowHigh_1 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,0,1); double haOpen_1 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,2,1); double haClose_1 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,3,1); double haLowHigh_0 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,0,0); double haOpen_0 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,2,0); double haClose_0 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,3,0); if((haClose_0<haOpen_0 && haOpen_0==haLowHigh_0) && (haClose_1<haOpen_1 && haOpen_1!=haLowHigh_1)) return(1); else return(0); }
Hier ist der Code zum Erkennen eines Kaufs:
//--- Handel if(TotalOrdersCount(MagicNumberBuy)<1) if(AshiUp(1440)==1 && AshiUp()==1) BuyExecute();
Zusätzlich ist es nicht erlaubt, mit Edelmetallen zu handeln, wie Sie im folgenden Code sehen können:
//+------------------------------------------------------------------+ //| Funktion zur Initialisierung des Experten //+------------------------------------------------------------------+ int OnInit() { Comment(" "); if(Symbol()=="Gold" || Symbol()=="GOLD" || Symbol()=="gold" || Symbol()=="XAUUSD" || Symbol()=="AUCMDUSD" || Symbol() == "Silber" || Symbol() == "SILBER" || Symbol() == "silber" || Symbol() == "XAGUSD" || Symbol() == "E_SI" || Symbol() == "Kupfer" || Symbol() == "KUPFER" || Symbol() == "kupfer" || Symbol() == "CUCMDUSD" || Symbol() == "XAUEUR" || Symbol() == "Gold.Euro" || Symbol() == "Gold.Eur" || Symbol() == "XAGEUR" || Symbol() == "Silber.Euro" || Symbol() == "Silber.Eur" || Symbol() == "USOil" || Symbol() == "USOIL" || Symbol() == "UKOil" || Symbol() == "UKOIL" || Symbol() == "NGAS" || Symbol() == "NGas" || Symbol() == "Bund" || Symbol() == "BUND" || Symbol() == "bund" || Symbol() == "Öl" || Symbol() == "Brent" || Symbol() == "BRENT" || Symbol() == "brent" || Symbol() == "Crude" || Symbol() == "KUPFER" || Symbol() == "BRENTCMDUSD" || Symbol() == "WTI" || Symbol() == "Light" || Symbol() == "LIGHT" || Symbol() == "LIGHTCMDUSD" || Symbol() == "KUPFER" || Symbol() == "Palladium" || Symbol() == "PALLADIUM" || Symbol() == "palladium" || Symbol() == "PDCMDUSD" || Symbol() == "Platin" || Symbol() == "PLATINUM" || Symbol() == "platin" || Symbol() == "PTCMDUSD" ) { Comment(SymbolErr); Alert(SymbolErr); return(INIT_FAILED); } . . . }
Bild

Empfehlungen
- Dieser Beispielcode ist nur für Coder/Trader gedacht, die an kostenlosen Codes interessiert sind, um daraus zu lernen oder ihn in Zukunft zu modifizieren.
- Verwenden Sie ihn nicht im Echtgeldhandel.
- Nutzen Sie ihn nur im Demokonto oder im Strategie-Tester.
- Sie können die Zeilen (von 55 bis 70) entfernen, um es mit Edelmetallen auszuprobieren.
Viel Erfolg!
Kommentar 0