Automatisierte Pending Orders mit RSI - Dein Trading-Helfer für MetaTrader 4

Mike 2014.08.12 22:46 27 0 0
Anhang

Automatisierte Pending Orders mit RSI

Hier sind einige wichtige Punkte, die du beachten solltest:

  1. Automatisierte Pending Orders durch RSI;
  2. Geringeres Risiko am Wochenende und Wiederherstellung der Position in der nächsten Woche;
  3. Versende nützliche Informationen per E-Mail.

Empfehlungen:

1. Setze testmode auf true für Backtests und false für den echten Modus:

extern bool testmode = false; // true: für Backtest

2. Wenn du im Testmodus bist, setze nur eines der Handelsymbol-Arrays, zum Beispiel:

extern string tradesymbol1 = "EURUSDm_802_2802_1602_200_860";
extern string tradesymbol2 = "";
extern string tradesymbol3 = "";
extern string tradesymbol4 = "";
extern string tradesymbol5 = "";
extern string tradesymbol6 = "";

Im echten Kontomodus setze testmode auf false und konfiguriere die Handelsymbole wie folgt (verwende "," zur Trennung der Symbole und "_" zur Trennung der Parameter eines Symbols):

extern string tradesymbol1 = "EURUSDm_802_2802_1602_200_860,USDCHFm_506_2606_1506_120_600";
extern string tradesymbol2 = "USDJPYm_460_2802_1302_100_320";
extern string tradesymbol3 = "";
extern string tradesymbol4 = "";
extern string tradesymbol5 = "";
extern string tradesymbol6 = "";

EURUSDm_802_2802_1602_200_860 bedeutet:

  • Symbol: EURUSDm (m steht für mein Exness-Mini-Konto, möglicherweise musst du es an dein eigenes Symbol anpassen)
  • Pending Pips: 802 (Pending Gap)
  • Wochenend-Pips: 2802 (erweitertes Gap am Wochenende)
  • Cancel Pips: 1602 (wenn das Gap diesen Pips überschreitet, wird die Pending Order geschlossen)
  • Trailing SL: 200 (Trailing Stop Loss)
  • Take Profit: 860 (virtueller Take Profit)

3. Wenn du Pending Orders am Wochenende löschen möchtest, setze weekenddelete auf true, andernfalls, wenn du das Pending Gap erweitern und es in der nächsten Woche wiederherstellen möchtest, setze weekenddelete auf false.

extern bool weekenddelete = false; // true: löschen false: ändern

4. Beginn- und Endzeit des Wochenendmodus (5 steht für Freitag, 7 für Sonntag; die Zeit ist GMT, möglicherweise musst du sie an deine lokale Zeit anpassen; die Standardparameter funktionieren gut in Peking-Zeit):

// Handelsende am Freitag
extern int weekendbeginday = 5;
extern string weekendbegintime = "20:30"; // Freitag 20:30
extern int weekendendday = 7;
extern string weekendendtime = "23:30"; // Sonntag 20:30

5. Alle Symbole (vielleicht kein Handelssymbol), die du per E-Mail über den RSI-Wert informieren möchtest (>>70 oder <30), und die dir regelmäßig Bericht erstatten. Offensichtlich musst du AUDJPYm ändern, wenn dein Konto kein Mini-Konto ist.

string symbolsstr1 = "AUDJPYm,AUDCADm,AUDCHFm,AUDNZDm,AUDSGDm,AUDUSDm,CADCHFm,CADHKDm,CADJPYm,CHFJPYm,CHFPLNm,CHFSGDm,EURAUDm,EURBRLm,EURCADm,EURCHFm,EURDKKm,EURGBPm,EURHKDm,EURHUFm,EURJPYm,EURMXNm";
string symbolsstr2 = "GBPCHFm,GBPJPYm,GBPNZDm,GBPUSDm,HKDJPYm,HUFJPYm,MXNJPYm,NZDCADm,NZDCHFm,NZDJPYm,NZDSGDm,NZDUSDm,SGDJPYm,USDBRLm,USDCADm,USDCHFm,USDCZKm,USDDKKm,USDHKDm,USDHUFm,USDJPYm,USDMXNm";
string symbolsstr3 = "EURNOKm,EURNZDm,EURPLNm,EURRUBm,EURSEKm,EURSGDm,EURTRYm,EURUSDm,EURZARm,GBPAUDm,GBPCADm,USDNOKm,USDPLNm,USDRONm,USDRUBm,USDSEKm,USDSGDm,USDTRYm,USDZARm,XAGUSDm,XAUUSDm,ZARJPYm";
long sendmininterval = 3600;

6. RSI-Konfiguration:

// RSI
extern int rsitimeframe = PERIOD_H4;
extern int rsiperiod = 14;
extern ENUM_APPLIED_PRICE rsiappliedprice = PRICE_CLOSE;
extern int rsishift = 0;
extern double rsiupperline = 70;
extern double rsilowerline = 30;

7. Verwende magicweekendexpiration, um den Wochenendmodus zu identifizieren. Wenn jemand eine bessere Methode hat, lass es mich bitte wissen.

int magicweekendexpiration = 1577836800; // 2020-01-01 0:0:0 intwert:1577836800

8. Sonstiges:

Wenn die Änderung auf den Wochenendmodus fehlschlägt, sendet der EA eine E-Mail und versucht maximal MAX_MODIFY_TRY_TIME (Standard 100) Mal, bis es erfolgreich ist.

Es wird kein Stop Loss angewendet, und wenn ein kleiner Verlustauftrag (min. Kauf oder max. Verkaufsauftrag) eines Symbols die Pending Pips überschreitet, wird der EA einen weiteren Auftrag für dasselbe Symbol pendeln.

Im Testmodus, wenn das Eigenkapital weniger als 95% des Kontostands beträgt, wird der EA den Status in Warnungsdateien schreiben.

if(((AccountEquity()/AccountBalance()) < 0.95)) {
    WriteToWarningFile();
}

Wenn du Bugs entdeckt hast oder Vorschläge hast, lass es mich bitte wissen!

Liste
Kommentar 0