Comment coder ? - page 133

 
bkr1969:
Je ne peux pas utiliser le nombre magique parce que je fais tourner le même EA sur 8 paires différentes. Où se trouve mon message original pour que je puisse le suivre ?

Si un message est déplacé, c'est pour une raison quelconque, comme maintenir l'ordre du forum.

Vos messages ont été déplacés (vers ce fil) mais vous pouvez les suivre facilement car ils ont un jour de redirection.

Peut-être avez-vous besoin d'un peu d'aide pour essayer de trouver vos propres messages.

Si vous vous sentez perdu, avec vBulletin ce n'est pas difficile du tout. Il suffit de cliquer sur votre propre profil, "trouver tous les messages de...".

 

Ordre instantané vs ordres au marché

Bonjour chers collègues programmeurs,

J'ai reçu l'information d'un ami qu'un EA avec des "ordres instantanés" ne fonctionnera pas sur les plateformes MT4 qui n'ont pas de Dealing desk et que cet EA doit être changé en "ordres de marché". Est-ce vrai ? Quelqu'un peut-il le vérifier ?

Merci.

LF

 

C'est la même chose.

Lux

 
luxinterior:
C'est la même chose. Lux

Le sont-ils ? Hmmm... Mon ami a été conseillé par le courtier de faire exactement cela ; changer de "Instant" à "Market" Merci.

Quelqu'un d'autre a un avis différent ?

LF

 

Merci à FerruFx

FerruFx:
Une idée serait de ne pas autoriser le trading après le premier ordre de la journée. Après la fonction ordersend(), placez un "trade = false ;"

Puis réinitialiser l'allocation de transaction à chaque nouveau jour :

if(timeprev!=iTime(Symbol(),PERIOD_D1,0)) { //---- Ceci est un nouveau jour

timeprev = iTime(Symbol(),PERIOD_D1,0) ;

trade = true ; }

Ensuite, lorsque vous vérifiez votre signal :

if(trade) { votre condition de trading ici }

Juste un exemple...

FerruFx

Merci FerruFx. Je vais coder ceci et j'espère que cela fonctionnera maintenant.

fxbeginner

 
fxbeginner:
Merci FerruFx. Je vais coder ceci et j'espère que cela fonctionnera maintenant. fxbeginner

Vous êtes les bienvenus.

FerruFx

 

Problème d'historique de compte

Bonjour à tous,

J'ai programmé un EA qui utilise des ordres à cours limité au lieu d'ordres au marché. Chaque fois qu'une moyenne mobile change, il utilise la fonction OrderModify pour modifier le prix d'ouverture de l'ordre.

Cela fonctionne bien, mais à chaque fois que l'ordre est modifié (assez fréquemment), l'historique du compte contient une nouvelle entrée indiquant que l'ordre a été fermé. Cela masque presque les transactions réelles et les rapports sont très difficiles à lire. Existe-t-il une méthode pour personnaliser les rapports ou l'historique du compte de manière à ce qu'ils n'affichent que les transactions réelles qui ont eu lieu, plutôt que les ordres "modifiés" ?

Merci pour toute réponse

 

Acheter à l'ouverture de la prochaine barre

Bonjour à tous,

Quelqu'un pourrait-il me fournir un exemple de code sur la façon de faire ceci ? J'ai besoin de vérifier si la barre est complète et si elle l'est, placer l'ordre.

Je vous en serais reconnaissant.

 
callan300:
Bonjour à tous,

Quelqu'un pourrait-il me fournir un exemple de code sur la façon de procéder ? Je dois vérifier si la barre est complète et si c'est le cas, passer l'ordre.

J'apprécie beaucoup cette solution.

C'est très simple. Il suffit de faire quelque chose comme :

if (iBars>Bars){

Code à exécuter lorsqu'une nouvelle barre arrive ;

Bars=iBars ;

}

 
InTrance:
C'est très simple. Il suffit de faire quelque chose comme :

if (iBars>Bars){

Code à exécuter à l'arrivée d'une nouvelle barre ;

Bars=iBars ;

}

InTrance

Comme vous le savez, 'Bars' et 'iBars' sont des mots clés dans MT (iBars() étant une fonction intégrée), et ne devraient pas être utilisés dans la fastion indiquée, cela causerait une erreur car vous ne pouvez pas définir le mot clé 'Bars' à une autre valeur. et l'utilisation de iBars comme un nom vérifiable serait également confuse. Je comprends votre point de vue, mais quelqu'un qui ne connaît pas bien le langage MQ sera induit en erreur par votre choix de noms variables, surtout s'il les reprend dans son code.

Keit