Bonjour,
Bon j'ai trouvé, c'est en effet possible la fonction suivante le permet :
double iMA(string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)
Voici mon code finalisé pour ceux qui voudraient s'en inspirer :
void OnTick() { double smmaM15[], smmaM1[], emaM15[], emaM1[]; int MysmmaM15 = iMA (_Symbol,PERIOD_M15,3,0,MODE_SMMA,PRICE_CLOSE); int MyemaM15 = iMA (_Symbol,PERIOD_M15,21,0,MODE_EMA,PRICE_CLOSE); int MysmmaM1 = iMA (_Symbol,PERIOD_M1,3,0,MODE_SMMA,PRICE_CLOSE); int MyemaM1 = iMA (_Symbol,PERIOD_M1,21,0,MODE_EMA,PRICE_CLOSE); ArraySetAsSeries(smmaM15,true); ArraySetAsSeries(emaM15,true); ArraySetAsSeries(smmaM1,true); ArraySetAsSeries(emaM1,true); CopyBuffer(MysmmaM15,0,0,3,smmaM15); CopyBuffer(MyemaM15,0,0,3,emaM15); CopyBuffer(MysmmaM1,0,0,3,smmaM1); CopyBuffer(MyemaM1,0,0,3,emaM1); if( (smmaM15[0] > emaM15[0]) && (smmaM1[1] > emaM1[1]) ) { Comment("BUY"); } if( (smmaM15[0] > emaM15[0]) && (smmaM1[1] < emaM1[1]) ) { Comment("DO NOT ENTRY"); } if( (smmaM15[0] < emaM15[0]) && (smmaM1[1] < emaM1[1]) ) { Comment("SELL"); } if( (smmaM15[0] < emaM15[0]) && (smmaM1[1] > emaM1[1]) ) { Comment("DO NOT ENTRY"); } }
@+
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Bonjour,
Je veux savoir si il est possible de coder un script qui permet de rentrer en position sur une petite timeframe uniquement si certains critères sont respectés sur une plus haute timeframe ?
Exemple simple :
Sur la timeframe M15, si l'EMA 21 est au dessus de l'EMA 50
Sur la timeframe M1, si l'EMA 21 croise l'EMA 50 à la hausse
-> Rentrer en position LONG
Sur la timeframe M15, si l'EMA 21 est en dessous de l'EMA 50
Sur la timeframe M1, si l'EMA 21 croise l'EMA 50 à la hausse
-> Ne PAS rentrer en position
Cordialement,