2019年8月7日水曜日

VPS試験 PING取得 コード有

PINGを100回計測してその平均値を取得します。
はやいVPSは、距離が近いという事になります。

MT4は起動した時にPingを取得しています。
その値は↓で取得します。
TerminalInfoInteger(TERMINAL_PING_LAST))でPingをとります。

Pingの値をリフレッシュする為にdllを使いますので、
このコードはDLLのチェックが必要です。
100回計測後ExpertRemove()でEAを強制終了します。
この関数での終了はコメントがクリアされませんので使い方によっては便利です。
※100回Pingwo取得しますが、操作履歴のPing更新は間に合わず1/10程度しか表示されません。


#import "user32.dll"
int GetAncestor(int hWnd, int gaFlags);
int PostMessageA(int hWnd,int Msg,int wParam,int lParam);
#import
int TotalPing=0,i=0;
void OnTick()
{
if(PostMessageA(GetAncestor(WindowHandle(Symbol(),Period()),2),0x0111,37400,0))
{
TotalPing+=TerminalInfoInteger(TERMINAL_PING_LAST);
i++;
Comment("Average Ping: ",(double)TotalPing/i," Count: ",i);
}
if(i>=100)ExpertRemove();
}

0 件のコメント:

コメントを投稿