mql4でOnTradeTransaction()の代わりになるものは何ですか? - ページ 6 123456789 新しいコメント Alexey Viktorov 2020.01.27 16:37 #51 Vitaly Muzichenko: いや、でも、もしかしたら話が違うかもしれませんね。 これなら必ずうまくいく。 それでも端末を開いて確認したところ...。同じスクリプトを3回実行し、3つの結果を紹介します。 台本には1行しかない。 Print("OrdersHistoryTotal ", OrdersHistoryTotal()); 2020.01.27 18:28:51.063 Script 00 EURGBP,H4: removed 2020.01.27 18:28:51.063 00 EURGBP,H4: uninit reason 0 2020.01.27 18:28:51.063 00 EURGBP,H4: OrdersHistoryTotal 48 2020.01.27 18:28:51.063 00 EURGBP,H4: initialized 2020.01.27 18:28:51.043 Script Test\00 EURGBP,H4: loaded successfully 2020.01.27 18:28:38.203 Script 00 EURGBP,H4: removed 2020.01.27 18:28:38.193 00 EURGBP,H4: uninit reason 0 2020.01.27 18:28:38.193 00 EURGBP,H4: OrdersHistoryTotal 47 2020.01.27 18:28:38.193 00 EURGBP,H4: initialized 2020.01.27 18:28:38.183 Script Test\00 EURGBP,H4: loaded successfully 2020.01.27 18:28:16.443 Script 00 EURGBP,H4: removed 2020.01.27 18:28:16.443 00 EURGBP,H4: uninit reason 0 2020.01.27 18:28:16.443 00 EURGBP,H4: OrdersHistoryTotal 4 2020.01.27 18:28:16.443 00 EURGBP,H4: initialized 2020.01.27 18:28:16.423 Script Test\00 EURGBP,H4: loaded successfully つまり、あるEAが動作しているときに、ユーザーがいたずらで履歴の表示範囲を変更しようとした場合、2回目の切り替え時にEAがおかしくなってしまうということです。今度は小さく、今度は大きく、暗記したものとは違うものになるはずです。また、仮に線 if(HT!=__TotalHist) の代わりに > を入れても、状況は変わりません。設定が「今日」の時にEAを動かしていて、「すべての履歴」に切り替えると・・・どうなるのでしょうか? Alexey Viktorov 2020.01.27 16:39 #52 Aleksandr Volotko: OrderHistoryTotal()を触ろうとは思わないが、なぜ触る必要があるのか? 念のため:)))))) 削除済み 2020.01.27 16:57 #53 Alexey Viktorov:念のため:)))))) :))OrdersTotal() で十分です。 多分2つのタイマーを作るために?1つは100ミリ秒に一度でもOrdersTotal()の値を比較し、ループで1分(またはそれ以下の頻度)で一度安全のための第二 - ないマウスは、2ダースの取引のいずれかが100500回で1分後に閉じたり開いた場合、そこに見逃すことはできません - 私は確かに死ぬことはありませんが、私はあまりにも預金と仮定します。 Alexey Viktorov 2020.01.27 17:28 #54 Aleksandr Volotko: :)) OrdersTotal()で十分です。 多分私は2つのタイマーを作るべきでしょうか? それらの一つは、100ミリ秒に一度でもOrdersTotal()の値を比較し、第二のものは - 1分(またはそれ以下の頻度)でループを通過 - ない単一のマウスは、2ダース注文のいずれかが100500回より、1分後に閉じたり開いたりする場合は、そこを通り抜けることができます - 私は確かに死ぬことはないと私はそう私の預金になると仮定します。 また、同時にいくつの注文を開けるかは、アルゴリズムによって提供されるのですか? Vitaly Muzichenko 2020.01.27 17:31 #55 Alexey Viktorov: それでも端末を開いて確認したところ...。同じスクリプトを3回実行し、3つの結果を紹介します。 スクリプトには1行しかありません どういうことかというと、EAが動作しているときに、ユーザーがいたずらで履歴の表示範囲を変更しようとすると、2回目の切り替え時にEAが狂ってしまうということです。今度は小さく、今度は大きく、暗記したものとは違うものになるはずです。また、仮に線 != の代わりに > を入れても状況は変わらない。Expert Advisorを「今日」の設定で起動し、「すべての履歴」に切り替えると...どうなるのでしょうか? いずれにせよ、イコールにはならず、コードはさらに進みます。しかし、if(HT>__TotalHist) とした場合、問題に直面することになります。 削除済み 2020.01.27 17:45 #56 Alexey Viktorov: また、アルゴリズムは全部でいくつの未決済注文を規定しているのでしょうか? せいぜい2、3ダース。 Alexey Viktorov 2020.01.27 17:46 #57 Vitaly Muzichenko: いずれにせよ、イコールにはならず、コードは先に進むことになる。ただし、 (HT>__TotalHist) の場合は 問題があります。 Vitaly いずれにしても、問題は発生します。どう考えても、履歴の注文量の 変化に反応するEAであれば、注文量がどう変化しても反応するはずです。実のところ、履歴の中の注文量は増える一方なので、だからこそ危険は少ないだろうと提案したのですが、それでは問題が解決しません。自分だけのために書いたとしても、手動で切り替える可能性は否定できません。どんなテキストメッセージが来るかわからない))) Alexey Viktorov 2020.01.27 17:50 #58 Aleksandr Volotko: せいぜい2〜3ダース このような数値の場合、チケットの配列、あるいは注文プロパティを持つ構造体の配列を作成し、ティックごとに種類と終値の変化を確認する方が簡単だと思います。これにより、保留中の注文の 有効化やポジションの決済を追跡することができます。そしてOrderSend()を送信した直後にオープニングを行い、配列のサイズを追加し、必要なものをすべてそこに入れる。 削除済み 2020.01.27 18:05 #59 それこそ、1日に86400回も注文を振ればいいのですが、その気がなかったのでしょう。 Alexey Viktorov 2020.01.27 18:12 #60 Aleksandr Volotko: それこそ、1日に86400回も注文を振ればいいのですが、その気がなかったのでしょう。 その場合、アーテムのライブラリーがないと生きていけない。 123456789 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
いや、でも、もしかしたら話が違うかもしれませんね。
これなら必ずうまくいく。
それでも端末を開いて確認したところ...。同じスクリプトを3回実行し、3つの結果を紹介します。
台本には1行しかない。
つまり、あるEAが動作しているときに、ユーザーがいたずらで履歴の表示範囲を変更しようとした場合、2回目の切り替え時にEAがおかしくなってしまうということです。今度は小さく、今度は大きく、暗記したものとは違うものになるはずです。また、仮に線
if(HT!=__TotalHist)
の代わりに > を入れても、状況は変わりません。設定が「今日」の時にEAを動かしていて、「すべての履歴」に切り替えると・・・どうなるのでしょうか?
OrderHistoryTotal()を触ろうとは思わないが、なぜ触る必要があるのか?
念のため:))))))
念のため:))))))
:))OrdersTotal() で十分です。
多分2つのタイマーを作るために?1つは100ミリ秒に一度でもOrdersTotal()の値を比較し、ループで1分(またはそれ以下の頻度)で一度安全のための第二 - ないマウスは、2ダースの取引のいずれかが100500回で1分後に閉じたり開いた場合、そこに見逃すことはできません - 私は確かに死ぬことはありませんが、私はあまりにも預金と仮定します。
:)) OrdersTotal()で十分です。
多分私は2つのタイマーを作るべきでしょうか? それらの一つは、100ミリ秒に一度でもOrdersTotal()の値を比較し、第二のものは - 1分(またはそれ以下の頻度)でループを通過 - ない単一のマウスは、2ダース注文のいずれかが100500回より、1分後に閉じたり開いたりする場合は、そこを通り抜けることができます - 私は確かに死ぬことはないと私はそう私の預金になると仮定します。
また、同時にいくつの注文を開けるかは、アルゴリズムによって提供されるのですか?
それでも端末を開いて確認したところ...。同じスクリプトを3回実行し、3つの結果を紹介します。
スクリプトには1行しかありません
どういうことかというと、EAが動作しているときに、ユーザーがいたずらで履歴の表示範囲を変更しようとすると、2回目の切り替え時にEAが狂ってしまうということです。今度は小さく、今度は大きく、暗記したものとは違うものになるはずです。また、仮に線
!= の代わりに > を入れても状況は変わらない。Expert Advisorを「今日」の設定で起動し、「すべての履歴」に切り替えると...どうなるのでしょうか?
いずれにせよ、イコールにはならず、コードはさらに進みます。しかし、if(HT>__TotalHist) とした場合、問題に直面することになります。
また、アルゴリズムは全部でいくつの未決済注文を規定しているのでしょうか?
せいぜい2、3ダース。
いずれにせよ、イコールにはならず、コードは先に進むことになる。ただし、 (HT>__TotalHist) の場合は 問題があります。
Vitaly いずれにしても、問題は発生します。どう考えても、履歴の注文量の 変化に反応するEAであれば、注文量がどう変化しても反応するはずです。実のところ、履歴の中の注文量は増える一方なので、だからこそ危険は少ないだろうと提案したのですが、それでは問題が解決しません。自分だけのために書いたとしても、手動で切り替える可能性は否定できません。どんなテキストメッセージが来るかわからない)))
せいぜい2〜3ダース
このような数値の場合、チケットの配列、あるいは注文プロパティを持つ構造体の配列を作成し、ティックごとに種類と終値の変化を確認する方が簡単だと思います。これにより、保留中の注文の 有効化やポジションの決済を追跡することができます。そしてOrderSend()を送信した直後にオープニングを行い、配列のサイズを追加し、必要なものをすべてそこに入れる。
それこそ、1日に86400回も注文を振ればいいのですが、その気がなかったのでしょう。
その場合、アーテムのライブラリーがないと生きていけない。