Questions des débutants MQL5 MT5 MetaTrader 5 - page 871

 

Lors de l'exécution dans le testeur, le prix actuel = 4843. Les hiboux mettent une limite de saisie sur le prix de 10.

Comment cela est-il possible, comment peut-on l'éviter ?

mrak

 
lil_lil:

Lors de l'exécution dans le testeur, le prix actuel = 4843. Les hiboux mettent une limite de saisie sur le prix de 10.

Comment cela est-il possible, comment l'éviter ?


Émettre le prix correct pour définir l'ordre en attente.

 
Vladimir Karputov:

Émettre le prix correct pour définir l'ordre en attente.

Une fois que ce selimit devient une position, la mise en place d'autres ordres limites se fait sans problème.

               ExtStep=10*m_adjusted_point;
               m_trade.SellLimit(checkVolumeValue(loot),m_symbol.Bid()+ExtStep);
Quel est le mauvais prix ?
 
lil_lil:

Une fois que ce selimit devient une position, la mise en place d'autres ordres limites se fait sans problème.

Quel est le mauvais prix ?

m_symbol.Bid() - ceci contient clairement soit des déchets, soit un ancien prix.

Nous devrions d'abord rafraîchir le prix :

   if(!RefreshRates())
      return;

et ensuite nous devrions émettre un ordre de transaction pour placer un ordre en attente.

 
Vladimir Karputov:

m_symbol.Bid() - ceci contient clairement soit des déchets, soit l'ancien prix.

Le prix doit être mis à jour en premier :

et ensuite émettre un ordre de transaction pour placer un ordre en attente.

Il y a

 if(!RefreshRates())
            return;

avant d'envoyer une commande

 
lil_lil:

Il y a

avant d'envoyer la commande

Avant d'envoyer la commande, imprimez le prix que vous envoyez.

 
Vladimir Karputov:

Imprimez le prix que vous transmettez avant d'envoyer l'ordre.

m_symbol.Bid()4828.0


 
lil_lil:

m_symbol.Bid()4828.0


OK, d'autre part : vérifiez les journaux dans l'onglet Journal - vous devriez certainement y voir que vous avez envoyé un ordre de vente limité au prix 10.

 
Vladimir Karputov:

Ok, regardons l'autre côté : vérifiez les journaux dans l'onglet "Journal" pour voir avec certitude que vous avez envoyé un ordre limite de vente au prix 10.

CTrade::OrderSend : modifier #3 à 10.00000 (sl : 0.00000 tp : 0.00000) [done]

ok, ce modifie à ce prix, je le chercherai.
 
lil_lil:

CTrade::OrderSend : modifier #3 à 10.00000 (sl : 0.00000 tp : 0.00000) [done]


Le terminal d'enregistrement tique pour la date en 00-00

Raison: