注文を送るのが難しい。

 

口座残高が 10 000、ロットサイズが0.07で、"Invalid Volume "というエラーが出続けます。

これは私のコードです、私はそれがボリュームtbhではないかもしれないと思います。

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:

口座残高が 10 000、ロットサイズが0.07で、"Invalid Volume "というエラーが出続けます。

これは私のコードです、私はそれがボリュームtbhではないかもしれないと思います。

このシンボルのブローカーによって許可された最小ボリュームは何ですか?
 
angevoyageur:
このシンボルについて、ブローカーが許可する最小数量はいくらですか?
0.01.
 
MetaNt:

口座残高が 10 000、ロットサイズが0.07で、"Invalid Volume "というエラーが出続けます。

これは私のコードです、私はそれがボリュームtbhではないかもしれないと思います。

私のEAでも同じような問題がありました(同じエラーが出ました)。取引量がブローカーの最小許容取引サイズより小さいか、または増分/ステップサイズが小さすぎるのです。

(ブローカーの最小取引量を確認してください。多分、最小取引量または増分/ステップサイズがあなたの0.07より大きいです) "すでに完了"

変数 "Lot "はdouble型ですか?

 
snelle_moda:

私のEAでも同じような問題がありました(同じエラーが出ました)。取引量がブローカーの最小許容取引サイズより小さいか、または増分/ステップサイズが小さすぎるのです。

ブローカーの最小取引量を確認してください。おそらく、最小取引量または増分/ステップサイズが、あなたの0.07より大きいのでしょう。

変数 "Lot" は double 型ですか?

ダブルタイプで、増分は設定されていません。

以前、注文のLotの値を1にして動作するか試したところ、エラーが続きましたので、今度は10にしてみます。

 
うまくいかなかった。
 

使用方法

ZeroMemory(StageOneBuy)を使用します。

ZeroMemory(StageOneSell)を使用します。


リクエストを記入して注文を出す前に

 
snelle_moda:

使用方法

ZeroMemory(StageOneBuy)を使用します。

ZeroMemory(StageOneSell)を使用します。


リクエストを記入して注文を出す前に

すでに{0}で終わっています。全く同じです。
 
angevoyageur:
すでに{0}で終わっています。全く同じです。
最初は両方とも0だったのですが、問題が解決するかどうか確かめるために売りの方を1に変えたので、投稿したコードでは1となっています。
 
MetaNt:
当初は両方とも0でしたが、問題が解決するかどうか確認するために、売りのほうを1に変更しました。
エラーコードを 取得するためにプリントを実行したとき、私はエラーコード4756を取得しました、これは無効な入力エラーです、だからそれはあまり役に立たなかった。
 
何か提案はありますか?
理由: