もう一度、マルチスレッドについて - ページ 8

 
Aliaksandr Hryshyn:
チャートは、計算の一部を表現したものです。

ここまでは水の中の話、方向性は明確だが、具体的に何を......。

チャットルームとかも選択肢に入らないの?

 
dd:
ここまでは水の中の話、方向性は明確だが、具体的に何を......。
まあ、具体的には、インジケータからコードを取り出して、Sharpで書き直すということです。
 
どのようなチャットルームですか?
 
Aliaksandr Hryshyn:
C#でできる。インジケータをそれに書き換えることはできますか?ソースはあるのか?
正直なところ、そのつもりはないんです。標準的なインジケーターを使用しています。しかし、私はパラメータを変えていくつも使っています。それに、タンバリンで踊りたいとはあまり思わないですね。
 
このオプションは残しておいた方が良いですね、ややこしいですから。
 
Aliaksandr Hryshyn:
どのようなチャットルームですか?
そう、同志たちは最初の書き込みで松葉杖があると言っていたのだが......。私自身はまだ理解していないのですが。
 
何がどのように改善されるかは、コードを見てみないと正確にはわかりませんが、おそらく松葉杖がないとうまくいかないでしょう。
 
上記の提案のように、インジケータをDLLに移動させることが最良の選択肢のように思います。
標準的な指標のソースコードは、「指標」→「例」のフォルダーにあります。
必要なインジケータのコードをDLLに転送し、そのために必要な関数を作成するのです。
同じ場所で、これらの関数の呼び出しや計算を、マルチスレッドや非同期によって並列化する。
 
ヘルプによると、各インジケータは独立したスレッドで実行されるようなので、Expert AdvisorのiCustomでタスクを分割して呼び出す、つまり計算は並列、ポーリング(バッファ値の取得)だけ逐次で試してみたいと思いました。
 
Igor Zakharov:
ヘルプによると、各インジケータは独立したスレッドで実行されるようです。 タスクをインディケータに分割し、Expert AdvisorのiCustom経由で呼び出す、つまり計算は並列でポーリング(バッファ値の取得)だけがシリアルになることを試してみたいと思いました。 チェックしていなかったのでもう関係ないし、大きな進歩の可能性はあまりないのですが。
テスターではすべてが1スレッドになっていますが、実機では動作しています。