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

 
Nikolai Semko:

そうですね、クラッシュは非常に厳しいです。危ないことはしないほうがいい。
もちろん、記憶力が大事なんですけどね。
こんな手のひらで、メモリを掃除したら。

とすると、クラッシュも起きない。少なくとも私には起きなかった。
しかし、TFが変更された場合、配列は自動的にクリーニングされなければならないのです

私は理解できない、それは指標の情報のみを読み取るため、それがそれをしない場合、なぜ我々は関数Crash()を処理する必要があります。
おそらく、この関数の実行により、TF変更時のOnDeinitが遅くなり、MT5がメモリをクリアする時間がないのだと思われます。
OnDeinit非同期関数には、以前から問題がありました。よくないですねー。非同期が原因でシステムがクラッシュしてはならない。

1) ここではINT_MAX(2 bn) でチョウザメを切り捨てる必要があります。

CopyTicks(_Symbol,ticks,COPY_TICKS_ALL,(TimeCurrent()-Weeks*7*24*60*60)*1000,INT_MAX);

私たちの側からも修正します。

2) メモリはすべて厳重に管理する必要があり、GCは使えない

3) タイムフレーム変更時のインジケータ再初期化は、物理的な再初期化を一から行わないと暖かくならないので、自分でメモリを解放する必要がある。

4) OOPを使えば、少なくともリソースを適切に記述し、制御する能力が身につく

 

そして、スクロール時のシステムロードのスクリーンショットです。GPはほとんど死んでいる状態ですが、なぜロードされないのでしょうか?


 
Aleksey Vyazmikin:

プロセッサーはFX-8350、グラフィックカードはRadeon HD 7950ということですね。MT5でグラフィックカードに負荷がかかっている感じはしませんね。

しかし、そうなのです。グラフィックカードは、レンダリングに使用するものなので、レンダリング速度に大きな影響を与えます。

ご質問の内容は、スクロールが行われる環境についての情報が不足しています。

例えば、こんな感じです。

  • インジケーターの数、種類など、レンダリングの複雑さが全く違います。
  • 何番煎じ
  • プログラムがイベント(特に移動、マウスなど)に反応するかどうか - スレッドに動きを作り出すことができるかどうか
  • チャートの左端までスクロールすると、自動的にページングが行われ、データが再構築されます
  • グラフ上の可視エリアおよび非表示を含む全体のグラフオブジェクト数

状況が安定し、すべてのデータが計算され、誘発された要求がない場合、ビデオカードとCPUが負荷を担うことになります。


全コアではなく、1つのコアで100%までジャンプする」と明言されているのですから、これは至極当たり前の状況です。コンピュータは自分の仕事をします - 選択したコアをロードし、そうすることでCPU使用率は100%ではなく、8コアすべての12.5%になります。

 
Renat Fatkhullin:

1) ここでは、INT_MAX(2 bln) でsturgeonを切り捨てる必要があります。

これも修正します。

2) 全てのメモリは非常に厳重に管理されるべきで、ここにGCは存在しない。

3) タイムフレーム変更時のインジケータ再初期化は、物理的な再初期化を一から行わないと暖かくならないので、自分でメモリを解放する必要がある。

4) OOPを使えば、少なくともリソースを適切に記述し、制御する能力が身につく

同じトピックを続けるには、この投稿を見てください - これらのティックは、取引所が閉じているときにどこから来るのか明らかではありません - 私はブローカーまたは取引所に連絡するべきですか?

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

MQL5 独自のタイムフレーム

アレクセイ・ヴャズミキン さん 2019.09.07 09:50

どうしたらいいのかわからない、正しいのかわからない...。そして、クリアリング中。



 
Aleksey Vyazmikin:

そして、スクロール時のシステム負荷のスクリーンショットです。GPはほとんど死んでいる状態ですが、なぜロードされないのでしょうか?

だから、今回は何も深刻なことは伝わっていない。

また、全く何もない画面でアクティブにスクロールするテストを行ったところ、負荷が急上昇しているのがはっきりとわかります。


 
Renat Fatkhullin:

ところが、そうなんです。グラフィックスカードは、レンダリングに使用されるものであるため、レンダリング速度に強い影響を与えます。

ご質問の内容は、スクロールが行われる環境についての情報が不足しています。

例えば、こんな感じです。

  • インジケーターの数、種類など、レンダリングの複雑さは全く異なります。
  • 何番煎じ
  • プログラムがイベント(特に移動、マウスなど)に反応するかどうか - スレッドに動きを作り出すことができるかどうか
  • チャートの左端までスクロールすると、自動的にページングが行われ、データが再構築されます
  • グラフ上の可視領域および全体におけるグラフィックオブジェクトの数(非表示を含む)。

状況が安定し、すべてのデータが計算され、誘発された要求がない場合、ビデオカードとCPUが負荷を担うことになります。


全コアではなく、1つのコアで100%までジャンプする」と明言されているので、これは完全に正常な状態です。コンピュータは自分の仕事をします。選択したコアをロードし、そうすることでCPU使用率は100%ではなく、8コアすべての12.5%になります。

環境に関する情報をお伝えしています。

- 指標は16種類、レンダリングは複雑ではなく、キャンバス、ツールバー、その他の飾り(スティック/ストライプ)なしで、スクリーンショットを添付します。

- チャート上にプログラムはなく、オプティマイザーの後にウィンドウを開くと、例のごとく、仕事のチャートも遅いが、それほどでもない(インジケータが少ない)。

- いいえ、イベントは処理されません。

- 無制限バー表示モードが選択されている、つまりページングが除外されているようなものです。

- グラフィカルなオブジェクトがない、というか、矢印やダッシュをすべて削除しています。ラベルが1枚残っていますが、これはインジケーターのものです。今日は休みなので、支障はないはずです。

上のスクリーンショットでグラフィックカードが作動していないことを掲載しましたが、作動しているかどうかを確認する方法はありますか、それとも負荷がゼロに近く、コアに負荷がかかっていることが正常なのでしょうか?

 
Renat Fatkhullin:

だから、今回は何も深刻なことは伝わっていない。

これは、Windows 10の標準的なモニタリングで、負荷が急上昇していることがはっきりとわかります。


だから、そうすべきなのかもしれないが、そうでないこともある。なぜわかるのか?

 

私は、すべてを十分に詳しく、いろいろな方法で説明したようです。

コンピューターが仕事をする。すべての作業には資源が必要であり、その資源の消費を見ることができます。

なぜ、資源を消費してはいけないと考えるのか、私には理解できない。


MSI AfterburnerがどのようなGPU特性を考慮しているかは、正確にはわかりません。いろいろな特性が出ていて、ある特定のポイントというより、全体のGPU負荷がどうなっているのか、まったくわからないんです。

私の証明:私はそれを取って、ちょうどブラウザのウィンドウをスクロールします。

MetaTrader5でチャートをスクロールする場合も、状況は全く同じです。


端末のグラフィックカード利用が実証されている。

すでに20年間、取引端末のプロジェクトとその最適化に携わってきたことを考えれば、私の言葉を信用しない方がおかしい。

 
Aleksey Vyazmikin:

だから、そうすべきなのかもしれないが、そうでないこともある。なぜわかるのか?

テストプログラムを変えるか、目の前の問題に直接関わっている人の話を聞く。
 
Renat Fatkhullin:

私は、すべてを細かく丁寧に説明したようです。

コンピューターが仕事をする。すべての作業には資源が必要であり、その資源の消費を見ることができます。

なぜ、資源を消費してはいけないと考えるのか、私には理解できない。


MSI Afterburnerで判定されるGPUの仕様が具体的にどのようなものなのかは分かりませんが。いろいろな特性が出ていて、ある特定のポイントではなく、GPUの総負荷がどうなっているのか、まったくわかりません。

私の証明:私はそれを取って、ちょうどブラウザのウィンドウをスクロールします。

MetaTrader5でチャートをスクロールする場合も、状況は全く同じです。


端末のチャート利用は実証済み。

すでに20年間、取引端末のプロジェクトとその最適化に携わってきたことを考えれば、私の言葉を信用しない方がおかしい。

あなたを信じているのではないのです!いろんな3Dゲームが動くけど、ドライバか何かに問題があるんじゃないかと思ってる。

ブラウザはビデオカードを読み込みます、まあもちろんすべてのページではありませんが、ビデオクリップと似たような何かで - 私はチェックしました。

その後、40 IndexesチャートにMT5内蔵のインジケータをすべて投入したところ、すべてのスクロールが非常に速くなり、コアロードは20~25%になりました。

では、私の持っている何らかのインジケーターに問題があるのでしょうか?よくわからないが、すでに計算されている。長年、私はいくつかのマネージャーを実装するために求めている、どのようなユーザーがチャート上のプログラム/インジケータ/スクリプトを見ることができるだろう、それは非常に便利などのくらいのCPU時間だろうか。