エラー4756 - ページ 2 1234 新しいコメント Simon Gniadkowski 2013.03.11 17:10 #11 angevoyageur: 注文の送信や変更にどのような関数、クラス、メソッドを使用していますか?MqlTradeRequestを セットアップした後のOrderSend() Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure www.mql5.com Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure - Documentation on MQL5 Alain Verleyen 2013.03.11 17:51 #12 RaptorUK:MqlTradeRequest をセットアップした後の OrderSend()これ(OrderSend doc)を見ましたか?成行注文の場合、OrderSend()メソッドの操作が正常に終了しても、取引が正常に終了するとは限らないことに注意する必要があります。 取引サーバーのリターンコードを 含むretcode 値、および 返された 結果の 操作の種類に 応じたdeal または order フィールドの 値を確認して ください。それは コードを 見る ことで 助けることは容易 であろう。 Simon Gniadkowski 2013.03.11 18:13 #13 angevoyageur: これは(OrderSendのドキュメントから)ご覧になりましたか?それは コードを見て 助けることは容易 であろう。返された結果をチェックし、TRADE_RETCODE_PLACEDまたはTRADE_RETCODE_DONEが返された場合のみSLとTPを配置しようとします。 if( result.retcode != TRADE_RETCODE_PLACED && result.retcode != TRADE_RETCODE_DONE ) { SetTPandSL = false; Print("Return code # ", result.retcode, " Bid ", result.bid, " Ask ", result.ask, " Deal price ", result.price); } else SetTPandSL = true; if(SetTPandSL && ECN) { // now modify Position to add SL & TP ZeroMemory(request); ZeroMemory(result); request.action = TRADE_ACTION_SLTP; // setting the TP & SL request.symbol = _Symbol; // symbol request.sl = lastTick.ask - SL_Size * _Point; // Stop Loss request.tp = lastTick.ask + TP_Size * _Point; // Take Profit //--- send a trade request OrderSend(request,result); //--- write the server reply to log Print(__FUNCTION__,": Placeing SL & TP ",result.comment, " Return code # ", result.retcode); if( result.retcode != TRADE_RETCODE_PLACED && result.retcode != TRADE_RETCODE_DONE ) Print("Return code # ", result.retcode, " Bid ", lastTick.bid, " Ask ", lastTick.ask, " Deal price ", result.price, " SL: ", request.sl, " TP: ", request.tp, " Freeze: ", Freeze, " Stoplevel: ", Stop ); } Alain Verleyen 2013.03.11 19:23 #14 RaptorUK:返された結果をチェックし、TRADE_RETCODE_PLACEDまたはTRADE_RETCODE_DONEが返された場合のみSLとTPを配置しようとします。成行注文の場合、OrderSend()メソッドの操作が成功しても、必ずしも取引完了とは限らないことに注意する必要があります。 取引サーバーのリターンコードを 含むretcode 値と 、 返された 結果の 操作の種類に 応じたdeal または order フィールドの 値を確認して ください。取引チケットの番号を確認する必要があります。 if( (result.retcode != TRADE_RETCODE_PLACED && result.retcode != TRADE_RETCODE_DONE) || result.deal == 0) これは最後の言葉ではありませんが、もしディールチケットが0であれば、SL/TPの変更はいずれにせよ実行されません。まだ検索中です... Simon Gniadkowski 2013.03.11 19:32 #15 angevoyageur:ディールチケット番号を確認する必要があります。これは最後の言葉ではありませんが、もしディールチケットが0であれば、SL/TPの変更はいずれにせよ実行されません。まだ検索中・・・。それはできるのですが、問題は、取引が成功して、ポジションが開かれたのに、SLとTPを追加しようとすると、それらが無効でないにもかかわらず、Invalid Stopsで 失敗することです。 TPとSLを設定するリクエストを送る前に、何かが起こるのを待たなければならないようですが ... 私が待つべき、公式で文書化したものが何かよく分からないのですが、それは何ですか?返信ありがとうございます :-) Alain Verleyen 2013.03.11 19:48 #16 RaptorUK:私はそれを行うことができますが、問題は、取引が成功し、ポジションが開かれたことです。 TPとSLを設定するリクエストを送信する前に、何かが起こるのを待たなければならないようですが、私は、私が待つべき正式な、文書化されたものが何であるかをよく知りません。返信ありがとうございます :-)私は知っています。私は応答を見つけるためにすべてのmql5サイトをチェックして います:-D編集しています。 このサイトでは、市場の 取引実行タイプで SL / TPを 配置する方法を 示す ものは 全くありません。実は私も同じ問題を抱えているのですが、OrderSendの代わりにPositionOpenを使って、手動で行うこともできます。 Alain Verleyen 2013.03.11 20:30 #17 angevoyageur:知っています。私はすべてのmql5サイトをチェックして、応答を見つけるために:-D。 編集する このサイトには、 取引執行型がmarketの sl / tpの 入れ 方を 示す ものは 全くありません。実は私も同じ問題を抱えていますが、OrderSendの代わりにPositionOpenを使って、手動で行うことも可能です。私は発見しました。それはEAとトレードサーバーの同期の問題です。イベントハンドラOnTradeTransaction()を使用する必要があります。OrderSend() 関数で送られたサーバー上の取引要求の実行結果は、OnTradeTransaction ハンドラで追跡することができます。OnTradeTransaction ハンドラは、1 つの取引要求を実行する際に複数回呼び出されることに注意する必要があります。 例えば、成行買い注文を送信すると、それが処理され、適切な買い注文が口座に作成され、その注文が執行されて未決済のものリストから削除され、注文履歴に追加され、適切な取引が履歴に追加され、新しいポジションが作成されるのです。 OnTradeTransaction関数は、これらのイベントのそれぞれについて呼び出されます。 RTFM ;-)試してみてください...私は明日にします。 Simon Gniadkowski 2013.03.11 20:55 #18 angevoyageur:発見しました。EAとトレードサーバ間の同期の問題です。イベントハンドラOnTradeTransaction()を使用する必要があります。 RTFM ;-)試してみてください...私は明日にします。 ああ、ありがとう、見てみるよ。) Simon Gniadkowski 2013.03.11 23:33 #19 RaptorUK: ああ、ありがとうございます、見てみます。) これはあなたが見つけたスレッドでしたか?https://www.mql5.com/en/forum/10850 それは私が持っているのと同じ問題を報告します。 BHC 2013.03.12 04:37 #20 私のEAはビルド778で奇妙なエラーを起こしています。0.1のボリュームは正規化されており、明らかに無効ではありません。2013.03.12 07:29:57 pivots (SILVER,M5) SILVER failedORDER_TYPE_SELL_STOP with volume 0.10; err# 4756 チェックコード:10014 コメント無効なボリューム2013.03.12 07:20:00 pivots (SILVER,M5) SILVER failed ORDER_TYPE_SELL_STOP with volume 0.10; err# 4756 returned code:10014、ブローカー・コメント無効な取引量以下は、それを表示するコードです。 ResetLastError(); if(OrderCheck(_request,_check)){ if(!OrderSend(_request,_result)){ Print(TradeSymbol," failed ",EnumToString(OrderType)," with volume ",DoubleToString(OrderVolume,2),"; err# ",GetLastError()," returned code: ",_result.retcode,", broker comments: ",_result.comment); return(false);} else{ if(_result.retcode!=(0||TRADE_RETCODE_PLACED||TRADE_RETCODE_DONE)){ Print(TradeSymbol," failed ",EnumToString(OrderType)," with volume ",DoubleToString(OrderVolume,2),"; err# ",GetLastError()," returned code: ",_result.retcode,", broker comments: ",_result.comment);}}} else{ Print(TradeSymbol," failed ",EnumToString(OrderType)," with volume ",DoubleToString(OrderVolume,2),"; err# ",GetLastError()," check code: ",_check.retcode," comments: ",_check.comment); return(false); } Documentation on MQL5: Standard Constants, Enumerations and Structures / Trade Constants / Order Properties www.mql5.com Standard Constants, Enumerations and Structures / Trade Constants / Order Properties - Documentation on MQL5 error 4756 PREDICT time period Code sometimes not triggering? 1234 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
注文の送信や変更にどのような関数、クラス、メソッドを使用していますか?
MqlTradeRequest をセットアップした後の OrderSend()
これ(OrderSend doc)を見ましたか?
成行注文の場合、OrderSend()メソッドの操作が正常に終了しても、取引が正常に終了するとは限らないことに注意する必要があります。 取引サーバーのリターンコードを 含むretcode 値、および 返された 結果の 操作の種類に 応じたdeal または order フィールドの 値を確認して ください。
それは コードを 見る ことで 助けることは容易 であろう。
これは(OrderSendのドキュメントから)ご覧になりましたか?
それは コードを見て 助けることは容易 であろう。
返された結果をチェックし、TRADE_RETCODE_PLACEDまたはTRADE_RETCODE_DONEが返された場合のみSLとTPを配置しようとします。
返された結果をチェックし、TRADE_RETCODE_PLACEDまたはTRADE_RETCODE_DONEが返された場合のみSLとTPを配置しようとします。
成行注文の場合、OrderSend()メソッドの操作が成功しても、必ずしも取引完了とは限らないことに注意する必要があります。 取引サーバーのリターンコードを 含むretcode 値と 、 返された 結果の 操作の種類に 応じたdeal または order フィールドの 値を確認して ください。
取引チケットの番号を確認する必要があります。
これは最後の言葉ではありませんが、もしディールチケットが0であれば、SL/TPの変更はいずれにせよ実行されません。まだ検索中です...
ディールチケット番号を確認する必要があります。
これは最後の言葉ではありませんが、もしディールチケットが0であれば、SL/TPの変更はいずれにせよ実行されません。まだ検索中・・・。
それはできるのですが、問題は、取引が成功して、ポジションが開かれたのに、SLとTPを追加しようとすると、それらが無効でないにもかかわらず、Invalid Stopsで 失敗することです。 TPとSLを設定するリクエストを送る前に、何かが起こるのを待たなければならないようですが ... 私が待つべき、公式で文書化したものが何かよく分からないのですが、それは何ですか?
返信ありがとうございます :-)
私はそれを行うことができますが、問題は、取引が成功し、ポジションが開かれたことです。 TPとSLを設定するリクエストを送信する前に、何かが起こるのを待たなければならないようですが、私は、私が待つべき正式な、文書化されたものが何であるかをよく知りません。
返信ありがとうございます :-)
私は知っています。私は応答を見つけるためにすべてのmql5サイトをチェックして います:-D
編集しています。
このサイトでは、市場の 取引実行タイプで SL / TPを 配置する方法を 示す ものは 全くありません。
実は私も同じ問題を抱えているのですが、OrderSendの代わりにPositionOpenを使って、手動で行うこともできます。
知っています。私はすべてのmql5サイトをチェックして、応答を見つけるために:-D。
編集する
このサイトには、 取引執行型がmarketの sl / tpの 入れ 方を 示す ものは 全くありません。
実は私も同じ問題を抱えていますが、OrderSendの代わりにPositionOpenを使って、手動で行うことも可能です。
私は発見しました。それはEAとトレードサーバーの同期の問題です。イベントハンドラOnTradeTransaction()を使用する必要があります。
OrderSend() 関数で送られたサーバー上の取引要求の実行結果は、OnTradeTransaction ハンドラで追跡することができます。OnTradeTransaction ハンドラは、1 つの取引要求を実行する際に複数回呼び出されることに注意する必要があります。
例えば、成行買い注文を送信すると、それが処理され、適切な買い注文が口座に作成され、その注文が執行されて未決済のものリストから削除され、注文履歴に追加され、適切な取引が履歴に追加され、新しいポジションが作成されるのです。 OnTradeTransaction関数は、これらのイベントのそれぞれについて呼び出されます。
発見しました。EAとトレードサーバ間の同期の問題です。イベントハンドラOnTradeTransaction()を使用する必要があります。
RTFM ;-)試してみてください...私は明日にします。ああ、ありがとうございます、見てみます。)
私のEAはビルド778で奇妙なエラーを起こしています。0.1のボリュームは正規化されており、明らかに無効ではありません。
2013.03.12 07:29:57 pivots (SILVER,M5) SILVER failedORDER_TYPE_SELL_STOP with volume 0.10; err# 4756 チェックコード:10014 コメント無効なボリューム
2013.03.12 07:20:00 pivots (SILVER,M5) SILVER failed ORDER_TYPE_SELL_STOP with volume 0.10; err# 4756 returned code:10014、ブローカー・コメント無効な取引量
以下は、それを表示するコードです。