MT5とスピードの関係 - ページ 3 12345678910...94 新しいコメント Anton 2020.05.29 11:11 #21 fxsaber: 空っぽの端子2460。 ZS 空のアカウントで実行する。 スピードは注文数ではなく、取引 数に大きく影響されるようですね。 可能なんです。必ずチェックします。 20000ms/100000サイクルという恐ろしい数字でも、1コールあたり5〜30msとは比べものにならないのです。 Alexsandr San 2020.05.29 11:11 #22 仕組みがよくわからない。 - ちょっとだけ出てきました。 Aleksey Mavrin 2020.05.29 11:12 #23 A100: 最もシンプルな形で。 計算のやり方そのものを変えればいいのです(タスクに必要な回数だけ中間戻りをする)。しかし、複雑な場合は、第一段階でOnMainがないと考えてください(メインコードをOnMainではなく、OnTrade2XXに移動します)、それぞれOnMainで何かを学ぶ必要はありません。 OnMainとは何ですか? すべてのイベントがOnMainを呼び出してキューを処理する場合、OnMainのキューに複数のイベントが存在するのはなぜですか? 削除済み 2020.05.29 11:14 #24 fxsaber: 取引履歴の多い口座で実行する必要がある。 もうどうでもいいことですが、デンマーク王国の何か・・・。あとの文章は?)) MASTERXAYS 2020.05.29 11:15 #25 テスト1 Dzmitry Manannikov 2020.05.29 11:19 #26 fxsaber: 読者の皆様には、このスクリプトの結果を引用していただくようお願いします。 あまり新しくないノートパソコンから実行。 Denis Kirichenko 2020.05.29 11:29 #27 異なるキャラクターで3回起動。その結果です。 2020.05.29 14:21:52.586 t2 (EURUSD,H1) HistoryDealsTotal() = 4987 2020.05.29 14:21:52.588 t2 (EURUSD,H1) HistoryOrdersTotal() = 4981 2020.05.29 14:21:52.757 t2 (EURUSD,H1) 100000 HistorySelect = 169.73 ms 2020.05.29 14:23:08.299 t2 (USDCHF,H4) HistoryDealsTotal() = 4987 2020.05.29 14:23:08.299 t2 (USDCHF,H4) HistoryOrdersTotal() = 4981 2020.05.29 14:23:08.480 t2 (USDCHF,H4) 100000 HistorySelect = 181.60 ms 2020.05.29 14:23:37.074 t2 (USDCAD,H1) HistoryDealsTotal() = 4987 2020.05.29 14:23:37.074 t2 (USDCAD,H1) HistoryOrdersTotal() = 4981 2020.05.29 14:23:37.238 t2 (USDCAD,H1) 100000 HistorySelect = 163.83 ms リソースを提供します。 2020.05.29 14:25:26.874 Terminal MetaTrader 5 x64 build 2460 started for MetaQuotes Software Corp. 2020.05.29 14:25:26.876 Terminal Windows 10 build 17763, AMD Phenom II X3 720 Processor, 10 / 15 Gb memory, 597 / 930 Gb disk, IE 11, UAC, Admin, GMT+3 その結果は、イマドキ、素晴らしいものです。 また、コンピュータ上では様々なプロセスが実行されており、平均的なCPU使用率は50~65%です。 prostotrader 2020.05.29 12:01 #28 fxsaber: 読者の皆様には、このスクリプトの結果を引用していただくようお願いします。 2020.05.29 14:58:20.187 ddd (Si-6.20,M1) HistoryDealsTotal() = 4267 2020.05.29 14:58:20.187 ddd (Si-6.20,M1) HistoryOrdersTotal() = 43089 2020.05.29 14:58:24.777 ddd (Si-6.20,M1) 100000 HistorySelect = 4589.30 ms fxsaber 2020.05.29 12:01 #29 Anton: 20000ms / 100000サイクルという恐ろしい数字でも、1コールあたり5-30msには程遠い。 #include <fxsaber\Benchmark.mqh> // https://c.mql5.com/3/321/Benchmark.mqh void OnStart() { MqlTick Tick; if (SymbolInfoTick(_Symbol, Tick)) for (int i = 0; i < 100000; i++) _B(HistorySelect(Tick.time, INT_MAX), 5); } Alert: Time[Test6.mq5 9: HistorySelect(Tick.time,INT_MAX)] = 32 ms. Alert: Time[Test6.mq5 9: HistorySelect(Tick.time,INT_MAX)] = 6 ms. 戦闘用EAでは、あちこちの関数を怪しいところで_B(FuncName(...), AlertTime) にラップしています。ここでは、最新のエントリーからログの一部を抜粋してご紹介します。 2020.05.29 15:08:41.806 Alert: Time[NewTicks.mqh 271: NEWTICKS::IsHistoryDeals(MarketWatchTick.time_msc)] = 20 ms. 2020.05.29 15:08:41.806 Alert: Time[SyncChannel.mqh 381: NEWTICKS::CheckFreshTicks(::LastTicks)] = 21 ms. 2020.05.29 15:08:42.793 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 8 ms. 2020.05.29 15:08:42.793 Alert: Time[NewTicks.mqh 271: NEWTICKS::IsHistoryDeals(MarketWatchTick.time_msc)] = 8 ms. 2020.05.29 15:08:42.925 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 6 ms. 2020.05.29 15:08:42.930 Alert: Time[NewTicks.mqh 247: NEWTICKS::IsHistoryDeals(Ticks[Size-1].time_msc)] = 7 ms. 2020.05.29 15:08:42.930 Alert: Time[SyncChannel.mqh 381: NEWTICKS::CheckFreshTicks(::LastTicks)] = 11 ms. 2020.05.29 15:08:42.952 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 6 ms. 2020.05.29 15:08:42.952 Alert: Time[NewTicks.mqh 271: NEWTICKS::IsHistoryDeals(MarketWatchTick.time_msc)] = 6 ms. 2020.05.29 15:08:44.557 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 7 ms. 2020.05.29 15:08:44.557 Alert: Time[NewTicks.mqh 271: NEWTICKS::IsHistoryDeals(MarketWatchTick.time_msc)] = 12 ms. 2020.05.29 15:08:44.557 Alert: Time[SyncChannel.mqh 381: NEWTICKS::CheckFreshTicks(::LastTicks)] = 12 ms. 2020.05.29 15:08:45.010 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 5 ms. 2020.05.29 15:08:45.010 Alert: Time[NewTicks.mqh 247: NEWTICKS::IsHistoryDeals(Ticks[Size-1].time_msc)] = 6 ms. 2020.05.29 15:08:46.303 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 24 ms. 2020.05.29 15:08:46.303 Alert: Time[NewTicks.mqh 271: NEWTICKS::IsHistoryDeals(MarketWatchTick.time_msc)] = 32 ms. 2020.05.29 15:08:46.303 Alert: Time[SyncChannel.mqh 381: NEWTICKS::CheckFreshTicks(::LastTicks)] = 32 ms. 2020.05.29 15:08:51.984 Alert: Time[NewTicks.mqh 112: ::HistorySelect(TimeMsc/1000,INT_MAX)] = 15 ms. 時間欄は、フリーズの発生頻度を示しています。 ファイル: Benchmark.mqh 2 kb Ruslan Khasanov 2020.05.29 12:03 #30 2020.05.29 14:59:37.947 Test_HS (USDJPY,M15) HistoryDealsTotal() = 5097 2020.05.29 14:59:37.948 Test_HS (USDJPY,M15) HistoryOrdersTotal() = 5154 2020.05.29 14:59:37.961 Test_HS (USDJPY,M15) 100000 HistorySelect = 13.81 ms リソースを提供します。 2020.05.29 14:49:51.173 Terminal MetaTrader 5 x64 build 2460 started for MetaQuotes Software Corp. 2020.05.29 14:49:51.175 Terminal Windows 10 build 19041, Intel Core i7-9700 @ 3.00 GHz, 54 / 63 Gb memory, 78 / 222 Gb disk, IE 11, UAC, GMT+3 12345678910...94 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
空っぽの端子2460。
ZS 空のアカウントで実行する。
スピードは注文数ではなく、取引 数に大きく影響されるようですね。
可能なんです。必ずチェックします。
20000ms/100000サイクルという恐ろしい数字でも、1コールあたり5〜30msとは比べものにならないのです。
仕組みがよくわからない。
- ちょっとだけ出てきました。
最もシンプルな形で。
計算のやり方そのものを変えればいいのです(タスクに必要な回数だけ中間戻りをする)。しかし、複雑な場合は、第一段階でOnMainがないと考えてください(メインコードをOnMainではなく、OnTrade2XXに移動します)、それぞれOnMainで何かを学ぶ必要はありません。
OnMainとは何ですか? すべてのイベントがOnMainを呼び出してキューを処理する場合、OnMainのキューに複数のイベントが存在するのはなぜですか?
取引履歴の多い口座で実行する必要がある。
もうどうでもいいことですが、デンマーク王国の何か・・・。あとの文章は?))
テスト1
読者の皆様には、このスクリプトの結果を引用していただくようお願いします。
あまり新しくないノートパソコンから実行。
異なるキャラクターで3回起動。その結果です。
リソースを提供します。
その結果は、イマドキ、素晴らしいものです。
また、コンピュータ上では様々なプロセスが実行されており、平均的なCPU使用率は50~65%です。
読者の皆様には、このスクリプトの結果を引用していただくようお願いします。
20000ms / 100000サイクルという恐ろしい数字でも、1コールあたり5-30msには程遠い。
戦闘用EAでは、あちこちの関数を怪しいところで_B(FuncName(...), AlertTime) にラップしています。ここでは、最新のエントリーからログの一部を抜粋してご紹介します。
時間欄は、フリーズの発生頻度を示しています。リソースを提供します。