初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 814

 
これらの不滅のcheckboxes-news-objectsが何度も何度も私のオブジェクトリストを 埋め尽くすのを止める方法はないのでしょうか?
 
User_mt5:
これらの不滅のcheckboxes-news-objectsが何度も何度も私のオブジェクトリストを 埋め尽くすのを止める方法はないのでしょうか?

ここで設定から、ニュースを削除し、端末を再読み込みします


 
User_mt5:
これらの不滅のcheckboxes-news-objectsが何度も何度も私のオブジェクトリストを 埋め尽くすのを止める方法はないのでしょうか?
リロードする必要はありません。カレンダーで、「すべてのイベントを削除する」のチェックを外し、「自動更新」のチェックを外す。
 
Kirill Belousov:

ここで設定から、ニュースを削除し、端末を再起動します


キリール ありがとうございました。そうでなければ、私の専門家は、何度も何度も対象物を調べます。
ありがとうございます。

 

OnTradeTransaction関数の 使い方を勉強しています。

テスターで使用すると、以下のような問題が発生します。注文が開始され、その結果OnTradeTransactionが呼び出される。現時点では、CPositionInfo クラスを使用して OnTradeTransaction 内でポジションサイズを取得しています。すべて順調です。次に、同じ呼び出しで、OnTradeTransaction から直接別の関数を呼び出すと、CPositionInfo はゼロを返し、つまり、私が必要とするものではありません。さらに数分後、OnTimerでポジションサイズを取得しようとしましたが、そこではすべてOK、すなわち1でした。もちろん、全歴史を通じてポジションがクローズされたり、また開かれたりしたことはない。

質問です。CPositionInfo は OnTradeTransaction で必要なものを返しますが、OnTradeTransaction から呼び出される別の関数では、ポジションボリュームではなく 0 を返すのはなぜですか。


以下はそのログです。(ポジションオープン:10:30:12 クローズ:10:48:53)

これが注文のきっかけとなる。

2017.09.22 10:30:12 注文 [#3 買い指値1.00 SBRF-3.18 at 19352] がトリガーされました。

OnTradeTransactionは3回呼び出される。CPositionInfo 各コールでポジションボリュームは1に等しい。TRADE_TRANSACTION_HISTORY_ADDの最後の呼び出しで、私はこの関数を呼び出します。

2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_DEAL_ADD order=3 order_type=ORDER_TYPE_BUY state=ORDER_STATE_STARTED Price=19352.0 deal=2 deal_type=DEAL_TYPE_BUY Position direction POSITION_TYPE_BUY Volume 1.0
2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_ORDER_DELETE order=3 order_type=ORDER_TYPE_BUY_LIMIT state=ORDER_STATE_FILLED Price=19352.0 deal=0 deal_type=DEAL_TYPE_BUY Position direction POSITION_TYPE_BUY Volume 1.0
2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_HISTORY_ADD order=3 order_type=ORDER_TYPE_BUY_LIMIT state=ORDER_STATE_FILLED Price=19352.0 deal=0 deal_type=DEAL_TYPE_BUY Position direction POSITION_TYPE_BUY Volume 1.0

OnTradeTransactionから呼び出される関数で。

2017.09.22 10:32:50 POSITION_TYPE_BUYに向けて、引用シンボルSBRF-3.18に0.0のポジションが存在します。

OnTimerでボリュームを再取得しようとすると、しばらくして

2017.09.22 10:40:00 In OnTimer Symbol=SBRF-3.18 Volume=1.0

ポジションを閉じる

2017.09.22 10:48:53 注文 [#5 売り指値1.00 SBRF-3.18 at 19435] がトリガーされました。

 
pivomoe:

OnTradeTransaction関数の 使い方を勉強しています。

テスターで使用すると、以下のような問題が発生します。注文が開始され、その結果OnTradeTransactionが呼び出される。現時点では、CPositionInfo クラスを使用して OnTradeTransaction 内でポジションサイズを取得しています。すべて順調です。次に、同じ呼び出しで、OnTradeTransaction から直接別の関数を呼び出すと、CPositionInfo はゼロを返し、つまり、私が必要とするものではありません。さらに数分後、OnTimerでポジションサイズを取得しようとしましたが、そこではすべてOK、すなわち1でした。もちろん、全歴史を通じてポジションがクローズされ、またオープンされたことはない。

ここで質問です。OnTradeTransaction では CPositionInfo が必要な値を返すのに、OnTradeTransaction から呼ばれる別の関数では、ポジションボリュームではなく 0 が返されるのはなぜですか。


以下はそのログです。(ポジションオープン:10:30:12 クローズ:10:48:53)

これが注文のきっかけとなる。

2017.09.22 10:30:12 注文 [#3 買い指値1.00 SBRF-3.18 at 19352] がトリガーされました。

OnTradeTransactionは3回呼び出される。CPositionInfo 各コールでポジションボリュームは1に等しい。TRADE_TRANSACTION_HISTORY_ADDの最後の呼び出しで、私はこの関数を呼び出します。

2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_DEAL_ADD order=3 order_type=ORDER_TYPE_BUY state=ORDER_STATE_STARTED Price=19352.0 deal=2 deal_type=DEAL_TYPE_BUY Position direction POSITION_TYPE_BUY Volume 1.0
2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_ORDER_DELETE order=3 order_type=ORDER_TYPE_BUY_LIMIT state=ORDER_STATE_FILLED Price=19352.0 deal=0 deal_type=DEAL_TYPE_BUY Position direction POSITION_TYPE_BUY Volume 1.0
2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_HISTORY_ADD order=3 order_type=ORDER_TYPE_BUY_LIMIT state=ORDER_STATE_FILLED Price=19352.0 deal=0 deal_type=DEAL_TYPE_BUY Position direction POSITION_TYPE_BUY Volume 1.0

OnTradeTransactionから呼び出される関数で。

2017.09.22 10:32:50 POSITION_TYPE_BUYに向けて、引用シンボルSBRF-3.18に0.0のポジションが存在します。

OnTimerでボリュームを再取得しようとすると、しばらくして

2017.09.22 10:40:00 In OnTimer Symbol=SBRF-3.18 Volume=1.0

ポジションを閉じる

2017.09.22 10:48:53 注文 [#5 売り指値1.00 SBRF-3.18 at 19435] がトリガーされました。

また、注文、取引、ポジションに関するすべての情報を持つ MqlTradeTransaction 構造体があるのに、なぜ CPositionInfo を使用するのですか?

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торговой транзакции
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торговой транзакции
  • www.mql5.com
Например, при отсылке рыночного ордера на покупку он обрабатывается, для счета создается соответствующий ордер на покупку, происходит исполнение ордера, его удаление из списка открытых, добавление в историю ордеров, далее добавляется соответствующая сделка в историю и создается новая позиция. Все эти действия являются торговыми транзакциями...
 

便宜上。MqlTradeTransactionから 小さな関数が呼び出されます。クラスの要素を検索して、必要な要素を見つけることができます。そして、この要素に対してクラス関数の1つが呼び出され、何か役に立つことをする。

 
pivomoe:

便宜上。MqlTradeTransactionから 小さな関数が呼び出されます。そこで必要な要素は、クラスの要素を検索することで見つけることができる。この要素に対してクラス関数の1つが呼び出され、何か便利なことをするのです。

どうやら、これを行うには、アルゴリズム全体を変更する必要があるようです。問題の説明が非常に拙い。OnTradeTransaction を使用せずに必要なクラスがあった場合、OnTradeTransaction を使用するクラスは必要ありません。と書かれているのはまさにこのためです。

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

初心者からのFAQ MQL5 MT5 MetaTrader 5

アレクセイ・ビクトロフ さん 2017.12.30 09:04

また、すべての注文、取引、ポジション情報があるMqlTradeTransaction 構造体があるのに、なぜ CPositionInfo を使用するのですか?


 
アルゴリズムを変えるのは問題ない。CPositionInfoがポジションオープン 後に1、0、そして再び1を返すのかどうかがどうしても分かりません(ポジションサイズの話をしています)。履歴を見ると、ポジションがクローズされたり、再びオープンされたりすることはなかったが。
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
カスタム関数Abc()が実行され、長い(時間的に)アルゴリズムが実装される。
この機能の実行 中に、例えば、トレード、タイマーなどのイベントが発生します。
Abc()関数の実行が終了しなくても、これらのイベントが発生したことを知ることは可能ですか?
理由: