エラー、バグ、質問 - ページ 2658

 
Nikolai Semko:

Igor なら MathSrand(int(GetMicrosecondCount()%16384)) を試してみてください。

絵柄はどう変わるのだろう

int OnInit()
   {
   MathSrand(int(GetMicrosecondCount()%16384));   
   return(INIT_SUCCEEDED);
   }
//+------------------------------------------------------------------+
void OnTick()
   {
   }
//+------------------------------------------------------------------+
double OnTester()
   {
      return(rand());
   }
//+------------------------------------------------------------------+


 

そんな悩み。

CSymbolInfoクラス

現在のAskまたはBidの価格を参照する場合は、0を返します。

他のパラメータはすべて正常に動作します(例:AskHighまたはPoint

 
Ruslan Udintsev:

そんな悩み。

CSymbolInfoクラス

現在のAskまたはBidの価格を参照する場合は、0を返します。

他のパラメータはすべて問題なく動作します(例:AskHighまたはPoint

まずは価格の更新が必要ですね。

//+------------------------------------------------------------------+
//| Refreshes the symbol quotes data                                 |
//+------------------------------------------------------------------+
bool RefreshRates()
  {
//--- refresh rates
   if(!m_symbol.RefreshRates())
     {
      if(InpPrintLog)
         Print(__FILE__," ",__FUNCTION__,", ERROR: ","RefreshRates error");
      return(false);
     }
//--- protection against the return value of "zero"
   if(m_symbol.Ask()==0 || m_symbol.Bid()==0)
     {
      if(InpPrintLog)
         Print(__FILE__," ",__FUNCTION__,", ERROR: ","Ask == 0.0 OR Bid == 0.0");
      return(false);
     }
//---
   return(true);
  }
 
Igor Makanu:


うわー、意味わかんない
 
Nikolai Semko:
うわー、意味わかんない。

何を理解すればいいのか?- テスターのGetMicrosecondCount() , GetTickCount() , GetTickCount64() はテスターのスタートhttps://www.mql5.com/ru/forum/35402/page5#comment_15165640 にバインドされています。

とMathSrand(GetTickCount())コンストラクトをヘルプに記載しました。

開発者は、両方のPrint()操作を行う必要があります - それは、GAモードのテスターでメッセージを出力しません。

MathSrand(GetTickCount()); は、時間によって初期化されるべきです......誰が何時か知っていますが、GA開始時間ではありません - 現在、MathSrand() は期待通りに動作しません。

 
Igor Makanu:

何を理解すればいいのか?- テスターのGetMicrosecondCount() , GetTickCount() , GetTickCount64() はテスターのスタートhttps://www.mql5.com/ru/forum/35402/page5#comment_15165640 にバインドされています。

とMathSrand(GetTickCount())コンストラクトをヘルプに記載しました。

開発者は、両方のPrint()操作を行う必要があります - それは、GAモードのテスターでメッセージを出力しません。

MathSrand(GetTickCount()); は、時間によって初期化されるべきです......誰が何時か知っていますが、GA開始時間ではありません - 現在、MathSrand() は期待通りに動作しません。

ということで、ランドに使うのは時間ではなく、毎回変わる何らかのハンドルです。
 
Nikolai Semko:
ということで、srandに使う時期ではなく、毎回変わる何らかのハンドルに

この問題を解決する方法は知っています。WinAPIで時間をかけますが、これも常にチェックする必要がある機能なのでしょうか?))))

ZS:アルグリブにはより高精度なジェネレーターが搭載されていましたが......。が、やはり問題は、ヘルプにある例が正しく動作するかどうかです。

 
Igor Makanu:

この問題を解決する方法は知っています。WinAPIで時間をかけますが、これも常にチェックする必要がある機能なのでしょうか?))))

パスが光速でなく、DLLなしで必要な場合は、そのようにすることができます。

MathSrand((uint)GetTimeLocal()); // https://www.mql5.com/ru/forum/170952/page105#comment_9044250

SSDにどう影響するかはわからない。私はRAMDriveを使っています。

 
fxsaber:

パスが光速でなく、DLLが不要な場合は、この方法でOKです。

これがSSDにどう影響するかはわからない。私はRAMDriveを使っています。

OnTester()に出力して確認しました。

写真はイメージです。

ここで重要なのは、GAテスターでNSをオプションでロードした場合、すべてのローカルプロセッサコアが同じNS重みの初期設定で動作しないことを保証するものではない、ということを確認することです。

 

ここにポケットを入れるのは申し訳ないが、本当にどうしたらいいのか考えてほしい。

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

上位TF(例:D1)からの指標ダウンロードのエラー

ウラジスラフ・アンドルシェンコ, 2020.02.27 18:42

以下はその要旨である。

このエラーと、例えばM5にインストールしたEAから上位TFのD1やW1にアクセスする際の干渉は、当初から気づいていました(どのTFでもいいのです)。

今度は別のEA(前のEAと交差していない)のストラテジーテスターで同じエラーを発見しました

私の行動

  1. エキスパートアドバイザーは、3つの指標(2つの指標+3つのTF)の複合的なシグナルをチェックします。
  2. これらの指標とTFがD1(以下すべて)までの任意のTFからデータを取る場合!その後、エラーが発生しない!?そして、視覚化した場合としない場合のテストは同じです
  3. しかし、TF D1以上のインジケータを選択した場合は、結果が異なります(可視化あり、可視化なし)。