プログラムの高速化

  • HOME
  • プログラムの高速化

一般的にプログラムは高速化しCPUに負荷をかけないものが良いとされています。

FXの自動売買では数ミリ秒の遅れで価格が変わってしまうこともありますので少しでも高速化をすることが大切です。

今回はMQL4の関数、定義済み変数、一般変数の処理速度を検証していきます。

計測方法


関数:Symbol()、定義済み変数:_Symbol、一般変数:変数Sに_Symbolを代入したものそれぞれを10,000,000回変数に代入します。

関数計測のコード


string Value;
void OnInit()
{
ulong StartTime=GetMicrosecondCount();
for(int i=0; i<10000000; i++)
{
Value=Symbol();
}
Print(GetMicrosecondCount()-StartTime);
ExpertRemove();

定義済み変数計測コード/strong>


string Value;
void OnInit()
{
ulong StartTime=GetMicrosecondCount();
for(int i=0; i<10000000; i++)
{
Value=_Symbol;
}
Print(GetMicrosecondCount()-StartTime);
ExpertRemove();

一般変数計測のコード


string Value,S=_Symbol;
void OnInit()
{
ulong StartTime=GetMicrosecondCount();
for(int i=0; i<10000000; i++)
{
Value=S;
}
Print(GetMicrosecondCount()-StartTime);
ExpertRemove();

結果:MilSec/隊

関数:174,946

定義済み変数:169,341

一般変数:76,168

関数:Symbol()よりも定義済み変数:_Symbolは数%早く、 変数に代入した場合の処理時間は半分以下、倍以上の早さです。

_Symbol,_Period,_Digits,_Point など途中で変わらないものは変数に代入することで処理時間の高速化ができます。高速化を行って有利な取引を行いましょう。

 

株式会社トリロジー
AMSER株式会社
林 貴晴

 

⇒ FEATご利用手順