(6)TICKデータ排出
平日の取引時間なので、TICKデータの吸い上げについて検証しました。
MT4側のマクロとしては、2つあります。
bop_server.mq4 ⇒ スクリプト
これはWEBサーバーです。
PYTHON側から送られた、メッセージに反応して、
CSV排出させるファイル名をCONFIG化して、
tick_out_CSV.mq4 ⇒ エキスパートアドバイザ
これはTICKデータをCSVに排出させる本体です。
フラグが立っていたら、CONFIG内のファイル名を見て
ファイルをOPENして、そこにカレントの値を記入します。
いくつかポイントがありました。
タイマー
最初はTICKの変動に対して、集計しようと思いましたが、
そもそも、TICKが変わらないと、データが更新されません。
ゆくゆくは秒足で解析をしたいため、1秒のタイマイベントで起動するようにしました。
int OnInit()
{
//--- create timer
EventSetTimer(1);
//---
return(INIT_SUCCEEDED);
}
現在値
これは現在の時間と、現在の価格ですが、次の関数を使っています。
FileWrite(handle, TimeToStr(Time[i], TIME_DATE), TimeToStr(TimeCurrent(), TIME_SECONDS), TimeToStr(TimeLocal(), TIME_SECONDS),Ask );
現在の時間
Timelocal()を使っています。ローカルPCの時間を読み取っています。
現在の価格
これはASK,BITのどっちでもいいのですが、ASKにしています。
残務
1)通貨ペアの切り替え
今回、まだ出来ていないところは、リクエストの中に通貨ペアの情報があるのですが、
現在は、EAを張り付けたチャートの通貨ペアの読み値しか入っていません。
所定の通貨ペアの値を出させるために、EA内で通貨を変える必要があるのですが、
いまいち、やり方が分かっていません。
2)タイマイベントの終了
一定の時間分のCSVデータを排出させたら(目安10分)
タイマーを停止しなければなりません。
とりあえず、起動タイマーがONになったら、終了タイマーを起動させるように
すればいいのだと思いますが、いまいちタイマーの使い方が分かっていません
上記の2点をコーディングすれば、一応目的としているAIトレードシステムの
データ収集機能は完成したことになります。
今週は火曜日ですね。
昨夜も22時まで残業だったので、帰宅して2時間ぐらいのコーディングでした。
今日も、どれだけ時間がかけられるのか分かりませんが・・・
感想
GITHUBを覚えてから、プログラムを作るのが割合快適になりました。
ただし、どうしても英語でコメントを入れないとならず、
この辺りが苦痛です。
そもそも、私のプログラムを再利用される方がまずはいないと思いますけど。。。
プログラマとして、独立自走するには、こういうマメなことを
やっていかないと駄目ですね・・・
私には、プログラマには、成れないのかもしれない。