このトピックをご覧ください。おそらく少しわかりにくいかもしれませんが、考え方はわかります。
MT5の取引システムはMT4と大きく異なるので、考え方を変えなければなりません。
- www.mql5.com
MT4用に作成したEAを改造してEAを書いています。OrderSendで注文を出す。
私は単に私が送信された注文(ところで...私は、順序、取引または位置を確認する必要があります)、それがStopLossに達したので、閉じている場合、(履歴から推測する)理解する必要がある場合。
フォーラムでチェックしましたが、私が必要とするものは見つかりませんでした。
注文価格_現在 | は、注文シンボルの現在の価格のみを与え |
ORDER_SLと 比較することができません。ORDER_PRICE_CURRENTは、シンボルの現在の価格だけで、注文の終値ではないのでしょうか?
皆様のサポートに感謝します。
それはこれですか?
//-------------------------------- ES CIERRE POR SL ---------------------------------------------- bool esCierreSL(int ind, int modoInd= SELECT_BY_TICKET, int modoHist= MODE_TRADES) { bool resp= OrderSelect(ind, modoInd, modoHist)? (StringFind(OrderComment(), "[sl]", 0)>-1): false; return(resp); }
ネクロで申し訳ありませんが、これは私の意見では非常に興味深いものです。
私はmql4からmql5への移行を行っており、取引と履歴システムの変更は非常に困難であると感じています。
履歴の取引が損切り、利食い、その他で終了したかどうかを知るには、MT4ではOrderを比較することができました。
- MT4では、OrderStopLoss(), OrderTakeProfit(), OrderClosePrice()を比較したり、OrderComment()を単純にチェックすることができました。
- MT5では、唯一の可能な方法は、取引のコメントをチェックすることです: HistoryDealGetString(tk, DEAL_COMMENT)
それは面白いですが、私がそれを正しく理解した場合、それはオンザフライで、イベント処理に基づいて、取引の変更を識別することを目的としています。
だから、(チャート上で動いているエキスパート・アドバイザーのような)プログラムが聞いていなければならないし、さもなければ何も検出されない。
私の意見では、トレードクローズ理由の検出は履歴のトレードブックで行われなければなりません。なぜなら、それは空中からキャッチするのではなく、どこかに書き込まれているので、何が起こったかを知るための最も安全な方法である(またはそうあるべき)だからです。
私の分析は間違っているのでしょうか?どう思いますか?
- www.mql5.com
Marco: MT4もMT5もストップロスやテイクプロフィットの注文が終了すると、コメントに[SL価格] や[TP価格] を書く(方法は違うが...それでもね)。 | いいえ、そうではありません。それはあなたの ブローカーです。 良くないですね、ブローカーは完全な入れ替えも含めて コメントを変更 することができます。 |
いいえ、そんなことはありません。それはあなたの ブローカーです。 |
OK、MT4とMT5の両方のブローカーはコメントにその文字列を入れます。少なくとも私がテストしたいくつかのブローカーはそうでした。
そして、私は、コメントがブローカーの手によって変更される可能性があるため、これは良いアイデアではないことに同意します。
しかし、取引履歴の本で他の痕跡を見つけることができないので、これがどのように違う方法で行われるのかわかりません。
この目標を達成するための良い方法はありますか?
2年前にサービスデスクに問い合わせ た(MT4について)。
と回答がありました。
ということで、ブローカーではなく、システムによって行われるようです。しかし、ブローカーがそれを変更できるのであれば、まだ役に立つとは言えません。
そういえば、ブローカーが注文コメントを変更したことは一度もありません。
通常、私のコードでは、取引が利益で終了したか損失で終了したかを知ることがより重要です。トレーリングストップを使用する場合、取引はSLをヒットすることができますが、まだ利益になっています。
2年前にサービスデスクに問い合わせ た(MT4について)。
との回答がありました。
ブローカーではなく、システムによって行われるのですね。しかし、ブローカーがそれを変更することができる場合は、まだ役に立ちません。
ブローカーが注文コメントを変更したことがないことに注意してください。
通常、私のコードでは、取引が利益で終了したか損失で終了したかを知ることがより重要です。トレーリングストップを使用する場合、取引はSLをヒットすることができますが、まだ利益になっています。
キースさん、ありがとうございます。他に良い回避策が見つからないので、それを望んでいました。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
MT4用に作成したEAを改造してEAを書いています。OrderSendで注文を出す。
もし、送信された注文(ところで、Order, Deals or Positionをチェックしなければなりませんか)が、StopLossに達したのでクローズされたかどうかを理解する必要があります(履歴から推測)。
フォーラムをチェックしましたが、私が必要とするものは見つかりませんでした....
注文価格_現在
は、注文シンボルの現在の価格のみを与え
ORDER_SLと 比較することができません。ORDER_PRICE_CURRENTは、シンボルの現在の価格だけで、注文の終値ではないのでしょうか?
皆様のサポートに感謝します。
EDIT :
このトピックは、ビルド1640以降のMT5が提供する新しい可能 性のために、現在ではほとんど時代遅れになっています。
いくつかの例については、このトピックの最後の投稿を 参照してください。