structMqlTradeResult
{
uint retcode; // Operation return codeulong deal; // Deal ticket, if it is performedulong order; // Order ticket, if it is placeddouble volume; // Deal volume, confirmed by brokerdouble price; // Deal price, confirmed by brokerdouble bid; // Current Bid pricedouble ask; // Current Ask pricestring comment; // Broker comment to operation (by default it is filled by description of trade server return code)uint request_id; // Request ID set by the terminal during the dispatchuint retcode_external; // Return code of an external trading system
};
present double price; // ブローカーが確認した取引価格。
開発者のサンプルコードでは
//--- send the requestif(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // if unable to send the request, output the error code//--- information about the operationPrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
При обрабокте транзакций типа TRADE_TRANSACTION_REQUEST для получения дополнительной информации необходимо анализировать второй и третий параметры функции OnTradeTransaction() – Отправка торгового запроса на покупку приводит к цепи торговых транзакций, которые совершаются на торговом счете: 1) запрос принимается на обработку, 2) далее для...
こんにちは。
皆さん、特にfxsaberさんに同じような質問をさせていただきます。
原始的な質問のようだが、その答えが見つからない。
こちら https://www.mql5.com/ru/forum/6343/page939 「検索してみてください」と言われました。fxsaberはこの問題に取り組んでいます。何がうまくいったのか、わからない、興味がない。"そこで、あなたに聞いてみることにしました。
問題はこれだ。ポジションをオープンし、MqlTradeResultの 内容を表示させたい。
retcode、order、volumeは印字されますが、dealとpriceは常に0です。
また、結果構造のコンテンツにアクセスする方法(少なくとも、最初に印刷する)についても教えてください。
これはどうでしょう?
ポジションをオープンして、 MqlTradeResultの 内容をこのように表示したい。
retcode、order、volumeは印刷されますが、dealとpriceは常に0 です。
私が間違っていることと、result 構造体の内容にアクセスする(少なくとも最初にプリントする)方法を アドバイスしてください。
結果にはゼロが書き込まれる。
これはどうでしょう?
結果にはゼロと規定されている。
オープンオーダーを見ると、result.retcodeが10009でresult.price = 0 ?
結果が含まれていない場合のresultの意味を教えてください。
結果が含まれていない場合、どのような意味があるのか説明してください。
これはMT5の機能で、結果は注文(チケットと価格なし)だけで、取引はできません。いくつかのオプションがあります。
これはMT5の機能で、結果は注文(チケットと価格なし)だけで、取引はできません。いくつかのオプションがあります。
MQL4では結果構造がなく、チケットを受け取って適切な順番を選択し、必要なデータを要求していました。MQL5には、必要なデータを多く含む結果構造があり、これを利用しないのは非論理的です。
1.フォーラムで質問する前に、「すべての仕組みがどのように動いているのか」を自分自身で把握しようとし、その結果、見えてきたものがあります。
はresult.dealを出力する。つまり、意味があると仮定され、結果構造において常にゼロで表現されるわけではない。他にも、MqlTradeResulからresult.priceだけでなくresult.dealも取得できることを示す例があれば、私が試したようなことができるかもしれません。present double price; // ブローカーが確認した取引価格。
開発者のサンプルコードでは
結果が注文(チケットと価格なし)だけで取引にならない場合は、MT5の機能である」という情報はどこにもありません。どのような情報をもとにそう判断されたのか、教えてください。
2.チケットによる事前選択なしに、ポジションのオープン(コード10009出現)直後にパラメータを取得できる「すでに準備されている上位(下位は非表示)開発」をご存知でしたら、例を挙げるかリンクを教えてください。
ありがとうございます。
MQL4では結果構造がなく、チケットを受け取って適切な順番を選択し、必要なデータを要求していました。MQL5では、必要なデータを多く含む結果構造を持っており、これを利用しないのは非論理的です。
1.フォーラムで質問する前に、「すべての仕組みを自分で把握する」ことを心がけましたが、その結果見えてきたのは、「構造の結果」ということです。
はresult.dealを出力する。つまり、意味があると仮定され、結果構造において常にゼロで表現されるわけではない。MqlTradeResulからresult.priceだけでなくresult.dealも取得できることを示す例は他にもあり、それを試してみた。double price; // ブローカーによって確認された取引価格がある。
開発者のサンプルコードでは
MT5の機能で、結果が注文(チケットと価格なし)だけで取引にならない」という情報はどこにもありません。どのような情報をもとにそう判断されたのか、教えてください。
2.チケットで事前に選択しなくても、ポジションがオープン(コード10009が表示)された直後に、そのポジションのパラメータを取得できる「既に用意されている上位(下位は非表示)の開発」をご存知でしたら、例を挙げていただくか、リンクを教えてください。
取引要求の結果、拒否または成行注文が発生する。これは取引ではなく、また取引によって発生するポジションでもありません。
取引要求の結果、拒否または成行注文が発生する。これは取引ではなく、また取引によって発生するポジションでもありません。
- トレードリクエスト結果構造体(MqlTradeResult)が表示されるのは、リストアップしたうちのどのステップの後だと思いますか?
- MQL5の記述による。
"取引依頼結果(MqlTradeResult)の構成
取引サーバは、取引要求に対する応答として、取引要求の処理結果を含むデータを、予め定義された特別な構造体「MqlTradeResult」として返します。と「10009 TRADE_RETCODE_DONE 注文が実行されました。
MqlTradeResultからデータを要求した場合、10009を受け取った後、result.price = 0をどのように説明できますか?
ありがとうございます。
- トレードリクエスト結果(MqlTradeResult)の構造が表示されるのは、リストアップした中でどのステップ以降でしょうか。
- MQL5の記述による。
"取引依頼結果(MqlTradeResult)の構成
取引サーバは、取引要求に対する応答として、取引要求の処理結果を含むデータを、予め定義された特別な構造体「MqlTradeResult」として返します。と「10009 TRADE_RETCODE_DONE 注文が実行されました。
したがって、取引サーバーのリターンコード10009は、OrderSendリクエストが正常に実行されたことを意味します。つまり、コード10009を受け取った後、MqlTradeResultからデータを要求した場合、result.price = 0と説明できますか?
10009 TRADE_RETCODE_DONE - あなた自身が記述している - 注文が実行されました。これは、単に注文がサーバーに正常にキューイングされ、実行されたことを意味する。
さらに、この注文が実行されると(結局のところ、サーバーによって拒否される可能性がある)、取引が行われます - これが始値との取引の 結果です。
について読む
OnTradeTransaction
Expert Advisor では、TradeTransaction イベントが発生したときに呼び出されます。取引要求の実行結果を処理するための機能である。
voidOnTradeTransaction()
const MqlTradeTransaction&trans,// トレードトランザクションの構造体
const MqlTradeRequest&request,// リクエスト構造体
const MqlTradeResult& result// 応答の構造体
);
MT5の機能で、結果は注文(チケットと価格なし)のみで取引にはならない」という情報はどこにもありません。どのような情報に基づいて、このような結論に至ったのか、教えてください。
自身の経験。
2.チケットによる事前選択なしに、ポジションのオープン(コード10009が出現)直後にパラメータを取得できる「すでに準備されている上位(下位は非表示)開発」をご存知でしたら、その例かリンクを教えてください。
もう一つオプションがありますが、それは「上級者向け」です。