[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 391

 
Integer:


1.詰まってますね。もう一度言います。システムは、フローがアイドル状態であるか、アクションを実行したかどうかを知る術がないのです。

システムはそれを知る必要はないのです。スレッドの問題です。どちらかに対応することになります。システムで保証されています。もちろん、コードに何らかのバグがあって自分で止めた場合は別ですが。
 
Zhunko:
システムはそれを知る必要はないのです。フローの問題です。どうせ処理されるのだから。システムで保証されています。もちろん、コードに何らかのバグがあって自分で止めた場合は別ですが。


全く話が通じないのは昔から明らかだろ。
 

純子さん、なんでここで主張するんだ...自分の言ってることがわかってないじゃないか。システムが欲しいのか、欲しくないのか...。自分が何を言っているのかすら分かっていない。それは、先に概説された問題を解決すること...。とか言い出すと、今度は必要ないとか言い出しそうで...。そんなタスクはないはずだと、すでに言われていますね。頭の中でぐるぐる回って、気づかないうちに、自分を教祖のような役割にしてしまう。

 
重要なのは流れではなく、それがいつもできるわけではないことです。そして、それが何をするものなのかを舵取りしなければならない。
 
Integer:
重要なのはスレッドではなく、それが何をするのか、そしてそれがずっとできるわけではないのです。そして、それが何をするのかを管理しなければならない。

ここに 書きました。

ずん子

もう一つ、キューが必要なケースがあります。しかし、スレッドの実行キューではなく、スレッドから受け取ったデータ(スレッドの作業結果)を処理する順番です。これは、キューにとって最も頻度の高いタスクです。

これか?

 
Zhunko:

ここに 書かれています。

これか?

ほぼ同様。しかし、それ以前には、この注文はまったく重要ではないといった発言もありました。そして、ここでは一般的に、タスクを均等に実行するだけでなく、一定の順序で実行しなければならない場合(実行しない場合、さらに処理するためのデータを収集するため、さもなければ、ステートメントの不正確さのポイントに到達する)であると述べられていた。今度はあなたが答える番です。私は知っています...。なら、この10ページで何があったんだ?
 
1年分の履歴(300-400トレード)を1回実行すると、テスターは最大でギガバイトのログファイルを作成しますが、これは正常なのでしょうか??
 
lottamer:
1年分の履歴(300-400トレード)を1回実行すると、テスターは最大でギガバイトのログファイルを作成しますが、これは正常なのでしょうか??

基本的には大丈夫です :)普通とか普通じゃないとかじゃなくて、ただそうなってしまう、それだけなんです。その内容を見て、もしエラーメッセージが あれば、これらのエラーで何らかのアクションを起こす必要があります。情報メッセージがある場合は、それらを無効にするか(スイッチがある場合)、関数Print()(), Comment(), Alert()の呼び出しをコメントアウトする必要があります。
 
Integer:

ほぼ同じです。しかし、それ以前には、この注文はまったく重要ではないといった発言もありました。そして、ここでは、タスクが均等に実行されるだけでなく、一定の順序で実行されなければならない場合(実行しない場合、しかし、さらなる処理のためにデータを収集するために、そうでなければ、文の不正確さに混乱するかもしれない)、より重要である。今度はあなたが答える番です。私は知っています...。なら、この10ページで何があったんだ?

あなたの説明不足でこうなったのです。381ページで書き直しました。私の返信を読んでいれば、気づいて言ったはずです。

===================

1.独立したスレッドがいくつもあります。

2.結果は何らかのキューにスタックされる。

3.このキューは共有資源である。

4.スレッドの共有結果キューへのアクセスを同期させる必要があります。

そうだろ?

===================

このように、グローバル変数を削除しなくても、正しく動作するはずです。

#property show_inputs

extern int Pause = 1000;

int    hwndChart = NULL; // Уникальный идентификатор скрипта.
string sName = "Condition";

void init()
 {
  hwndChart = WindowHandle(Symbol(), 0);
  // Создаём глобальную переменную синхронизации скриптов.
  if (!GlobalVariableCheck(sName)) GlobalVariableSet(sName, 0);
 }
 
void deinit()
 {
  while (!IsStopped())
   {
    if (!GlobalVariableSetOnCondition(sName, hwndChart, 0)) continue;
    if (GlobalVariableSetOnCondition(sName, 0, hwndChart)) return;
   }
 }

void start()
 {
  while (!IsStopped())
   {
    Sleep(200); // Имитация тика.
    // Начало блока синхронизации.
    if (!GlobalVariableSetOnCondition(sName, hwndChart, 0)) continue;
    if (GlobalVariableGet(sName) == hwndChart)
     {
      Print("Start");
      Sleep(Pause); // Имитация работы.
      Print("End");
     }
    GlobalVariableSetOnCondition(sName, 0, hwndChart);
   } // Завершение блока синхронизации.
 }

チリパハ

これは...

まだ解答の要旨をすぐに把握できていないので、アルルは解答を導き出したのだと思います。でもそれは、私が初心者だからであって、まず理論を学んでから実践にトライするには、もっと時間が必要なのです。しかし、私はこの問題をマスターするために努力します。


そうですね、未解決の質問というのは、まさにこの質問の羅列を意味していました。

====================================

つまり、言い換えれば- もし、EAの中に、あなたが提案した解決策のブロックがない場合、そのようなEAをたくさん使うと、リスク管理についての質問で述べたような事態を引き起こすかもしれませんね。

もう少し説明させてください。あまりに危機感がなさすぎるのもどうかと思います。そのため、これまではhepotheticallyに考えていました。なぜなら、問題を解くスピードが速く、おそらくコンピュータの中の解答は、広いビットレートのチャンネルを「飛び交う」ことになるからです。- でも、アルルによると、彼は1ラウンドに2つしか注文を受けられないので、私が間違っているのかもしれません。だから、問題があるのです。

今になってやっと質問の意味がわかりました :-))

もしそうなったら、それは間違ったリスクとの問題です。リスクが低ければ何も同期させる必要はない。保証金の+-0.0001%は重要ではありません。

 

Zhunko:

今になってやっと質問を理解しました :-))

もしそうなったら、それは間違ったリスクとの問題です。低リスクであれば、何も同期させる必要はありません。+-預かり金の+-0.0001%は決定的なものではありません。

そんなこともあるんだ...。人は、今ある問題(イシュー)を解決しているとき、他のタスクに頭を切り替えることが難しい。また、タスクがたくさんあると、すべてをこなすのは難しい...。: ))時間管理のルール

もう一つ、マルチスレッドに関する質問です。

セルゲイ・コバレフ氏のチュートリアルでは、Expert Advisorがループで動作するように最適化されたSquarednessを使用した方法を説明しています。これとマルチスレッドを考慮すると、EAのこのような周期的な動作は、他のEAやスクリプト、インジケータに不利益を与えないという理解で合っていますか?そして、安心してEAの作業をループで開始することができるのですね。それとも、やらないほうがいいのでしょうか?また、どのような場合に避けるべきでしょうか?

私が理解する限り、この作業サイクルは上記のコードで実装されています。おそらく、だから思い出したのでしょう。

ところで、このようなループしたEAをテスターで実行した場合、どの程度正しく動作するのでしょうか?それとも、この場合、ループを「切る」べきなのでしょうか?