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 maximum 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.

Articles en relation
[Demo] Systeme Trailing Stop
par Edd » 24 Déc 2016 10:21 (14 Réponses)
Trailing Stop et Magic Number dans un EA - Je n'y arrive pas
par Gacanga » 07 Avr 2017 11:51 (4 Réponses)
Aide Technique MQL4
par Gacanga » 06 Oct 2017 17:43 (2 Réponses)
Un seul trade par bougie - mql4
par Gacanga » 24 Mar 2017 12:31 (3 Réponses)
Programmation en MQL4 : récupérer le contenu d'un email/SMS
par oscar » 15 Fév 2017 19:18 (3 Réponses)
Stop lost en stop suiveur et objectif de sortie en plus?
par GOLDENBOY » 01 Aoû 2015 14:44 (6 Réponses)
HELP Backtesting - stop loss pas exécuté !
Fichier(s) joint(s) par plataxis » 29 Juil 2016 12:58 (7 Réponses)

ProRealTime

Alors partagez-le 5 fois c'est bon pour la santé