MetaTrader4
Heiken Ashi mit Multi-Time-Frame (MTF) für MetaTrader 4: Ein Leitfaden
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!
2017.04.11