ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests
Répondre • Page 1 sur 1

MQL4 - MagicNumber et Trailing Stop

par Gacanga » 04 avr. 2017 12:39

Bonjour,

Mon robot presque fini. Il fonctionne bien, j'amène donc les finitions.

Je souhaite lui ajouté un Identifiant (MagicNumber) pour pouvoir l'utiliser sur plusieurs indices avec chacun leurs propres paramètres.
Le robot utilise également un Stop Suiveur (TrailingStop) qui se déclenche une fois un certain seuil de points acquis.

Ma question est la suivante :

Dois-je uniquement mettre l'identifiant (MagicNumber) dans l'ouverture de l'ordre (OrderSend) ou faut-il l'inclure également dans la sélection de l'ordre (OrderSelect) pour l'activation du stop suiveur (TrailingStop).
Et si il faut l'inclure, comment rédige-t-on ça proprement ?

D'avance merci à ceux qui pourront m'aider

Re: MQL4 - MagicNumber et Trailing Stop

par AlgoFlex » 04 avr. 2017 15:38

Je crois que tu trouveras ta réponse ici.


https://www.mql5.com/en/articles/1359

Re: MQL4 - MagicNumber et Trailing Stop

par Gacanga » 04 avr. 2017 16:29

Malheureusement il ne gère aucun trailing stop dans ces exemples et il me semble que c'est du MQL5. Je ne connais pas bien les différences mais il y en a.
Merci quand même

Re: MQL4 - MagicNumber et Trailing Stop

par Edd » 04 avr. 2017 17:22

Salut,
C'est bien du mql4. ( pour deviner vite fait, les variables "ask" et "Bid" n'existent pas en mql5)
La différence entre mql4 et mql5 est comme C et C++ .
MQL5 est orienté objet alors que MQL4 ne l'est pas.

Sinon,
il faut utiliser "OrderSymbol()" après OrderSelect pour trier les ordres en cours par forcément besoin de magicnumber

Re: MQL4 - MagicNumber et Trailing Stop

par oscar » 04 avr. 2017 20:50

Bonjour,

Pour gérer ton SL suiveur, à la création de l'ordre tu peux positionner un magic number, (ici EA_MAGIC_NUMBER)

ticket=OrderSend(Symbol(),OP_BUY,Lots,ask,3,0,Bid+TakeProfit*Point,"macd sample",EA_MAGIC_NUMBER,0,Green);

Pour mette à jour le stoploss, tu parcoures les ordres, puis tu modifies l'ordre concerné

const int ordersTotal = OrdersTotal();
for(int i=0;i<ordersTotal;i++)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
Print("error, reason:"+GetLastError());
break;
}
if( OrderMagicNumber() == EA_MAGIC_NUMBER )
{
// Tu modifies ton stoploss
if(!OrderModify(OrderTicket(),OrderOpenPrice(),newstoploss,newtakeprofit,0,Red))
{
Print("error, reason:"+GetLastError());
}
}
}

Comme le souligne Edd, on peut le gérer de plusieurs manières, pas forcément besoin de magicnumber. Personnellement, j'utilise un magic number unique par expertadvisor, en supposant qu'il y a au maximummum 1 seul ordre ouvert à la fois sur cet expert advisor.

Re: MQL4 - MagicNumber et Trailing Stop

par Gacanga » 05 avr. 2017 10:32

Bonjour,

Merci de vos lumières.
J'ai fait avec OrderSymbol et ça semble bien fonctionner.
Je garde aussi l'autre solution des fois que je voudrais differents EA sur un même symbole.

Sujets similaires
Stop Suiveur (Trailing Stop)
par Ernesto » 10 sept. 2013 13:20 (8 Réponses)
PRT cfd à risque limité trailing stop et stop garanti
par Alex44 » 27 avr. 2017 20:56 (17 Réponses)
Trailing Stop??
par Dav4ex » 13 nov. 2015 23:51 (3 Réponses)
[Demo] Systeme Trailing Stop
par Edd » 24 déc. 2016 10:21 (14 Réponses)
Besoin d’aide pour un trailing stop
par Philippe56380 » 06 mars 2019 21:21 (1 Réponses)
Et si on inventait le TRAILING tout simplement ?
par Icarius » 10 sept. 2017 23:05 (16 Réponses)
Recherche dev MQL4
par Eversa » 18 sept. 2014 11:59 (2 Réponses)
Programmation en MQL4 : récupérer le contenu d'un email/SMS
par oscar » 15 févr. 2017 19:18 (3 Réponses)