Creating a robust trading robot cannot be done without an understanding of the mechanisms of the MetaTrader 5 trading system. The client terminal receives the information about the positions, orders, and deals from the trading server. To handle this data properly using the MQL5, it's necessary to have a good understanding of the interaction between the MQL5-program and the client terminal.
OnChartEventは MQL5 for Tradingでアクティブ・コントロール・パネルを作成 するという記事で使用されています。
つまり、OnTrade( )
はOnTrade( id, para1,para2....) であるべきです。
どなたか、ストップロスやテイクプロフィットでポジションをクローズした場合の処理について、記事で紹介されているコードを改良していただけないでしょうか?
記事公開から2年半、不要であることが判明したのでしょうか?
MetaTrader 5 では、https://www.mql5.com/en/articles/211 Orders, Positions and Deals を翻訳することをお勧めします。
まず、上記の 6+2 のうち、どれが Orders, Positions, Deals に該当するのかを調べる必要があります!
MQL4の場合、OnTradeと似たようなことを何か思いつきますか?
各ティックで OrdersTotal()とOrdersHistoryTotal()をチェックし、数値が変化したらOnTrade()を呼び出します。
こんにちは、
この記事を書いてくれてありがとう。あなたのコードで少し遊んでみました。しかし、まず基本的な問題があります。つまり
私のEAはバック テストで買い注文を設定しており、Ontrade関数は説明されたように何度も呼び出されています。しかし、あなたのコードはOrdersTotalをチェックするだけです。不思議なことに、この関数の結果は常に0なのです。注文を出した後、私は買いポジションしか持っていません。
何が間違っているのでしょうか?
MQL4の場合、OnTradeと似たようなことを何か思いつきますか?
取引操作の 前にOnChartEvent()を発生させ、その中で取引操作の結果を取得しようとする......。そして、OnChartEvent()が必要な回数だけ呼び出されるような型を考えることができる。
グラフィック要素がないのであれば、なぜそのようなバリアントが必要なのでしょうか?私見では、不要だと思うのだが...。