2016年6月11日土曜日

【EA高速化】バックテスト時間を短くしよう 注釈はいるのか!

当ブログ「MT4 KYOTO」はタイトルどおりMT4探求のブログであると共に京都探求のブログでもあります!!

今日は下鴨神社で「蛍のお茶会」と「紅の森納涼市」が開催されます。
上賀茂神社(かみがも)と下鴨神社(しもがも)があります。
上下セットのようですが漢字が違います。
そして川の名前も下鴨神社より上は賀茂川、下は鴨川です。

本題の京都をしっかり探求したところで、副題のMT4です。
わたしがMT4をはじめたのはやはりスピードです。
裁量で相場に合わせて手入力でTP/SLの入力には限界があります。
それをコンピュータにやらせたいという事です。

しかしながらMQL4のソースコードを見ていると、見た人が解りやすくと注釈が入っています。
ありがたい限りです。
しかしながら注釈が速度低下につながるのでしたら問題です。
検証です。

//rem1
void OnTick(){int t=GetMicrosecondCount();
for(int i=0;i<1000000;i++)
    {  
 
    }    
Comment(GetMicrosecondCount()-t);}

//rem2
void OnTick(){int t=GetMicrosecondCount();
for(int i=0;i<1000000;i++)
    {  
    //**********************************************************************************************:
    }    
Comment(GetMicrosecondCount()-t);}




やはりrem1注釈なしのほうが速いようです。
観察していますと5回に1回ほど逆転します
コンパイル時に注釈は消されると思うのですが、
空白扱いにでもなるのでしょうか・・・






















泣き話)
蒸し暑くて3時に目覚めました。
寝ぼけながら「どれくらい早くなるかMT4付属のMACDsampleで検証しよう!!」と思ったのですが
一時間かけてスピード化をしました。しかしいじくりすぎました・・・
エラーです・・・ううう

REMというのはBASICの注釈の事です。
S-BASICとかHu-BASICってご存知の方・・・いないですよね

スピードテストはティックの動きが必要ですので土日はできません。
熱が冷める前にガンガンやりたいのですが無念





0 件のコメント:

コメントを投稿