EA高速化は気になる三点を行ったのですっきした・・・はずでした。
しかし、ソースコードを書いていると気になる点が出てきます。
double a = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double a = MarketInfo(Symbol(),32);
MODE_MARGINREQUIREDは32で代わりにすることができます。
他にもOrderSendで使われる OP_BUYは0など、文字入力と数字入力を選べるものがあります。
一体どちらが速いのでしょうか?
コンパイル時に同じ表現に変換される気もしますが・・・
//文字
void OnTick()
{
int t=GetMicrosecondCount();
for(int i=0;i<1000000;i++)
{
double A=MarketInfo("EURUSD-a01",MODE_MARGINREQUIRED);
}
Comment(GetMicrosecondCount()-t);
}
//Number
void OnTick()
{
int t=GetMicrosecondCount();
for(int i=0;i<1000000;i++)
{
double A=MarketInfo("EURUSD-a01",32);
}
Comment(GetMicrosecondCount()-t);
}
結果です。
百万回、回して17msほど数字のほうが早いようです。
文字じゃないとわかりにくいという方は
数字で記述してコメントを入れましょう!!
0 件のコメント:
コメントを投稿