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

 
aharata:

ファイル内のティック数:1159105、この期間のティック数です。1161872

何が原因なのか? どうすればテスターの刻みを正しく表示できるのか?

1 161 872 - 1 159 105 = 2 767刻みで、1 161 72刻みの0.2%に相当します。

ティックモデリングにおける 0.2%の誤差は許容範囲であり、正常なものです。テスターでは、常に現実よりも少し少ないティック(表示されている0.2%のレベル)を生成しています。

生データの緑色の品質バーが100%に近ければ、テスターの生成したティックシーケンスを安心して使用することができます。

Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
  • 2010.05.21
  • MetaQuotes Software Corp.
  • www.mql5.com
MetaTrader 5 позволяет во встроенном тестере стратегий моделировать автоматическую торговлю с помощью экспертов на языке MQL5. Такое моделирование называется тестированием экспертов, и может проводиться с использованием многопоточной оптимизации и одновременно по множеству инструментов. Для проведения тщательного тестирования требуется генерировать тики на основе имеющейся минутной истории. В статье дается подробное описание алгоритма, по которому генерируются тики для исторического тестирования в клиентском терминале MetaTrader 5.
 
ありがとうございます、早速の返信です。履歴の質は100%です(ちなみにテスターでは 素晴らしい表示が出て います)。バーチャルトレードの時はインジケータを使うので、今度はティックとインジケータのデータの同期が気になる...(コンマ2秒が害にならなければ気にならない)。ありがとうございます。
 
将来のバーの日付値を取得する方法はありますか? 一定の数のバーの後にあらかじめグリッドを構築する必要があります。
 
vdv2001:
未来にあるバーの日付値を取得する方法はありますか? 一定数のバーの後に前面にグリッドを構築する必要があります。

時間だけなら、次のようになります。基準バーを取り、その時間を調べ、1期間の秒数(TF)を求め、秒数にバー数を掛けて基準バーの日付に足します。

 
Interesting:

時間だけなら、次のようになります。基準バーを取り、その時間を調べ、1期間の秒数(TF)を求め、秒数にバー数を掛けて基準バーの日付に加算します。

バーが同じインデックスに留まるかどうかは定かではありませんが(シフトを考慮して)、一般的には、はい、正しいバー数を 数えてオブジェクトをセットすれば、望みの場所に正確に収まるでしょう。過去となるともっと複雑で、小節を飛ばしてしまうことが原因です。ですから、ゼロ点から1点になったオブジェクトは、おそらく正しいかどうかをチェックする必要があるでしょう。

ここで重要なのは、小節の規則性と時間の規則性、どちらが重要かということです。

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Interesting:

時間だけなら、次のようになります。基準バーを取り、その時間を調べ、1期間の秒数(TF)を求め、秒数にバーの数を掛けて、基準バーの日付に足します。

今やっているのは、BarToTime()関数 みたいにもっとシンプルにできないかと思ったからです)

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Urain:

バーが同じインデックスに留まるかどうかは定かではありませんが(シフトを考慮して)、一般的には、はい、正しいバー数を数えて オブジェクトをセットすれば、思い通りの場所になりますよ。過去となるともっと複雑で、小節を飛ばしてしまうことが原因です。ゼロ点から最初の1点になったオブジェクトは、おそらく正しいかどうかをチェックする必要があります。

ここで重要なのは、小節の規則性と時間の規則性のどちらが重要かを見極めることです。

重要なのはバーの規則性で、そうでないと角が曲がって見える :((

GaNスクエアを作ろうとしている。

 
vdv2001:

バーが規則正しく並んでいることが重要で、そうでないと角度が曲がってしまうのです :((

ガン・スクエアを作ろうとする。

秒数を追加するように考えて、しかし新しいバーの たびに絵を描き直すだけ(必要な関数も書ける)、それだけ...なのです。

Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
vdv2001:

バーが規則正しく並んでいることが重要で、そうでないと角度が曲がってしまうのです :((

ガン・スクエアを作ろうとする。

バーが飛ばされるのは問題ないのですか?
 
Urain:
そして、バーが隙間に入ることは気にならないのですか?

ノーガンは作業棒だけ数えた!!!!

足りないピリオドは、私が削除する必要があったものです。

タイムアレイの形成を通じて、私が行ったヒントを皆さんに感謝します。

もしかしたら、誰かに必要とされるかもしれない。

//   int bars - количество расчетных баров
//   datetime time1 - время нулевого бара

   datetime iTime[];
   int rates_time;
   rates_time=CopyTime(NULL,m_period,time1,TimeCurrent(),iTime);
   if(rates_time==-1) return(false);
   ArrayResize(iTime,bars+1);
   if(rates_time<=bars)
     {
      int shift=rates_time-1;
      for(int i=1;i<=ArraySize(iTime)-rates_time;i++)
        {
         iTime[shift+i]=iTime[shift]+PeriodSeconds(m_period)*i;
        }
     }
   datetime shifttime=time1-iTime[0]; // смещение времени для корекции массива
   for(int i=0;i<=bars;i++) iTime[i]=iTime[i]+shifttime; // корректируем массив
   time2=iTime[bars];

新しいバーが 表示されたときに再計算する必要があるのは真です。