MetaEditor ビルド1463 - ページ 15

 
fxsaber:
ArrayPrint - 類似しています。
以下はその例です。https://www.mql5.com/ru/forum/160673/page2#comment_3827986
MetaEditor build 1467
MetaEditor build 1467
  • www.mql5.com
Объясните, почему вот этот текст, отформатированный исключительно пробелами, нет ни одного -tab-,: после применения стилизатора, преобразуется в та...
 
Rashid Umarov:
以下はその例です。https://www.mql5.com/ru/forum/160673/page2#comment_3827986

これは、あなた自身が上に書いた ことと何ら変わりはありません。

ArrayPrintはもっと多くの入力パラメータを持っていますが。最後のパラメータflagsが注目される。

 

一般的に、テスターが電話を切る限りは。その原因となる機能をいくつか特定することができました。最も多いのは「コメント」です。

ここでは、そのようなインジケータをテスターで動かしてみてください。

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

スピードは最大ではなく、テストがハングアップする過程で、いくつかの時間がかかるように。マウスの動きなのか、他のものなのか、何に依存しているのかがわからない。一般的には、数回テストすれば、ハングアップするはずです。

 
ArrayPrint 機能は、今夜からウェブサイトで公開されます。
 
Alexey Navoykov:

一般的に、テスターが電話を切る限りは。その原因となる機能をいくつか特定することができました。最も多いのは「コメント」です。

ここでは、そのようなインジケータをテスターで動かしてみてください。

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

スピードは最大ではなく、テストがハングアップする過程で、いくつかの時間がかかるように。マウスの動きなのか、他のものなのか、何に依存しているのかがわからない。一般的には何度かテストすれば、ハングアップするはずです。

3つのテストスピードで

  • 最大
  • 最大▲1段
  • 最大マイナス2段
このような速度では、プリントの出力が強く減速すると考えられること、また、開閉の情報を追うのは現実的ではないことから、テスターのログタブ表示を凍結しています。

一般的には、より正確に「テスター凍結」の根拠を示すことです。

追加:そして、より正確に状況を説明する:バージョン、ビルド、サーバー、シンボル、タイムフレーム、テストモード...

追記:クソ、編集者とテスターがハングアップしてしまった。ティック生成モードは "All ticks "でした。

 
Alexey Navoykov:

一般的に、テスターが電話を切る限りは。その原因となる機能をいくつか特定することができました。最も多いのは「コメント」です。

ここでは、そのようなインジケータをテスターで動かしてみてください。

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

スピードは最大ではなく、テストがハングアップする過程で、いくつかの時間がかかるように。マウスの動きなのか、他のものなのか、何に依存しているのかがわからない。一般的には何度かテストすれば、ハングアップするはずです。

そして、ここにあるのは何なのか。

   return rates_total;

?

 

確かに。

//+------------------------------------------------------------------+
//|                                               Indicator_Test.mq5 |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total,      // размер массива price[]
                 const int prev_calculated,  // обработано баров на предыдущем вызове
                 const int begin,            // откуда начинаются значимые данные
                 const double& price[]       // массив для расчета
                 )
  {
   Comment("OnCalculate");
   return (rates_total);
  }

最高速度でのテスト、"All ticks "ティック生成モード- テスターがハングアップする。吊り下げとは、次のような意味です。

吊り下げ

コメント行をコメントアウトすると、すべてがテストされます。

ファイル:
 
Vladimir Karputov:

最高速度でのテスト、"All ticks "ティック生成モード- テスターがハングアップする。

速度、モード、時間枠に依存しない。いずれにせよフリーズする可能性があります。

ところで、他のいくつかの関数、例えば ChartGetInteger(0, CHART_WIDTH_IN_BARS) も、私のプログラムではハングアップにつながります。しかし、彼らとは孤立した例を再現することができません。しかし、Commentで十分だと思います。

 

これは何でしょう?

HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\EURUSD, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\GBPUSD, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\USDCHF, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\USDJPY, last access time 2016.04.12 10:37
 
fxsaber:
MqlTickを 次のように変更してください。
struct MqlTick
  {
   datetime     time;          // Время последнего обновления цен
   double       bid;           // Текущая цена Bid
   double       ask;           // Текущая цена Ask
   double       last;          // Текущая цена последней сделки (Last)
   ulong        volume;        // Объем для текущей цены Last
   datetime_msc time_msc;      // Время последнего обновления цен в миллисекундах
   uint         flags          // Флаги тиков
  };
すなわち、新しいdatetime_msc型を導入する。
フィールドをmscにして、そこにミリ秒(0〜999)を別途書き込むだけで良いのではないでしょうか。