ご利用のブローカーの約定速度を調べるEAのサンプルです。
OnTimerを利用して10秒毎にエントリー、即決済を繰り返します。
OnTimerを利用して一定時間毎に処理を行う
エントリーから決済までにかかった時間を測定し、平均時間をチャートへ表示しています。時間の単位はミリ秒(1/1000秒)です。
何回テストするかは外部パラメータから設定可能です。デフォルトでは10回テストを行います。
#property copyright "Copyright 2016, gogojungle"
#property link "http://labo.fx-on.com"
#property version "1.00"
#property strict
extern int TestCount = 10; //テスト回数
uint total_time = 0;
int trade_count = 0;
int OnInit(){
EventSetTimer(10); //タイマーを10秒毎に設定
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason){
EventKillTimer();
Comment("");
}
void OnTick(){
// 結果をチャートへ表示
if(trade_count > 0){
Comment(
"Trade Count : ", trade_count, "
",
"Average : ", (total_time / trade_count), "msec");
}
}
void OnTimer(){
if(trade_count 0){
if(OrderClose(ticket, 0.01, Bid, 100)){
total_time += GetTickCount() - start_time;
trade_count++;
}
}
}
}
エントリー・即決済のためほぼ確実にスプレッド分の損失が発生します。
リアル口座での発注を避けたい場合には、OnInit内にデモ口座のみで稼働する制限を加えて下さい。
各種利用制限の実装方法
検索結果がありません。 |
検索結果がありません。 |