トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 1849

 
Mihail Marchukajtes:
ICustomで標準...しかし、ティックごとに 書き込まれるファイルからデータを読み、インジケータは新しいバーが表示されたときにデータを読み、間違った値を取ってしまうことが判明したのです。

まず、すべてのティックが書かれているわけではありません

  if ((interest!=inter))
  {

   MqlTick last_tick;
   if(SymbolInfoTick(Name_instrFS,last_tick)) 
    StartDate=last_tick.time;
    else StartDate=TimeCurrent();
    for (int i=0;i<100 && !IsStopped();i++)
    { 
      h=FileOpen("OpenI\\"+Name_instr+"_OI.csv",FILE_WRITE|FILE_READ|FILE_ANSI|FILE_CSV|FILE_COMMON|FILE_SHARE_READ,",");
       if(h!=INVALID_HANDLE)                                                         
       {  
         
         FileSeek(h,0,SEEK_END);
         FileWrite(h,StartDate,DoubleToString(interest,0)); 
         FileClose(h); 
         Sleep(100);
         break; 
       }
    }   
    inter=interest;
   // byOR=byORD;
   // sellOR=sellORD;
  }

OIは、10秒(同一ライン書き込み100サイクル+書き込み後0.1秒待ち)以上前に変化した場合のみ書き込まれます。実際には多くのティックがスキップされるため、再生中に正確な同期をとることはもはや不可能です。ティックを使っていないのですが、テスターですべてのティックを指定するのか、それとも商品(資産)の売買が行われたものだけを指定するのですか?

分足の結果を基にシンボルを作成する方が、ゴミが少なく、インジケータでの同期も便利です。


インジケーターについてですが、仮にヒストリーに何かが正しく描かれていたとしましょう。

そして、ゼロバーでは、次のような状況が発生します。

  BufOI[0]=SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST);
 LastUPdate=FileGetInteger("OpenI\\"+FileName1,FILE_MODIFY_DATE,true);
  if ((LastUPdate!=UPdate))
     {
       int h=FileOpen("OpenI\\"+FileName1,FILE_READ|FILE_ANSI|FILE_CSV|FILE_COMMON,",");
       string str=FileReadString(h);                            // читаем очередную строку из файла

    BufOI[1]=StringToDouble(str);
       FileClose(h);
   BufOI[0]=BufOI[1];

 UPdate=LastUPdate;   

サーバーからOMデータの刻みを取り、それはテスターには存在しない--。

そして、15分に1回ライブで更新されるがテスターでは更新されないファイルの新しい更新日があれば、ファイルからデータを読み込み(最終行)FileName1=_Symbol+FileNames+"_TMP.csv "とし、最初のバーにデータを割り当て、ファイルを閉じてゼロバーに値を割り当てています。まあ、このバリアントがテスターで動かないのは明らかなんですけどね。

インジケーターはヒストリー用とリアルタイム用の2つのモードが必要だと思うのですが、いかがでしょうか?


履歴のデータが正しいかどうか確認しましたか?ファイルからデータを読み込むと変な感じになるのですが...。

         while(!FileIsEnding(h))
           {
            ArrayResize(oi,ct+2,1000);
            string str=FileReadString(h);                            // читаем очередную строку из файла
            if(cnt==0) oi[ct].time=StringToTime(str);                 //если запись первая, т.е. дата, то конвертируем из стринга в дататайм
            else if(cnt==2) oi[ct].oi=StringToDouble(str);   //если запсиь вторая, т.е. ОИ, то конвертируем в инт и 

            cnt++; // увеличиваем счетчик прочитанных строк
            if(FileIsLineEnding(h)) {cnt=0; ct++;}
           }

データを読み込んでいたことが判明

 
Aleksey Vyazmikin:

そもそも、すべてのティックが書かれているわけではありません

OI は、10 秒以上前(同じ行を 100 サイクル記録し、記録後 0.1 秒間待機)に変化した場合のみ書き込まれます。実際には多くのティックがスキップされるため、再生中に正確な同期をとることはもはや不可能です。ティックを使っていないのですが、テスターですべてのティックを指定するのか、それとも商品(資産)の売買が行われたものだけを指定するのですか?

分足の結果を基にシンボルを作成する方が、ゴミが少なく、インジケータでの同期も便利です。


インジケーターについてですが、仮にヒストリーに何かが正しく描かれていたとしましょう。

そして、ゼロバーでは、次のような状況が発生します。

サーバーからOMデータの刻みを取り、それはテスターには存在しない--。

そして、15分に1回ライブで更新されるがテスターでは更新されないファイルの新しい更新日があれば、ファイルからデータを読み込み(最終行)FileName1=_Symbol+FileNames+"_TMP.csv "とし、最初のバーにデータを割り当て、ファイルを閉じてゼロバーに値を割り当てています。まあ、このバリアントがテスターで動かないのは明らかなんですけどね。

ヒストリー用とリアルタイム用、2つのモードのインジケーターが必要だと思います。


履歴のデータが正しいかどうか確認しましたか?ファイルからデータを読み込むと変な感じになるのですが...。

データを読み込んでいたことが判明...。

そこは全く同感です。しかも、1分以内にいくつもの値を書き込むので、毎回のクリックでは ありませんが、それでもです。そして、このデータから任意のTFを構築する。

自分で書いたТМPファイルについて。新しいローソク足の到着ごとにインジケータが更新されるようにしたところ、実際の口座ではなんとなく当たっていました。しかし、ある瞬間に前のローソクの最後の値を取るか、すでに開いているローソクの最初の値を取ります。 私は作者に分ローソクに変更するように頼んだが、それは実現されていない。

シグナルごとにEAを再コンパイルして、インジケータを正しく初期化し、正しい結果を得る必要があったことを記憶しています。これにより、現在の信号が変化する可能性があります。これが、とても気になったんです...。

Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • www.mql5.com
Идея автоматической торговли привлекательна тем, что торговый робот может без устали работать 24 часа в сутки и семь дней в неделю. Робот не знает усталости, сомнений и страха,  ему не ведомы психологические проблемы. Достаточно четко формализовать торговые правила и реализовать их в виде алгоритмов, и робот готов неустанно трудиться. Но прежде...
 
Mihail Marchukajtes:

そこは全く同感です。また、1分間に複数の値を書き込むデータで、1ティック毎 ではありませんが、やはり。そして、このデータから任意のTFを構築する

だから、インジケーターのデータを取れば、1分間に複数のOIを書き込む意味はあるのか--TFが減ることはないだろう。そして、はい、私は間違っている、正常に書き込まれた場合、ループから終了がありますが、まだ0.1秒の最小間隔です。ティックでモデルを構築しているのですか?

ミハイル・マルキュカイツ

TMPファイルについて書きました。新しいローソク足が到着するとインジケータが更新されるようにしたところ、リアル口座では正常に動作するようです。しかし、ある瞬間に直前のローソクの最後の値か、すでに開いているローソクの最初の値を取る。 作者に分単位の指標用に変更するように頼んだが、結果はなかった。

実際の取引では、インジケータのこの行だけで十分です。マーケットからデータを取得できるのに、なぜファイルからデータを読み込むのでしょうか?

BufOI[rates_total-1]=SymbolInfoDouble(Symbol(),SYMBOL_SESSION_INTEREST);

ビジュアライザーで履歴が正しく描画されるか?

 
ミハイル・マルキュカイツ

NS入力で実際の結果を得るためには、シグナルごとにExpert Advisorを再コンパイルして、インジケータが正しく初期化されて正しい結果が得られるようにしなければならないことを思い出した。これにより、現在の信号が変化する可能性があります。これがすごく気になったんです...。

これは不思議なことです。EA用のインジケータを一切使わず、ファイルから直接構造体に読み込んで、配列構造体の値を検索すればいいのでは?

頼むからXIのアーカイブをSiに2、3日捨ててくれ......抽象的な理屈は難しいんだ。
 
elibrarius:

私も同じようなことを考えていたのですが、今は別のことで精一杯なんです。近いうちに実験してみたいと思っています。
また、10倍少ないデータからモデルを学習させるというデメリットもある。この場合、汎化能力が低下するような気がするのですが。

9/10で学習し、残りの1/10のサンプルで切り捨てるというやり方もあります。

 
Aleksey Vyazmikin:

また、9/10で学習し、残りの1/10のサンプルでトリミングを行うというやり方もあります。

Aleksey Vyazmikin:

では、1分間に何度もOIを書く意味はあるのか、インジケーターのデータを取れば-TF以下になることはないだろう。そして、はい、私は間違っている、そこにループから終了がある、正常に書き込まれた場合、それでも0.1秒の最小間隔です。モデルはダニで構築されている?

ですから、実際の口座ではこの行で十分です。市場からデータを取得できるのであれば、なぜファイルからデータを読み取るのでしょうか?

ストラテジーテスターのビジュアライザーで正しく描画されているか?

はい、しかし接続に失敗した場合は穴が開きます。履歴の充実度をチェックすることはできません。議事録については全く同感です。

OIアーカイブ

http://fayloobmennik.cloud/7399404

 
Mihail Marchukajtes:

はい、しかし、接続に失敗した場合、穴があいてしまいます。履歴の完全性についてのチェックはない。議事録については、全く同感です。

OI アーカイブ

http://fayloobmennik.cloud/7399404

では、接続が中断された場合、どのようにデータをファイルに書き込むのでしょうか。

 
ローマ字 表記

ファンダメンタルデータには、数値が出る指標がたくさんあります。
このサイトでも、ニュースカレンダーで イベントの統計をとっています。
そうですね、スピーチ文では、数値が抜けていますね。

主な内容は、ポジティブスピーチとネガティブスピーチの違いを教えることです ))
しかし、ここで、これもアイデアです、思考のために! ))

ファンデーションを使用するために、いくつかの数字が欠けています。

私の記憶では、通貨単位はありませんでしたが、いくつかあります。

2010年ごろから公開されていないものもあります。

 
Mihail Marchukajtes:

はい、しかし、接続に失敗した場合、穴があいてしまいます。履歴の完全性についてのチェックはない。議事録については、全く同感です。

OI アーカイブ

http://fayloobmennik.cloud/7399404

分足バーの開始時に、直前のエントリーの起算点を取ることに同意しますか?例えば、10時の開店時には、OMを23時49分55秒とします。

M1でインジケータを使用し、ゼロバーから必要なすべての情報を取得し、インジケータバッファからの情報要求と必要なオフセットを考慮してExpert Advisorで異なる比較を行う方が良いと思います。

最初の値は日付、2番目はOM、3番目はOIですが、このファイルの3番目の値は何でしょうか?デルタかと思ったが、うまくいかない。

上に書いたようにインジケータを改造して みたところ、OMを読み取って表示するようになり、作業速度も格段に速くなったので、試してみてください。

はい、そしてファイルからの読み込みは、ファイルにデータがあっても、マーケットが閉じていて、チェックされていなければ、うまくいくはずです。

ファイル:
OI_Test.mq5  16 kb
 
Aleksey Vyazmikin:

では、接続が切れたとき、データはどのようにファイルに書き込まれるのでしょうか。

もし、ブローカーによってグローバルに接続が切断されたら、何もできない。データ保存アドバイザーはUPUのサーバー にいますが、データは損失なく書き込めたと言えます。