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

 
fxsaber:

このスクリプトは、私のマシンではターミナルがハングアップするようなことはありませんでした。

テスト条件を再現できていない可能性が高いです。UPUで 同じ問題があるように。まさにmetaquotesのデモサーバーで

 

以下はそのエラーです。

EURUSD,H1 (netting)のテストテスターに時間がかかりすぎて ティックイベントを追加できない (イベントの配列サイズは35782656) 戦略テスターのレポートが見つからない。


 

オンウィンズ・ヴィップス

2020.08.11 19:51:52.510 21354 (eurusd,h1) mxnjpy 71748

2020.08.11 19:51:52.540 21354 (eurusd,h1) nzdmxn 29838

2020.08.11 19:51:52.599 21354 (eurusd,h1) usdcop 58920

2020.08.11 19:51:52.634 21354 (eurusd,h1) usdars 35235

2020.08.11 19:51:52.681 21354 (eurusd,h1) usdclp 46384

2020.08.11 19:52:40.046 21354 (eurusd,h1) aus200 47364674

2020.08.11 19:53:42.092 21354 (EURUSD,H1) Error FCHI40 62046265

2020.08.11 19:54:47.825 21354 (EURUSD,H1) Error GDAXIm 65733090

2020.08.11 19:55:50.296 21354 (EURUSD,H1) Error HSI50 62471027

2020.08.11 19:57:03.898 21354 (EURUSD,H1) Error Jap225 73601400

2020.08.11 19:58:08.294 21354 (EURUSD,H1) Error ND100m 64396345

2020.08.11 19:59:15.253 21354 (EURUSD,H1) Error SP500m 66959466

2020.08.11 20:00:27.816 21354 (EURUSD,H1) Error SPN35 72562422

2020.08.11 20:01:31.020 21354 (EURUSD,H1) Error STOX50 63203645

2020.08.11 20:02:36.039 21354 (EURUSD,H1) Error UK100 65019712

2020.08.11 20:03:41.409 21354 (EURUSD,H1) Error Brent 65370081

2020.08.11 20:04:49.244 21354 (EURUSD,H1) Error Crude 67834878

2020.08.11 20:05:51.211 21354 (EURUSD,H1) Error NatGas 61966478


 
Vladimir Pastushak:

以下はそのエラーです。

EURUSD,H1 (netting)のテストテスターに時間がかかりすぎて ティックイベントを追加できない (イベントの配列サイズは35782656) 戦略テスターのレポートが見つからない。

私の勘違いかもしれませんが、OnStart-functionだけが 存在することから、これはスクリプト(サービス)であり、(テスターではなく)ターミナルでのみ実行されると思われます。

 
fxsaber:

間違っているかもしれませんが、OnStart関数だけが 存在することから、これはスクリプト(サービス)であり、(テスターではなく)ターミナルでのみ実行されることを意味しています。

私はEAの下でこの正確なコードを実行していました、今私は市場で検証するためにEAでこのコードだけを送信しています...待機中...

 
Vladimir Pastushak:

Demo Metacvots サーバーでのテスト

void OnStart()
  {
   int m_all_symbols = SymbolsTotal(false);
   string m_sym_name = "";
   for(int i = 0; i < m_all_symbols; i++)
     {
      // ======================================================================
      // === Получили имя символа
      if((m_sym_name = SymbolName(i, false)) != NULL)
        {
         // ======================================================================
         // === Если символ не выбран в окне маркет ватч
         if(!SymbolInfoInteger(m_sym_name, SYMBOL_SELECT))
            if(!SymbolSelect(m_sym_name, true))
               Print(" SymbolSelect " + m_sym_name);
         ulong get = GetMicrosecondCount();
         MqlRates rateM1[1440];
         if(CopyRates(m_sym_name, PERIOD_M1, 0, 1440, rateM1) > 0)
           {
            Print(m_sym_name, "  ", (GetMicrosecondCount() - get));
           }
         else
            Print("Error  ",m_sym_name, "  ", (GetMicrosecondCount() - get));
        }
     }
  }

私もこのような書き方で、今思い出せないのですが、いくつかの問題にぶつかりました。このように書きました。

    bool infoSymbolSelect = SymbolInfoInteger(symbols[i], SYMBOL_SELECT),
         infoSymbolVisible = SymbolInfoInteger(symbols[i], SYMBOL_VISIBLE);
    if(!infoSymbolSelect || !infoSymbolVisible)
     {
      if(!SymbolSelect(symbols[i], true))
        Print("Символа ", symbols[i], " не существует");
     }

そして、すべての問題が消滅したのです。

 

縦軸の目盛りに価格を合わせるために必要なことを教えてください。


 
Alexey Viktorov:

また、このような書き方をしていると、今となっては覚えていないのですが、いくつかの問題にぶつかりました。このように書きました。

と、すべての問題が消滅しました。

様々な方法を試しましたが、プログラムがマーケットプレイスでバリデーションを通過しません。

ここの書き込みで指定した最低限のコードでは検証が通りません。

長い時間

個人的なメールに開発者へのメッセージを書きましたが、沈黙...。
 
Vladimir Pastushak:

様々な方法を試したが、プログラムは市場での検証をパスしない。

投稿でここに指定された最小限のコードは、バリデーションを通過しません。

長い時間

開発者にプライベートメッセージでメールして、沈黙...。

あなたのコードをもっとよく見て、私は答えがあるとは思わないし、それを期待しないでください。

 
Alexey Viktorov:

あなたのコードをもっとよく見てみましたが、答えがあるとは思えませんし、期待もしていません。

コードのどこが悪いのでしょうか?