MG4スクリプトとアドバイザーをサポートするテスター - ページ 11 1...4567891011 新しいコメント Vasiliy Sokolov 2014.11.18 14:19 #101 Renat:CopyXXXはiClose/iOpen/iXXXX関数と同じ速度 です。iXXXだけが一度に1つの要素を返し、CopyXXXは多数の要素を返すので、より効率的で高速 です。おそらく、MT4がティックハンドラーを起動する前に、ローカルチャートのすべての履歴を ローカル(キャッシュ)EAのマーケット環境に強制的にコピー することを考慮していないのでしょう。そして、この情報を経済的に更新する方法があるのですが、これには非常にコストがかかります。MQL4の特殊関数RefreshRatesは、ローカルチャートのキャッシュとヒストリーを強制的にリフレッシュさせます。CopyXXX を呼び出すと、以前に要求されたデータをキャッシュするための非常に精密で正確なメカニズムによって、より効率的になります。例えば、ディープヒストリーを刻々と再要求する必要はなく、ローカルに保存/書き出し、できるだけ早くアクセスできるようにする。昔の「ダイレクト」(実際にはダイレクトアクセスではない)アクセスOpen/High/Low/Closeとローカル配列double local[xxxx]を扱う方法を比較すると、後者の方が何倍も速い。したがって、ローカルに自分自身にコピーし、繰り返しクエリされるデータにローカルで高速にアクセスできるようにするのがよいでしょう。 ティックハンドラーとは、OnTickなどのカスタム関数を意味するのでしょうか?表示されるデータだけでなく、履歴全体をコピーしたい理由は何ですか? 削除済み 2014.11.18 14:41 #102 Vinin: これは指標にはならない。ここで、OOPインジケーターのリンクをあげました。 Renat Fatkhullin 2014.11.18 15:52 #103 C-4: ティックハンドラーとは、OnTickなどのカスタム関数を意味するのでしょうか?なぜ、出現したデータだけでなく、履歴全体をコピーする必要があるのでしょうか?Yes, OnTick/OnStart.MT4でローカルチャートに直接アクセスすることは、実際には直接的ではないことを、多くの人が知ったことと受け止めています。メモリ消費量も同期損失も2倍になる。幸いなことに、キャッシュリフレッシュは経済的ですが、それでもシステムコストが発生します。MT5では、ローカルキャッシュを完全に削除し、OnTick/OnStartを呼び出す前のシステムオーバーヘッドを少なくしています。 Vasiliy Sokolov 2014.11.18 16:28 #104 Renat:Yes, OnTick/OnStart.MT4でローカルチャートに直接アクセスすることは、実際には直接的ではないことを、多くの人が知ったことと受け止めています。メモリ消費量も同期ロスも2倍だ。幸いなことに、キャッシュの更新は控えめにしていますが、それでもシステムコストは出てしまいます。MT5では、ローカルキャッシュを完全に削除し、OnTick/OnStartコール前のシステムオーバーヘッドを少なくしました。 1年前は、MT4/MT5テスターの性能について議論して いました。MT4の標準EA「MovingAverage」は、同様のテスト条件で1分間に1回実行したのに対し、MT5では2分34秒で実行しました。なぜ時間軸が違うのですか?まず思い浮かぶのは、MT5の「モジュール性」と、MT5が稼働中に引き出さなければならない大量の取引環境だ。 Renat Fatkhullin 2014.11.18 16:36 #105 C-4:1年前、MT4/MT5のテスターの性能について説明しました。 MT4の標準EA「MovingAverage」は、同様のテスト条件で1分間に1回実行しましたが、MT5では2分34秒かかりました。なぜ時間軸が違うのですか?まず思い浮かぶのは、MT5の「モジュール性」と、MT5が稼働中に引き出さなければならない大量の取引環境です。多通貨実行に合わせたモジュール化、外部プロセス、環境のより良いモデリング。 1...4567891011 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
CopyXXXはiClose/iOpen/iXXXX関数と同じ速度 です。iXXXだけが一度に1つの要素を返し、CopyXXXは多数の要素を返すので、より効率的で高速 です。
おそらく、MT4がティックハンドラーを起動する前に、ローカルチャートのすべての履歴を ローカル(キャッシュ)EAのマーケット環境に強制的にコピー することを考慮していないのでしょう。そして、この情報を経済的に更新する方法があるのですが、これには非常にコストがかかります。MQL4の特殊関数RefreshRatesは、ローカルチャートのキャッシュとヒストリーを強制的にリフレッシュさせます。
CopyXXX を呼び出すと、以前に要求されたデータをキャッシュするための非常に精密で正確なメカニズムによって、より効率的になります。例えば、ディープヒストリーを刻々と再要求する必要はなく、ローカルに保存/書き出し、できるだけ早くアクセスできるようにする。
昔の「ダイレクト」(実際にはダイレクトアクセスではない)アクセスOpen/High/Low/Closeとローカル配列double local[xxxx]を扱う方法を比較すると、後者の方が何倍も速い。したがって、ローカルに自分自身にコピーし、繰り返しクエリされるデータにローカルで高速にアクセスできるようにするのがよいでしょう。
これは指標にはならない。
ティックハンドラーとは、OnTickなどのカスタム関数を意味するのでしょうか?なぜ、出現したデータだけでなく、履歴全体をコピーする必要があるのでしょうか?
Yes, OnTick/OnStart.
MT4でローカルチャートに直接アクセスすることは、実際には直接的ではないことを、多くの人が知ったことと受け止めています。メモリ消費量も同期損失も2倍になる。
幸いなことに、キャッシュリフレッシュは経済的ですが、それでもシステムコストが発生します。MT5では、ローカルキャッシュを完全に削除し、OnTick/OnStartを呼び出す前のシステムオーバーヘッドを少なくしています。
Yes, OnTick/OnStart.
MT4でローカルチャートに直接アクセスすることは、実際には直接的ではないことを、多くの人が知ったことと受け止めています。メモリ消費量も同期ロスも2倍だ。
幸いなことに、キャッシュの更新は控えめにしていますが、それでもシステムコストは出てしまいます。MT5では、ローカルキャッシュを完全に削除し、OnTick/OnStartコール前のシステムオーバーヘッドを少なくしました。
1年前、MT4/MT5のテスターの性能について説明しました。 MT4の標準EA「MovingAverage」は、同様のテスト条件で1分間に1回実行しましたが、MT5では2分34秒かかりました。なぜ時間軸が違うのですか?まず思い浮かぶのは、MT5の「モジュール性」と、MT5が稼働中に引き出さなければならない大量の取引環境です。
多通貨実行に合わせたモジュール化、外部プロセス、環境のより良いモデリング。