インディケータ: Ping - ページ 3

 

あなたのインジケーターには論理的な問題がある。

Ping = PrevTime ? MathAbs(Tick.time_msc - PrevTick.time_msc - (NowTime - PrevTime) / 1 e3) : 0;

絶対値を取って遅延としてカウントすることはできない。事前に」-250msは250の遅延としてカウントされます。

ティックはMT5ではパケットで受信することが多いので、マイナスの値があるわけです。

正確な計算はできないと思います。MathAbs()を削除してマイナス値を許容するようにしたところ、プラス値とマイナス値のバランスは良くなりました。


 

取引、自動取引システム、取引戦略のテストに関するフォーラム

インジケータ:Ping

Alain Verleyen, 2023.03.09 20:58.

あなたのインジケータには論理的な問題があります。

Ping = PrevTime ? MathAbs (Tick.time_msc - PrevTick.time_msc - (NowTime - PrevTime) / 1 e3) : 0 ;

絶対値を取って遅延とみなすことはできません。事前に」-250msは250の遅延とみなされます。

ティックはパケットでMT5に入ってくることが多いので、マイナスの値になります。

これについて正確に計算することは不可能だと思います。私はMathAbs()を削除し、負の値を許可しました。



 
Alain Verleyen #:

あなたのインジケーターには論理的な問題がある。

ゼロからの乖離は理想的ではない。
 
Alain Verleyen #:

最初の質問:ターミナルはティック単位で時間を設定するのですか?IMHOは、ティック履歴はサーバーによって生成されます。では、どの端末のpingについて話しているのでしょうか?

 
Stanislav Korotky # :

最初の質問:ターミナルはティック単位で時間を設定するのですか?IMHOは、ティック履歴はサーバーによって生成されます。では、どの端末のpingについて話しているのでしょうか?

もちろん、それはターミナルからではない。

ネットワークの実際の遅延を正確に知ることは不可能です。

 
Stanislav Korotky #:

最初の質問:ターミナルはティック単位で時間を設定するのですか?IMHOは、ティック履歴はサーバーによって生成されます。では、どの端末のpingについて話しているのでしょうか?

取引、自動取引システム、取引戦略のテストに関するフォーラム。

MetaTrader 5ビルド3620の新バージョン:ウェブターミナルの改善、ONNXのサポート、MQL5での行列乗算の高速化。

fxsaber, 2023.03.09 07:31 pm

ティックの到着が遅れることがあります。隣接する2つのティックの例では、次のようになります。

Tick.time_msc = 08:00:00.000, время прихода 08:00:00.000.

Tick.time_msc = 08:00:00.200, время прихода 08:00:00.490.

ティックの到着が290ミリ秒遅れています。


私は、このようなティック到着遅延のバーストと同様の状況を、pingがほぼゼロの専用サーバーで観察しています。ネットワーク・アプリケーションからはターミナルだけです。

平均遅延は200マイクロ秒、つまり1ミリ秒よりはるかに短いです。

遅延をなくすにはどうしたらよいでしょうか?


私は遅延を視覚化するためにこのインジケーターを 使用しました。


サーバーでティックが生成される時間とターミナルに到着する時間の2つの違いが比較されます。

 
MT4をサポートしていますか?
 
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])

mt4バージョンと互換性のある以下の関数にコードを変更する。