エラー、バグ、質問 - ページ 212

 
Urain:
そうです、アクセススピードを最適化するための標準機能という形だけです。

特にMQL5は、既存のニュースデータの配列を素早く処理するので、スピードについてはまだ語れないと思います。そしてそれは、MQLがさらに速くなることを期待してのことです。


しかし、このテーマについては詳しく説明したいと思います。このデータをその後どうするつもりなのかが気になるところです。

 
sergeev:

特にMQL5は、既存のニュースデータの配列を素早く処理するので、スピードについてはまだ語れないと思います。そして、MQLがさらに速くなることを期待しています。


しかし、これについては詳しく説明したいと思います。このデータを使って何をするつもりなのだろう? 具体的な活用例は?

そして、次は熱い分野、今まで普通に手に入らなかったニュース、そしてニュース戦略のコーディングがブームになるのでしょう。

NSの委員会ではずっと使うつもりですが、さらにテーマを発展させたいと考えています。

ZZZY しかし、限りテスターでニュースが表示されませんように(すなわち、ニュース記事)、それはファイル、およびサードパーティのリソース上のパーサーニュースを介して行う必要があります。

 

取引回数が増えるとテスターの動作が遅くなる。

期間 トレード お得な情報 ダニ バー チック数(ms) レポートサイズ .xlsx, KB レポート作成時間
04.10.2010-05.10.2010 5 720 46226 1438 27960 126 30秒
04.10.2010-06.10.2010 9 1680 99347 2871 240966 275 2分
04.10.2010-07.10.2010 21 2703 149837 4306 382370 430 10分
04.10.2010-10.10.2010 35 4865 253175 7118 1202809 753 35分
04.10.2010-16.10.2010 67 9783 492163 14226 8908720 1463 50分
04.10.2010-01.11.2010 79 13199 1189566 28453 20956134 N/A (エラー) 1時間10分
04.10.2010-27.11.2010 79 13199 2863155 56334 16055687

2分間に1回程度の強度で取引を開始すると、かなり長い期間の終わりまでにテスト時間の1秒が、テスト開始時に比べて数倍少ない取引になっていることがわかります(ログタブ)。テスト 結果をOpen XML形式で出力した場合も同様です。

 

正確には、テスターの各取引は処理に時間を要するため、10回の取引で1回実行する方が、100 000回の取引で実行するよりももちろん時間がかかりません

しかし、テスト時間に最も影響を与えるのは、1パスで処理されるティックの数です。標準のMoving Averageを1ヶ月から始まるall ticksモード(間隔2009.01.01-2009.02.01)で実行し、テスト時間を毎回1ヶ月ずつ増やして22ヶ月にしました。


図からわかるように、テスト時間の刻み数への依存は厳密に線形である。


 
Vigor:
こんにちは、コンストラクトの追加を反映して

#property tester_indicator "indicator.ex5"。

を、ドキュメント内のiCustom関数の説明の中に入れてください。iCustomがチャートでは動作するが、テスターでは動作しない理由を理解するのに数時間を費やしました。

これについては、プログラムのプロパティの 項で説明します。

テスターインジケータ

カスタムインジケータの名前。フォーマットは "indicator_name.ex5" です。テストに必要なインジケータは、対応するパラメータが定数文字列で指定されている場合、iCustom() 関数呼び出しから自動的に決定される。その他の場合(IndicatorCreate() 関数の使用、またはインジケータ名を定義するパラメータに定数でない文字列を使用)には、このプロパティが必要です。

テスターファイル

テスターのファイル名。拡張子を指定し、二重引用符で囲む(定数文字列として)。 指定されたファイルはテスターに渡され、操作されます。 テスト用の入力ファイルが必要な場合は、常に指定する必要があります。

テスタライブラリ

二重引用符で囲まれたライブラリ名(拡張子付き)。ライブラリは、dllとex5の両方の拡張子を持つことができます。 テストに必要なライブラリは自動的に検出されます。ただし、カスタム インジケータでライブラリが使用される場合は、このプロパティを使用する必要があります。


しかし、おっしゃるとおり、関連する場所に再度明示的にその情報を追加する必要があります。

 
Rosh:

実は、テスト時間は取引回数 に直接依存しないのです。正確には、テスターの各取引を処理する時間が必要なため、10件の取引で1回実行する方が、100 000件の取引で実行するよりもちろん時間がかかります。

しかし、テスト時間に最も影響を与えるのは、1パスで処理されるティックの数です。標準のMoving Averageを1ヶ月から始まるall ticksモード(間隔2009.01.01-2009.02.01)で実行し、テスト時間を毎回1ヶ月ずつ増やして22ヶ月にしました。

図からわかるように、テスト時間の刻み数依存性は厳密には線形である。

おそらく、「テスターの各取引は処理に時間がかかるため、10件の取引で1回実行すると、100 000件の取引で実行するよりももちろん時間がかかりません」と読むべきでしょう。

ダニについては同感です。しかし、案件の数には正確に注意を払う必要があります。そこでの時間の伸びは明らかに直線的ではなく、テストレポートを形成することは完全に問題外なのです。

 

EventSetTimer()で設定可能な最大時間は?

INT_MAX? それはないでしょう。自分で調べるのは嫌だし、ヘルプにも何もない。

Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Константы числовых типов
Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Константы числовых типов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Именованные константы / Константы числовых типов - Документация по MQL5
 
Ashes:


おそらく、「テスターの各取引は処理に時間がかかるため、10件の取引を行う1回の実行は、10万件の取引を行う実行よりももちろん時間がかかりません」と読むべきでしょう。

修正しました。
 
Ashes:


ダニの件、了解です。しかし、もう一度取引回数に注意してください - そこの時間の伸びは明らかに線形ではなく、テストレポートの形成は完全に問題外です!

同じティック数で、異なる取引回 数のランを行う。そして、比較することができます。
Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
Торговые функции / HistoryDealsTotal - Документация по MQL5
 

テストの過程で、いくつかの疑問が生じましたので、同時に撮影した写真をお見せします。

図からわかるように、3つのコアしか動いていない。テストの途中で、作業に関わるコアの数が徐々にゼロになり、その後一気に稼働する、つまりダウンタイムがあるという状況に何度も直面したが、なぜ解放したコアはすぐに動き出さないのだろう。

実行回数は287回と定義されていますが、最適化結果ではそのように表示されます。

では、この数字にはどんな意味があるのでしょうか? 最適化グラフの点数も約381点...。