Comment Gérer vos Ordres Automatiques avec le RSI sur MetaTrader 4

Mike 2014.08.12 22:46 38 0 0
Pièce jointe
  1. Commandes en attente automatiques basées sur le RSI;
  2. Réduire le risque pendant le week-end et restaurer les positions la semaine suivante;
  3. Envoyer des informations utiles par mail.

Recommandations :

1. Activez le mode test (testmode) en mettant true pour les backtests, et false pour le mode réel :

externbool testmode = false;//true : pour le backtest

2. En mode test, ne définissez qu'un seul symbole de la liste des tradesymbol, par exemple :

externstring tradesymbol1 = "EURUSDm_802_2802_1602_200_860";
externstring tradesymbol2 = "";
externstring tradesymbol3 = "";
externstring tradesymbol4 = "";
externstring tradesymbol5 = "";
externstring tradesymbol6 = "";

Si vous êtes en mode compte réel, réglez testmode sur false, et configurez les tradesymbol comme suit (utilisez une virgule pour séparer les symboles et un underscore pour les paramètres d'un symbole) :

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

Le symbole EURUSDm_802_2802_1602_200_860 signifie :

  • symbole : EURUSDm(m signifie mon compte mini Exness, vous devez probablement modifier cela selon votre propre symbole)
  • pips en attente : 802 (écart en attente)
  • pips supplémentaires le week-end : 2802 (écart élargi le week-end)
  • pips d'annulation : 1602 (si l'écart dépasse ce montant, fermez la commande en attente)
  • trailing stop : 200 (trailing stop loss)
  • take profit : 860 (take profit virtuel)

3. Si vous souhaitez supprimer les ordres en attente le week-end, mettez weekenddelete sur true, sinon si vous souhaitez élargir l'écart en attente et le restaurer la semaine suivante, mettez weekenddelete sur false.

externbool weekenddelete = false;//true : supprimer false : modifier

4. Heure de début et de fin pour le mode week-end (5 pour vendredi, 7 pour dimanche ; l'heure est GMT, vous devrez peut-être l'ajuster avec votre heure locale, les paramètres par défaut fonctionnent bien en Heure de Pékin) :

// Heure de fin de trading le vendrediexternint weekendbeginday = 5;
externstring weekendbegintime = "20:30";// vendredi 20:30externint weekendendday = 7;
externstring weekendendtime = "23:30";// dimanche 20:30

5. Tous les symboles (peut-être pas des symboles de trading) pour lesquels vous souhaitez recevoir une alerte sur la valeur RSI (>70 ou vous devez modifier AUDJPYm si votre compte n'est pas un mini compte.

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. Configuration du RSI :

//rsiexternint rsitimeframe = PERIOD_H4;
externint rsiperiod = 14;
externENUM_APPLIED_PRICE rsiappliedprice = PRICE_CLOSE;
externint rsishift = 0;
externdouble rsiupperline = 70;
externdouble rsilowerline = 30;

7. Utilisez magicweekendexpiration pour identifier le mode week-end, si quelqu'un a une meilleure méthode, merci de me le faire savoir.

int magicweekendexpiration = 1577836800;//2020-1-1 0:0:0 intvalue:1577836800

8. Autres :

Si la modification en mode week-end échoue, l'EA enverra un mail et tentera MAX_MODIFY_TRY_TIME (100 par défaut) fois jusqu'à ce que cela réussisse.

Aucun stop loss appliqué, et si une commande avec une petite perte (commande d'achat minimale ou commande de vente maximale) d'un symbole dépasse les pips d'attente, l'EA pendra une autre commande du même symbole.

En mode test, si l'équité est inférieure à 95% du solde, l'EA écrira l'état dans des fichiers d'avertissement.

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

Si vous avez trouvé des bugs ou avez des suggestions, n'hésitez pas à me le faire savoir.

Liste
Commentaire 0