なんとか試験の
ソースA OnTick毎に20回オーダーをします。
このEAをバックテストすると
一分間に742回発注します。 ということは12.3回/秒!!!!
やはり割り込みに問題がある気がします!
void OnTick(){for(int i=0;i<20;i++){E();}}
void E(){int d=OrderSend(Symbol(),1,0.01,Bid,0,Bid+0.01,Bid-0.01,NULL,1,0,clrChocolate);}
ソースB OnTick枚に20回Flagを上げます
3ms毎にフラッグを見て上がっていたら発注します
バックテストは何も起こりませんでした。
OnTimerは無視されるのですね・・・
void OnInit(){EventSetMillisecondTimer(3);}
bool Flag;
void OnTick(){for(int i=0;i<20;i++){Flag=true;}}
void OnTimer(){
if(Flag){int d=OrderSend(Symbol(),1,0.01,Bid,0,Bid+0.01,Bid-0.01,NULL,1,0,clrDarkSalmon);}
Flag=false;}
このソースを見て鋭い方はお気づきかと思いますが空腹です。
チョコやサーモンが食べたいところです
0 件のコメント:
コメントを投稿