ZeroMemory(sell)を追加してみて ください。
if (condition1) { ZeroMemory(sell); sell.action = TRADE_ACTION_DEAL; sell.type = ORDER_TYPE_SELL; sell.symbol = _Symbol;この問題は修正されましたので、次のビルドをお待ちください。
ZeroMemory(sell)を追加してみてください。
次のビルドをお待ちください。Roshさん、.565にアップデートしたところ、同じメッセージ#4756が表示されました。
ZeroMemory(struct)は役に立ちますね。それで、それは修正されたのか、まだなのか?
ありがとうございます。
ZeroMemory(sell)を追加してみてください。
この問題は修正されていますので、次のビルドをお待ちください。注文の組み方は全く同じなのに、同じエラーが出ます。 どうしてでしょうか? 私はビルド597を使っています。
2012.02.26 20:08:18 Core 1 2012.02.23 08:00:00 Alert: Buy order request couldn't be completed -error:4756
2012.02.26 20:08:18 Core 1 2012.02.23 08:00:00 failed market buy 0.10 EURUSD sl: 1.32438 tp: 1.33738 [Unsupported filling mode] (サポートされない充填モード)。
if(Buy_Condition_3 && Buy_Condition_4)
{
// 買いのポジションが開いているか?
if(Buy_opened)
{
Alert("We already have a Buy Position!!!");
return; // 新規に買いポジションを建てないでください。
}
ZeroMemory(mrequest);
mrequest.action = TRADE_ACTION_DEAL; // 即時注文実行
mrequest.type = ORDER_TYPE_BUY; // 買い注文
mrequest.symbol = _Symbol; // 通貨ペア
mrequest.deviation=0; // 現在の価格からの偏差
mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // 最新のアスク価格
mrequest.volume=Lot(ロット); // ロット数volume = Lot; // 取引するロット数
mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // 利益確定値
mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits);//ストップロス
mrequest.type_filling =ORDER_FILLING_AON; // 注文の実行タイプ
//--- 注文を送信
OrderSend(mrequest,mresult);
// 結果コードを取得
if(mresult.retcode==10009 || mresult.retcode==10008) // リクエスト完了または注文成立
{
Alert("A Buy order has been successfully placed with Ticket#:",mresult.order,"!");
}
その他
{
Alert("買い注文のリクエストを完了できませんでした -error:",GetLastError()).ResetLastError(); } else { "買い注文のリクエストを完了できませんでした。
ResetLastError()を実行します。
を返します。
- www.mql5.com
MQL5のリファレンス(本日更新されたばかりの最新版)を見ると、ORDER_FILLING_AONがなくなっていますが、ORDER_FILLING_FOKを使っても、エラー4756が発生します。 助言をお願いします。
識別子 | 説明 |
オーダーフィリングフォック | 注文指定価格と同等かそれ以上の価格で、指定数量を独占的に約定させることができる取引。注文シンボルに十分な数量のオファーがない場合、その注文は執行されません。このタイプのフィリングは 、 SYMBOL_TRADE_EXECUTION_INSTANT またはSYMBOL_TRADE_EXECUTION_REQUEST の実行モードで使用さ れます。 |
オーダーフィリング_ioc | 注文指定価格と同価格またはそれ以上の価格で、市場最大数量の取引を執行する契約。この場合、未約定数量に対する追加注文は行われません。 このタイプのフィリングは 、 トレードサーバー上のシンボル設定に応じて、 SYMBOL_TRADE_EXECUTION_MARKETと SYMBOL_TRADE_EXECUTION_EXCHANGE 実行モードで使用さ れます。 |
オーダーフィリングリターン | 注文指定価格と同価格またはそれ以上の価格で最大出来高の取引を執行する契約。この場合、未約定数量分の追加注文が発注されます。このタイプのフィリングは、未約定注文(TRADE_ACTION_PENDING)に対してのみ使用 されます。 |
こんにちは、私がMT5をあきらめてMT4に戻る前に何かコメントはありませんか? ありがとうございます。実はどちらも初心者なのですが、MT5がとても新しいのは知っていますが、まずはMT5を試してみようと思います。
mrequestの前にこれを追加してください。
ZeroMemory(mrequest); ZeroMemory(mresult);
私はあなたと全く同じ問題を抱えていたのですが、それは私のためにそれを修正しました。
私も今同じ問題を抱えています。
私の専門家の顧問は非常によく働いていた。しかし、今、それらのすべては、テスターを渡すことができません。
私はファイルの、次の messege を表示されるコンパイルするとき。
'ORDER_FILLING_AON' - 未宣言の識別子
この問題はどのように解決できるのでしょうか?
端末のアップデートの結果でしょうか?(Version 5.00 Build 642)
(2012年4月24日)
誰かが私を助けることができることを望みます
- www.mql5.com
そのファイルをコンパイルすると、次のようなメッセージが表示されます。
ORDER_FILLING_AON' - 未宣言の識別子です。
この問題はどうすれば解決できますか?
ORDER_FILLING_AONをORDER_FILLING_FOKに置き換えてください(オーダーのプロパティを 参照してください)。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
-----------------------------------------------------------------------------------
もし(condition1)
{
sell.action = TRADE_ACTION_DEAL;
sell.type = ORDER_TYPE_SELL;
sell.symbol=_Symbol.Sell.Symbol.Sell.Symbol。
sell.deviation = 0;
sell.price = NormalizeDouble(mtick.bid,_Digits);
sell.volume = 0.1;
sell.tp = NormalizeDouble(sell.price - mtp*_Point,_Digits)。
sell.sl = NormalizeDouble(sell.price + msl*_Point,_Digits)。
sell.type_filling =ORDER_FILLING_AON;
if(OrderSend(sell,result_sell)==false))。
{
Print("OrderSendはエラー#で失敗しました",GetLastError());
ResetLastError()を実行します。
}
}