OnTradeTransaction - ページ 6 123456789 新しいコメント fxsaber 2016.12.04 21:38 #51 prostotrader:何も覚えていないかもしれない これならいけると思う(満注の場合)void OnTradeTransaction ( const MqlTradeTransaction &Trans, const MqlTradeRequest &Request, const MqlTradeResult &Result ){ if ((Trans.type == TRADE_TRANSACTION_DEAL_ADD) && (Trans.position > 0) && !PositionSelectByTicket(Trans.position)) Print("Position #" + (string)Trans.position + " - triggered SL/TP.");} しかし、話は少し広がっている ようです。 prostotrader 2016.12.04 21:46 #52 Andrey Dik:随分と不用心ですね、私はトピックスターターでは ありませんよ。こんなコードも見せてください。//——————————————————————————————————————————————————————————————————————————————void OnTradeTransaction (const MqlTradeTransaction &trans, // структура торговой транзакции const MqlTradeRequest &request, // структура запроса const MqlTradeResult &result) // структура ответа{ } それが嫌なら、Joba!そうなんですか?あなたの質問に答えるために十分な時間を費やしました。もし、あなたの質問がそれほど「抽象的」でなければ、おそらく答えはもっと具体的なものになったでしょう。名付けて。 1.FORTSまたはFOREX2.ネット型、ヘドバン型など、どのようなタイプをお使いですか?3.ポジションのライフタイム 中に他のオーダーが使用されているかどうか。質問と回答は同じです。 prostotrader 2016.12.04 21:52 #53 fxsaber: これならいけると思う(フルフィルの場合)void OnTradeTransaction ( const MqlTradeTransaction &Trans, const MqlTradeRequest &Request, const MqlTradeResult &Result ){ if ((Trans.type == TRADE_TRANSACTION_DEAL_ADD) && (Trans.position > 0) && !PositionSelectByTicket(Trans.position)) Print("Position #" + (string)Trans.position + " - triggered SL/TP.");} しかし、話は少し広がっている ようです。ST/TPにボリュームが設定できるのは記憶にない。そうでない場合(今確認します)、ポジションはFULLまたはSLまたはTPを閉じます。 fxsaber 2016.12.04 21:53 #54 prostotrader:そうでなくてもST/TPの音量設定を待った覚えはないのですが。の場合、ポジションはFULLまたはSLまたはTPで終了します。 流動性が十分でないだけかもしれません。 prostotrader 2016.12.04 21:55 #55 fxsaber: 流動性だけでは足りないかもしれません。 そう、そしてブローカーは電源を切るかもしれない :)...。 fxsaber 2016.12.04 22:14 #56 prostotrader: そう、そしてブローカーは電源を切ることができるのです :)...。 低流動性の楽器を取って、それでおしまい。 prostotrader 2016.12.04 22:24 #57 fxsaber: 低流動性の楽器を取って、それでおしまい。そのため、保留注文の 利用を推奨しましたによって追加されました。市場や楽器に大きく左右される...。 DMITRII PECHERITSA 2018.10.20 06:55 #58 <br/ translate="no">。OnTradeTransaction イベントでどの注文に対応したかを正確に識別するために、最初の注文イベント以外のイベントにはチケットで署名しています。最初のイベントは、チケットとrequest_idの両方で署名されています。request_id は、注文が送信された直後に、OrderSendAsinc 関数からユーザが取得する。このように、特定のOrderSendAsincの繰り返しとOnTradeTransactionで得られた結果が連動しているのです。OrderSendAsync のチケットは存在しないかもしれませんし、毎秒 100 枚のオーダーを発射しているのであれば、存在しない可能性が高いです (せいぜい 10008 のレ コードです。)。 prostotrader 2018.10.20 18:02 #59 dmipec:OrderSendAsyncのチケットはあってもなくてもよく、1秒間に数千個(せいぜいretcode10008とか)のオーダーが発射されるならない可能性が高いです。まあ、10個どころか、標準的なログインで1秒間に30個くらいですけどね。 正しく書かれていれば、注文(複数可)は必ずあります。 fxsaber 2019.12.16 08:01 #60 Vasiliy Sokolov: 事象を分析するのではなく、取引環境を分析 し、取引環境が変化した場合にのみ、必要な判断を下すべきである。OnTransactionは非常に限られたケースでしか使用できないので、通常、仕事では使用しないほうがよいでしょう。MetaTrader 4にはOnTransactionがなく、誰もがそれなしでやっています。 私もそう思います。しかし、残念ながらMT5では、MT4と異なり、取引環境が現実に対応していない場合があります。例えば、保留中の注文が数ミリ秒間実行されたとき、その注文がどこにも見当たらないことがあります。また、OnTradeTransactionでも ここでは役に立ちません。 123456789 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
何も覚えていないかもしれない
{
if ((Trans.type == TRADE_TRANSACTION_DEAL_ADD) && (Trans.position > 0) && !PositionSelectByTicket(Trans.position))
Print("Position #" + (string)Trans.position + " - triggered SL/TP.");
}
しかし、話は少し広がっている ようです。
随分と不用心ですね、私はトピックスターターでは ありませんよ。
こんなコードも見せてください。
void OnTradeTransaction (const MqlTradeTransaction &trans, // структура торговой транзакции
const MqlTradeRequest &request, // структура запроса
const MqlTradeResult &result) // структура ответа
{
}
それが嫌なら、Joba!そうなんですか?
あなたの質問に答えるために十分な時間を費やしました。
もし、あなたの質問がそれほど「抽象的」でなければ、おそらく答えはもっと具体的なものになったでしょう。
名付けて。
1.FORTSまたはFOREX
2.ネット型、ヘドバン型など、どのようなタイプをお使いですか?
3.ポジションのライフタイム 中に他のオーダーが使用されているかどうか。
質問と回答は同じです。
これならいけると思う(フルフィルの場合)
{
if ((Trans.type == TRADE_TRANSACTION_DEAL_ADD) && (Trans.position > 0) && !PositionSelectByTicket(Trans.position))
Print("Position #" + (string)Trans.position + " - triggered SL/TP.");
}
しかし、話は少し広がっている ようです。
ST/TPにボリュームが設定できるのは記憶にない。
そうでない場合(今確認します)、ポジションはFULLまたはSLまたはTPを閉じます。
そうでなくてもST/TPの音量設定を待った覚えはないのですが。
の場合、ポジションはFULLまたはSLまたはTPで終了します。
流動性だけでは足りないかもしれません。
そう、そしてブローカーは電源を切ることができるのです :)...。
低流動性の楽器を取って、それでおしまい。
そのため、保留注文の 利用を推奨しました
によって追加されました。
市場や楽器に大きく左右される...。
OnTradeTransaction イベントでどの注文に対応したかを正確に識別するために、最初の注文イベント以外のイベントにはチケットで署名しています。
最初のイベントは、チケットとrequest_idの両方で署名されています。request_id は、注文が送信された直後に、OrderSendAsinc 関数からユーザが取得する。このように、特定のOrderSendAsincの繰り返しとOnTradeTransactionで得られた結果が連動しているのです。
OrderSendAsync のチケットは存在しないかもしれませんし、毎秒 100 枚のオーダーを発射しているのであれば、存在しない可能性が高いです (せいぜい 10008 のレ コードです。)。
OrderSendAsyncのチケットはあってもなくてもよく、1秒間に数千個(せいぜいretcode10008とか)のオーダーが発射されるならない可能性が高いです。
まあ、10個どころか、標準的なログインで1秒間に30個くらいですけどね。
正しく書かれていれば、注文(複数可)は必ずあります。
事象を分析するのではなく、取引環境を分析 し、取引環境が変化した場合にのみ、必要な判断を下すべきである。OnTransactionは非常に限られたケースでしか使用できないので、通常、仕事では使用しないほうがよいでしょう。MetaTrader 4にはOnTransactionがなく、誰もがそれなしでやっています。
私もそう思います。しかし、残念ながらMT5では、MT4と異なり、取引環境が現実に対応していない場合があります。例えば、保留中の注文が数ミリ秒間実行されたとき、その注文がどこにも見当たらないことがあります。また、OnTradeTransactionでも ここでは役に立ちません。