FORTS 助けてください - ページ 8

 
MigVRN:

昔からそうでした。

彼は仕事をしていないカチカチの専門家です。その他、チャットに書かれていること全てタイマーやカスタム イベントは本当にチェックしなかった。

また、ヘルプから

...HCCフォーマットのサービスファイルは、HCフォーマットで要求された 時間枠の価格データを構築するためのデータソースとして機能します。HC形式のデータは時系列であり、素早くアクセスできるように最大限に準備されている。これらは、"Max bars in charts "パラメータを超えない範囲で、チャートまたはmql5-programの要求に応じて作成さ れ、さらに使用するためにhc拡張子を持つファイルに保存されます。

リソース節約のため、必要な時だけタイムフレームのデータをロードしてRAMに保存 し、長時間要求がない場合はRAMからデータをアンロードしてファイルに保存します。各時間枠のデータは、他の時間枠の準備データとは独立に 用意されています。データの準備と利用可能性に関するルールは、すべての時間枠で同じです。つまり、HCCフォーマットでのデータ格納単位が分バーであるにもかかわらず、HCCフォーマットでデータが利用できることは、HCフォーマットで同量のM1タイムフレームデータが利用でき、アクセスできることを意味しないのだ。

:)

そこで、SeriesInfoInteger(symbol,PERIOD_M1,SERIES_TERMINAL_FIRSTDATE,first_date)でない場合、誰がメモリにロードするのだろうか。

それ以外の機能はない!!!!

端末の中にデータがあるのに、なぜサーバーに行くのか?

 
Mikalas:

:)

そこで、SeriesInfoInteger(symbol,PERIOD_M1,SERIES_TERMINAL_FIRSTDATE,first_date)でない場合、誰がそれらをメモリに読み込むのでしょうか。

それ以外の機能はない!!!!

端末の中にデータがあるのに、なぜサーバーに行くのか?

そうです、そこにあるものを読み込む のです。しかし、インジケータの任意の遅延がそれにぶら下がっているすべてのものとチャットを遅くするという事実のために - インジケータでは、呼び出しの瞬間にシリーズの準備ができていない場合 - 関数は、エラーを返すとINITIALIZEデータ準備を作るようにしました。しばらくすると、エラーを返さなくなります。これが、あなたのログで起こっていることなのです。
 
MigVRN:
このシリーズを取り上げるのは初めてだからです。

サイクルを行いました。

long first_date = 0;
    datetime times[1];
    int fail_cnt = 0;
//---
    while ( fail_cnt < 1000 )
    {
      ResetLastError();  
      if ( SeriesInfoInteger( symbol, PERIOD_M1, SERIES_TERMINAL_FIRSTDATE, first_date ) )
      {
        if ( first_date > 0 )
        {
//--- force timeseries build
          CopyTime( symbol, period, datetime( first_date ) + PeriodSeconds( period ), 1, times );
//--- check date
          if ( SeriesInfoInteger( symbol, period, SERIES_FIRSTDATE, first_date ) )
//---        
          if ( first_date > 0 && first_date <= long( start_date ) )
          {
            return( Bars( symbol, period, start_date, end_date ) );
          } 
        }
      }
      fail_cnt++;
    }

結果はどうなったと思いますか?

 
MigVRN:
よし、読み込んで、そこにあるものを準備するんだ。しかし、インジケータの任意の遅延がそれにぶら下がっているすべてのものとチャットを遅くするという事実のために - インジケータでは、シリーズが呼び出しの瞬間に準備ができていない場合 - 関数は、エラーを返すとINITIALIZEデータ準備を作るようにしました。しばらくすると、エラーを返さなく なります。これが過去ログにあるものです。
この時間は、数回のOnCalculate()呼び出しか、あるいは数秒かかるかもしれません。これが金儲けマシンの仕組みだ。このため、インジケータからのデータ取得に関連するものをOnInit()で呼び出すのは正しくありません。
 
Mikalas:

サイクルを行いました。

結果はどうなったと思いますか?

barabashkakvn:
この時間は、数回のOnCalculate()呼び出しか、数秒かかるかもしれません。これが金儲けマシンの仕組みだ。だから、インジケーターのOnInit()からデータ取得に関わるものを呼び出すのは間違いなのです。

そうなんです、サイクルが非常に速いんです。開発者(私たち)からすればHELLなのはよくわかりますが :)でも、慣れるしかないでしょう。

ちなみに、Sleep()はインジケータでは動作しません

:)

 
MigVRN:

そうなんです、サイクルが非常に速いんです。開発者(私たち)からすればHELLなのはよくわかりますが :)でも、慣れるしかない...。

ちなみに、Sleep()はインジケータでは動作しません

:)

アンドレイさん、ありがとうございました。

質問はあなたにではなく、修辞的なものです。

なぜ必要なのか

SeriesInfoInteger( symbol, PERIOD_M1, SERIES_TERMINAL_FIRSTDATE, first_date ) ?-?

返事がなければ、サーバーに問い合わせるしかない(本当に端末にデータがないのかもしれない)!?

皆さん、ありがとうございました。チュクチにやられた...。

...そして、MQに "リスペクト "を !

P/S もうヘルプは読みません...。

 
Mikalas:

こんぺいとう

わからないことや誤解があっても、誰もチュクチとは言いません。

なぜ、そうしなければならないのか?

わからないときは、言われたことを聞くようにしています。

そして、同じような問題に直面し、それを解決した多くの人々の経験を頑なに無視した。

それが「チュクチャ作家」です。

 
Mikalas:

では、何が

SeriesInfoInteger( symbol, PERIOD_M1, SERIES_TERMINAL_FIRSTDATE, first_date ) ?-?

返事がなければ、サーバーに行くしかない(端末のデータは本当にないのかも しれない)!?

データが準備できれば取得し、初めて要求が発生した場合は準備を開始すること。
 
MigVRN:

そうなんです、サイクルが非常に速いんです。開発者(私たち)からすればHELLなのはよくわかりますが :)でも、慣れるしかない...。

ちなみに、Sleep()はインジケータでは動作しません

:)

ところで、開発者がSERIES_TERMINAL_FIRSTDATEを 使用することを妨げるものは何でしょうか?

を返します。

-1 - データなし

0 - データなし、ただし準備中

> 0 - 日付そのもの

 
Mikalas:

ところで、開発者はSERIES_TERMINAL_FIRSTDATEという 識別子を防いだのでしょうか?

を返します。

-1 - データなし

0 - データなし、ただし準備中

> 0 - 日付そのもの。

また、プログラム(とプログラマー)にとって「使えない」ことと「準備できない」ことの違いは何でしょうか?

データの準備ができていない場合は、エラーになります。

あるいは、この情報も瞬時に入手できないから、表示されないのかもしれません。