リアルタイム予測システムのテスト - ページ 74

 
neoclassic писал(а)>>
forecast.csv ファイルを見ることができます。

もうありません :o( でも、今週末にはもう少しありますよ! :o)

 
データの構造を 把握したい。同じような問題で、軌跡をグラフで表示する必要があったのを覚えています。しかし、そのために私はインジケーターを使いました。そこで、SetIndexShiftを決定するために、軌跡の長さを取得する必要があったのです。軌跡のファイルは、1つ目の軌跡の値を示す行、空、2つ目、空、といった形式になっていた。長さの決定には、読み出しごとに空行がないか確認し、見つかったら次のバッファを埋め、シフトして決定した。お役に立てたでしょうか。
 
grasn >> :

私は、実現可能性の高い配列を生成するスクリプトを書きました(非常に単純なものです)。

このスクリプトの仕組みはこうだ。

テキストファイルから確率サンプルの長さを自動的に決定する方法は謎で、今のところ手動で設定しています。何か思い当たる節があれば、アドバイスをお願いします。

私は、ShowSeriesにシリーズのサイズを決定する関数を持っています。それは、次のようにファイルの余分な先読みをすることによってグローバルで行われます。

int GetFileCount()
{
  int count = 0;
  int columns = 0;
  int handle = FileOpen( FileName, FILE_CSV| FILE_READ, Delimiter);
  if( handle > 0)
  {
    while(!FileIsEnding( handle))
    {
      string x = FileReadString( handle);
      if(StringLen(StringTrimLeft(StringTrimRight( x))) == 0) break;
      if( count == 0)
      {
        columns++;
      }
      if(FileIsLineEnding( handle))
      {
        count++;
      }
    }
    FileClose( handle);
  }
  Comment("Column ", ColumnNo, "(", columns, "),", " Lines:", count);
  return( count);
}

バイナリ形式のファイルに保存する場合は、(length-file-header-if-it-is)/size-one-recordという当たり前の式ですぐに計算することが可能です。

インジケーターの代わりにオブジェクトを大量に使うメリットはよくわからないけど。私は普段、逆にオブジェクトが適用されるコードを使う必要がある場合は、バッファに変換して使っています。必要なオブジェクトはキャプションだけであり、methacquotesがテキストインジケータをわざわざ作らなかったからです。

そして、もうひとつの重要なポイント。TSをオブジェクトで構築することはできないでしょう。iCustomで利用可能なシグナルを提供するインジケーターである必要があります。

この方向性をオブジェクトで表現するのは、不適切なバイ・デザインだと断じる;-)。でも、もちろんあなたが一番よく分かっているはずです。

 
neoclassic >> :
データの構造を把握したい。同じような問題で、軌跡をグラフで表示する必要があったのを覚えています。しかし、私はこのためにインジケータを使いました。そこで、SetIndexShiftを決定するために、軌跡の長さを取得する必要があったのです。軌跡のファイルは、1回目の軌跡の値を示す行、空、2回目、空、といった形式になっていた。長さの決定には、読み出しごとに空行がないか確認し、見つかったら次のバッファを埋め、シフトして決定した。お役に立てたでしょうか。

マトリックスがあります。その行列の大きさを決めればいいんです。

 
marketeer >> :

私は、ShowSeriesの中に、シリーズのサイズを決定する関数を持っていますが、これは、次のようにファイルの余分な先読みをすることで斜めに行われます。

バイナリファイルに保存する場合は、(length-file-header-if-it-is)/size-one-recordという当たり前の式ですぐに計算することが可能です。

インジケーターの代わりにオブジェクトを大量に使うメリットはよくわからないけど。私は普段、逆にオブジェクトが適用されるコードを使う必要がある場合は、バッファに変換して使っています。必要なオブジェクトはキャプションだけであり、methacquotesがテキストインジケータをわざわざ作らなかったからです。


機能を見て、何をするのか概念的に理解することさえできました。まだ解明されていないのは、その仕組みです。よし、週末に時間をとって考えて、わからなければ説明を乞うことにしよう。


そして、もうひとつの重要なポイント。TSをオブジェクトで構築することはできないでしょう。iCustomで利用できるシグナルを与えるインジケータであること。

私は、間違ったデザインを買うように、オブジェクトでこのように閉じます)。でも、もちろんあなたはよく分かっているはずです。


それは分かっているのですが、今のところ、予測の可視化のためだけに必要なのです。もちろん、駆け引きするレベルもあるでしょうし、マトリクスにデータを入力します:o)

 
grasn >> :

マトリクスがあるその行列の大きさを決めればいいんです。

行列の各行が軌跡であるなら、私は次のようにします。
   while(FileIsEnding( Handle)==false)
   {
      if(FileIsLineEnding(Handle)) //если строка закончилась, начинаем новую траекторию с 0
      {
         i=0;
      }

      COUNT=FileReadString( Handle);
      realisation=NormalizeDouble(StrToDouble( COUNT), 5);

      ObjectCreate(DoubleToStr( idCount, 10), OBJ_ARROW, 0,Time[0]- timeShift*15*60)+( i)*Period()*60+1, realisation);
      ObjectSet(DoubleToStr( idCount, 10), OBJPROP_ARROWCODE, 250);
      
      i= i+1;
      idCount= idCount+1;

   }
 
neoclassic >> :
行列の各行が軌跡であるなら、私は次のようにします。

これまでgrasnは、行が時間数、列が軌跡を書き込んだファイルを生成してきました。少なくとも、このレイアウトのままの方が便利だと思います。)-どこでも使っています。ちなみに、Deductorもそうです。

 

前のページでgrasnさんが投稿されたインジケーターのコードを見ると、行単位で軌跡を読み込んでいます。私が理解した範囲では、問題は、時間的に0番目のバーから描画を開始する軌跡の長さを知る必要があることです。

私の提案する方法は、自動的に行末を検出してキャリッジを移動させるものです :-)。

何が便利かということですが、私もそう思います。

 
同僚、アドバイスありがとうございました。試してみようと思います。
 

EURUSD、M15。

300カウント(3日強)の予想。

主な軌跡


最も可能性の高い2つの軌道のグループは、ほぼ「等しい」。


MTに移管。



PS1:念のため - システムはテスト中であり、取引に使用するには時期尚早である。

PS2:最初の引用でチャートが歴史に "シフト "することを強く疑っています。

ファイル:
files.rar  44 kb