MQLによる非同期・マルチスレッドプログラミング - ページ 37

 

std::asyncがなぜ遅いのか理解できた。linux+gcc/clangで、asyncの後ろにスレッドプールがなく、新しいジョブごとに毎回新しいスレッドがバカみたいに開始されることです。私が混乱したのは、連続して作成され、すぐに破棄された2つのスレッドが同じIDを持つことです。

void f() {
   cout << this_thread::get_id() << endl;
}

int main()
{
   thread t1{f};
   t1.join();

   thread t2{f};
   t2.join();
   return 0;
}
// cout: 140448079447808
// cout: 140448079447808

wind+msvcの非同期テストでは、gccが10スレッドを起動するテストにおいて、msvcは6スレッド(4コアCPU)を起動しました。つまり、タスクに対してダミーで新しいスレッドを起動しているのではなく、明らかに何らかのキューが存在していることがわかりました。

結論:winndaのみ(スレッドプール経由)でも多かれ少なかれ十分な非同期が可能。

В моём случае это точно, так как понял что пул статичный по количеству потоков, мне это не подходит.

プールは固定されておらず、サイズを変更することが可能です。しかし、async() :) を強く制御するように、そのままでは明らかなように、標準は実装(スレッドプールかどうか)さえ保証しておらず、プールであれば、あなたはそれに影響を与えません(コンパイラはプールに1スレッドを割り当てたいかもしれませんが、あなたに尋ねることさえしません)。

しかし、風だけのために書くのであれば、asyncは使えるかもしれません(今は好きではないですが)。

SZY: なぜスレッドプールなしで非同期が必要なのか、まったく理解できない.

 
Vict:

std::asyncがなぜ遅いのか理解できた。linux+gcc/clangで、asyncの後ろにスレッドプールがなく、新しいジョブごとに毎回新しいスレッドがバカみたいに開始されることです。私が混乱したのは、連続して作成され、すぐに破棄された2つのスレッドが同じIDを持つことです。

wind+msvcの非同期テストでは、gccが10スレッドを起動するテストにおいて、msvcは6スレッド(4コアCPU)を起動しました。つまり、タスクに対してダミーで新しいスレッドを起動しているのではなく、明らかに何らかのキューが存在していることがわかりました。

結論:winndaのみ(スレッドプール経由)で多かれ少なかれ十分な非同期が可能。

プールは固定されておらず、サイズを変更することが可能です。しかし、async() :) を強く制御するように、そのままでは明らかなように、標準は実装(スレッドプールかどうか)さえ保証しておらず、プールであれば、あなたはそれに影響を与えません(コンパイラはプールに1スレッドを割り当てたいかもしれませんが、あなたに尋ねることさえしません)。

しかし、風だけのために書くのであれば、asyncは使えるかもしれません(今は好きではないですが)。

SZY: なぜスレッドプールなしで非同期が必要なのか理解できない.

実験結果と新しい情報を踏まえて、MQLにおけるマルチスレッドの必要性についてのご意見は変わりましたか?
 
Реter Konow:
実験結果や新しい情報を踏まえて、MQLにおけるマルチスレッドの必要性についてのご意見は変わりましたか?

さて、私はここでasyncに挑戦しています。一般的に、私はマルチスレッドに反対しているわけではありません。

µlでマルチスレッドを使うか?いいえ、しません。ピーター 私はもうマーケットプレイスを卒業していますし、正直なところ、強力な言語を使ったクローズドなエコシステムにはあまり興味がないんです。なぜまたC++を作るのか(これは全く簡単なことではない)。つまり、最も「進取の気性」に富んだ人たちが、市場を通じて厳密に「品物」を販売するように?まあ、そういう使命感ではないんですけどね。

 
Vict:

さて、私はここでasyncに挑戦しています。一般的に、私はマルチスレッドに反対しているわけではありません。

µlでマルチスレッドを使うか?いいえ、しません。ピーター 私はもうマーケットプレイスを卒業していますし、正直なところ、強力な言語を使ったクローズドなエコシステムにはあまり興味がないんです。なぜまたC++を作るのか(これは全く簡単なことではない)。つまり、最も「進取の気性」に富んだ人たちが、市場を通じて厳密に「品物」を販売 するように?まあ、そういう使命感ではないんですけどね。

まあ、逆でしょうけど。最も進取の気性に富んだ人が「グレイル」以外のものを販売するように。やはり、本格的なツールを必要としないのは「グレイル」です。新しい強力なアプリケーションが登場すれば、アルゴトレーディングの「聖杯寄生」が減り、プロフェッショナルなアプローチの価値が高まるかもしれない。 もちろん、事実ではないが、そうかもしれない......。
 
Vict:

µlでマルチスレッドを使用するのでしょうか?いいえ、しません。

MQLの問題でなぜマルチスレッドが必要なのか」という質問に、少なくとも1つの誠実な答えがあります。

私の記憶違いでなければ、5回ほど質問しましたが具体的な回答はありませんでした。

レテグ・コノウ
まあ、逆でしょうけど。グレイル」以外を売るために、最も進取の気性に富んだ人へ。やはり、本格的なツールを必要としない「グレイル」ですね。

ピーターさん、あなたは能力が低いからこそ、大きな声で発言する才能があるのです

私の勘違いでなければ、あなたはトレーディングExpert Advisorを書くスキルが全くなく、単純なオープン/クローズ1つのインジケータでさえ、今、あなたは純粋な正の履歴で取引するExpert Advisorを作成するために深刻なツールを必要としないと言っているのでしょうか?

トレーディングエキスパートアドバイザーを1つだけ書いてみてください。エキサイティングな冒険の世界があなたを待っています。

))))

 
Igor Makanu:

MQLの問題でなぜマルチスレッドが必要なのか」という問いに、少なくとも1つの真摯な答えがあります。

私の記憶違いでなければ、なぜ必要なのか5回尋ねたが回答はなかった、スレッディングをNSトレーニングにつなげる試みはあったが、私の意見では「過去のもの」だ。

ピーターさん、あなたは能力が低いからこそ、大きな声で発言する才能があるのです

私の勘違いでなければ、あなたはトレーディングExpert Advisorを書くスキルが全くなく、単純なオープン/クローズ1つのインジケータでさえ、今、あなたは純粋な正の履歴で取引するExpert Advisorを作成するために深刻なツールを必要としないと言っているのでしょうか?

トレーディングエキスパートアドバイザーを1つだけ書いてみてください。エキサイティングな冒険の世界があなたを待っています。

))))

スレッドにオフトピを立てる気はないのですが、あなたは低能ゆえに大きな声で発言する才能もお持ちのようで。この場合、私の能力や経験をご存じないのでしょう。インジケータを書いたことがないのは事実ですが、書いたことはあります。また、MQLのシャープについての発言は、私の開発をつぶしたに違いないのですが、いかがでしょうか?私のやり方ではまともなことはできない、すべてがうまくいかない、などということでしょうか。高い実力?)

マーケットプレイスを見れば、そこでは(ほとんど)「グレイル」以外のものは売られていないことがわかる。13000の「grails」、1000のユーティリティ、インジケータ、ライブラリ。当てずっぽうで。その結果、これらの「グレイル」を簡単に作ることができるのです。特にMT4で。そして、アプリケーション開発の障壁となる、需要の高いMQLQL開発ツールキットを定義する「grails」の作成である。

 
Реter Konow:

オフトピックを始めるつもりはありませんが、あなたは低能力のために大きな声で発言する才能も持っていますね。この場合、私の能力や経験をご存じないのでしょう。インジケータを書いたことがないのは事実ですが、エキスパートを書いたり、たくさんやったりしています。また、MQLのシャープについての発言は、私の開発をつぶしたに違いないのですが、いかがでしょうか?私のやり方ではまともなことはできない、すべてがうまくいかない、などということでしょうか。高い実力?)

マーケットプレイスを見れば、そこでは(ほとんど)「グレイル」以外のものは売られていないことがわかる。13000の「grails」、1000のユーティリティ、インジケータ、ライブラリ。当てずっぽうで。その結果、これらの「グレイル」を簡単に作ることができるのです。特にMT4で。そして、MQL開発ツールキットを定義する「grails」の作成が大きな需要となっており、アプリケーション開発の障壁となっている。

奇妙な、あなたが取引の専門家を書いていた場合、なぜあなたは初歩的なアクション、オープンオーダーのプロパティを取得する方法について「私のアプローチ」スレッドに質問があったのですか?(表を書いた時)今と同じように、テスターのグレイルを書くのは労力がかからないという声高な発言?

じゃあ、あなたは何でも知っているんだから、いい加減な冗談は言わないの?


シャープに関する私の主張は、私のブログと@fxsaberの 出版物のKBで、すべてが動作し、テーブルもそうです、そして@fxsaberは、テーブルが動作する方法の彼のビジョンの下でテストしていた、これは非常に困難な技術的実装であると判明 - 彼は10万以上の 20列に6000行以上の取引履歴の表を表示する必要がありました!私は、このテーブルが動作するようにする必要があります。 で、2番目のタブに現在のオープンオーダーが19列の情報として表示され、すべてがうまくいき、オンラインでもテスターでも何も遅くありません ;).主な点は、端末やPCに負荷をかけないことです(私がテストしたところ、PCでもノートPCでもCPU負荷は7〜8%でした)。

PS:市場については何も言いませんし、あなたがアドバイスしない、私のプレポストを参照してください - あなたも私も、それぞれ、そこに公開されていない、能力のレベルはゼロである;)

追記:応用ソフトの書き込み速度でシャープが自分の作品より劣っていることを証明するために、なんらかのバトル ))) に熱心すぎるのでは? ))))- 私のやり方」スレッドで、少なくとも10kセルの テーブルを投稿して、どのように動作するか見てみましょう;)

 
Igor Makanu:

奇妙な、あなたが取引の専門家を書いていた場合、なぜ "私のアプローチ "トピックに初歩的なアクション、オープンオーダーのプロパティを取得する方法についての 質問があったのでしょうか?(表を書いた時)今と同じように、テスターの聖杯を書くのは労働集約的でないという声高な発言?

じゃあ、あなたは何でも知っているんだから、いい加減な冗談は言わないの?


シャープに関する私の主張は、私のブログと@fxsaberの 出版物のQBで、すべてが機能し、テーブルもそうであり、@fxsaberによって テストされます。テーブルがどのように動作するかの彼のビジョンに、この1つは非常に困難な技術的な実装であることが判明した - 彼は20列〜12000値で 6000行以上の取引履歴のテーブルを表示する必要があり、第二のタブで情報の19列として現在のオープンオーダー、すべてが動作し、何もオンラインでもテスターで遅いです;)。. 端末やPC全般に負荷がかからないことが大きなポイントです( チェックしたところ、PCやノートPCで7〜8%以上の負荷はかかりませんでした)。

PS:私は市場について何も言うことはありませんし、私はあなたにしないことをお勧めします、私の事前投稿を参照してください - あなたも私も、それぞれ、そこに公開されていない、能力のレベルはゼロです;)。

注文履歴は私のストラテジーでは必要なかったため、手をつけていませんが、注文の出し方などがわからないということではありません。それに、私は昔、EAと一緒に仕事をしたことがあります。しかし、すべては非常にシンプルです(特に私のアプローチでは)。トレーディングExpert Advisorの作成に苦労はしていない。 チャートを作る難易度はもっと高く、だからこそExpert Advisorが多く、チャートがほとんどないのです。(@fxsaberに 聞く。) そして、シャープのテーブルの接続に関する記事をずっと待っていた。(ただ、私のレベルの接続のしやすさは得られないので、その点はご勘弁を。):))

マーケットセラーの地位は、人を思想家にし、アルゴトレードの存在問題に目を向けさせるとは言い難い)。

 
Igor Makanu:
...

追記:応用ソフトの書き込み速度でシャープが自分の作品に劣っていることを証明するために、何かバトルをしたくてうずうずしているのですね ))))))))- まあ、「私のやり方」スレッドで、少なくとも10kセルの テーブルを投稿してみて、どうなるか見てみてください;)

MQL4で1000行のテーブルを投稿したところ、各行に20個以上のセルが入っていました。合計で2万 個以上のセルがあります。見たんですね。とても速く動作しました。信じられなければ、もう一度見てください。MQL4に下線を引いています。5では10倍の速さで動作するでしょう。

 
Реter Konow:

MQL4で1000行のテーブルをそこに投稿したところ、各行が20個以上のセルを持っていました。合計で2万セル以上。ご覧になったことがあると思います。とても速く動作しました。信じられなければ、もう一度見てください。MQL4に下線を引いています。5では10倍の速さで動作するでしょう。

たとえ100万個の細胞であっても。画面に最大1000個表示できるのであれば、なぜすべてを更新/描画するのか?