Il est difficile d'envoyer des commandes.

 

Je continue à obtenir l'erreur "volume invalide", le solde du compte est de 10 000 et la taille du lot est de 0,07.

Voici mon code, je pense que ce n'est peut-être pas le volume.

MqlTradeResult StageOneBuyRes={0};
MqlTradeRequest StageOneBuy={0};

StageOneBuy.action=TRADE_ACTION_DEAL;  
StageOneBuy.magic=MagicNumber;  
StageOneBuy.symbol=_Symbol;            // symbol
StageOneBuy.volume=Lot;
StageOneBuy.price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
StageOneBuy.sl=0;                  // Stop Loss is not specified
StageOneBuy.tp=0;                 // Take Profit is not specified 
StageOneBuy.deviation =7;  
StageOneBuy.type=ORDER_TYPE_BUY; // order type
StageOneBuy.type_filling = ORDER_FILLING_FOK;
StageOneBuy.comment = "test";
 

MqlTradeResult StageOneSellRes={1};
MqlTradeRequest StageOneSell={1};

StageOneSell.action=TRADE_ACTION_DEAL;  
StageOneSell.magic=MagicNumber;  
StageOneSell.symbol=_Symbol;            // symbol
StageOneSell.volume=Lot;
StageOneSell.price=SymbolInfoDouble(_Symbol,SYMBOL_BID);
StageOneSell.sl=0;                  // Stop Loss is not specified
StageOneSell.tp=0;                 // Take Profit is not specified 
StageOneSell.deviation =7;  
StageOneSell.type=ORDER_TYPE_SELL; // order type
StageOneSell.type_filling = ORDER_FILLING_FOK;
StageOneSell.comment = "test";
 
MetaNt:

Je continue à obtenir l'erreur "volume invalide", le solde du compte est de 10 000 et la taille du lot est de 0,07.

Voici mon code, je pense que ce n'est peut-être pas le volume.

Quel est le volume minimum autorisé par votre courtier pour ce symbole ?
 
angevoyageur:
Quel est le volume minimum autorisé par votre courtier pour ce symbole ?
0.01.
 
MetaNt:

Je continue à obtenir l'erreur "volume invalide", le solde du compte est de 10 000 et la taille du lot est de 0,07.

Voici mon code, je pense que ce n'est peut-être pas le volume.

J'ai eu un problème similaire avec mon EA (j'ai eu la même erreur). Le volume négocié était inférieur à la taille minimale autorisée par mon courtier ou la taille de l'incrément/étape était trop petite.

(Vérifiez la taille minimale de volume de votre courtier, peut-être que la taille minimale de négociation ou l'incrément/le pas est plus grand que votre 0.07) "déjà fait".

La variable "Lot" est-elle de type double ?

 
snelle_moda:

J'ai eu un problème similaire avec mon EA (j'ai eu la même erreur). Le volume négocié était inférieur à la taille de transaction minimale autorisée par mon courtier ou la taille d'incrément/étape était trop petite.

Vérifiez la taille minimale de volume de votre courtier, peut-être que la taille minimale de trading ou l'incrément/le pas est plus grand que votre 0.07.

La variable "Lot" est-elle de type double ?

Elle est de type double, je n'ai pas défini d'incrément.

J'ai essayé d'utiliser 1 comme valeur de lot de l'ordre plus tôt pour voir si cela fonctionnerait, et l'erreur a persisté, je vais essayer d'utiliser 10 maintenant.

 
Ça n'a pas marché.
 

Utiliser

ZeroMemory(StageOneBuy) ;

ZeroMemory(StageOneSell) ;


Avant de remplir la demande et d'envoyer la commande.

 
snelle_moda:

Utiliser

ZeroMemory(StageOneBuy) ;

ZeroMemory(StageOneSell) ;


Avant de remplir la demande et d'envoyer la commande.

C'est déjà fait avec {0}. Exactement la même chose.
 
angevoyageur:
C'est déjà fait avec {0}. C'est exactement la même chose.
Initialement, les deux étaient 0 mais j'ai changé le vendeur en 1 pour voir si cela résoudrait le problème, c'est pourquoi il est écrit 1 dans le code que j'ai posté.
 
MetaNt:
Initialement, les deux étaient à 0, mais j'ai changé la vente à 1 pour voir si cela résoudrait le problème, c'est pourquoi il est dit un dans le code que j'ai posté.
Par ailleurs, lorsque j'ai lancé l'impression pour obtenir le code d'erreur, j'ai obtenu le code d'erreur 4756, qui est une erreur d'entrée invalide, ce qui ne m'a pas beaucoup aidé.
 
Des suggestions ?