晴れ時々、FX

My dairy fx life

(6)TICKデータ排出

平日の取引時間なので、TICKデータの吸い上げについて検証しました。

MT4側のマクロとしては、2つあります。

bop_server.mq4 ⇒ スクリプト

これはWEBサーバーです。

PYTHON側から送られた、メッセージに反応して、

CSV排出させるファイル名をCONFIG化して、

グローバル変数内の、リクエストのフラグをONにします。

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を覚えてから、プログラムを作るのが割合快適になりました。

ただし、どうしても英語でコメントを入れないとならず、

この辺りが苦痛です。

そもそも、私のプログラムを再利用される方がまずはいないと思いますけど。。。

プログラマとして、独立自走するには、こういうマメなことを

やっていかないと駄目ですね・・・

私には、プログラマには、成れないのかもしれない。