無料でロボットをダウンロードする方法を見る
Facebook上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
ライブラリ

正確なタイマー - MetaTrader 5のためのライブラリ

ビュー:
1240
評価:
(25)
パブリッシュ済み:
2018.05.07 07:18
\MQL5\Experts\fxsaber\AccurateTimer\ \MQL5\Include\
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

MetaTrader 4/5の標準タイマーはシステムタイマーの呼び出しに基づいているため不正確なばあいがあります。これは次のシンプルなエキスパートアドバイザーを実行することで確認できます。

input int Timer = 1000; // タイマーがトリガーするためのミリ秒数

#define TOSTRING(A) #A + " = " + (string)(A) + " ms.\n"

const bool Init = EventSetMillisecondTimer(Timer);

// チャートのコメントとして現在のタイマーエラーとその平均値を表示する
void OnTimer()
{
  static ulong StartTime = 0;
  static int Count = 0;
  static int Sum = 0;

  if (StartTime)
  {
    const int RunTime = (int)(GetMicrosecondCount() - StartTime) / 1000;
    const int Error = RunTime - Timer * Count;

    Sum += Error;

    Comment(TOSTRING(Timer) + TimeToString(RunTime / 1000, TIME_SECONDS) + "\n" +
            TOSTRING(Error) + TOSTRING((double)Sum / Count));
  }
  else
    StartTime = GetMicrosecondCount();

  Count++;
}

チャートのコメント(左上隅)には、タイマーの遅れがどのように拡大するかが示されています。

スクリーンショットでは、わずか1分で2番目のタイマーが1秒以上遅れることを示しています。さらに、この遅れは時間とともに増加します。

このライブラリを使用すると、エキスパートアドバイザー/指標の標準タイマーの精度を向上させることができます。この目的のために、コードの先頭に次の行を追加する必要があります。

#include <AccurateTimer.mqh> // 標準タイマーの精度を上げる

その後、次のコメントが表示されます。

10分の動作後、理想的な(理論上の)タイマーからの平均偏差は約1ミリ秒で、誤差は増大しません。

正確なタイマーを持つことは常に良いことですが、いくつかのタスクでは、それは必須です。例は取引サーバー時刻に同期した第2のタイマーです。

このクロスプラットフォームライブラリは標準タイマー(OnTimer)を使用するすべてのエキスパートアドバイザー/指標と互換性があります。ストラテジーテスターの実行速度には影響しません。

たったの1行で既存のプログラムと新しいプログラムの精度を向上させましょう。

MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/19859

Chandes Quick Stick (Qstick) Chandes Quick Stick (Qstick)

Chandes Quick Stick (Qstick)

Relative Momentum Index (RMI) Relative Momentum Index (RMI)

Relative Momentum Index (RMI) はRSI指標の変種です。RMIは、RSIのように終値から終値の日数を両方向に数えるのではなく、X(XはRSIと異なり1に制限されていない)日前の終値に相対した終値までの日数を数えます。

Rsi(var) Rsi(var)

RSIの変形です。

色入力つきカスタム移動平均 色入力つきカスタム移動平均

「カスタム移動平均」指標を修正したもので、入力パラメータに線の色を渡すことができます。