この記事は自作EAは作れる前提。又は完成している前提の記事です。その上でPHP,DB,SQLのまとめをしています。
自作EAがまだの方は下記の記事からEAサンプルを閲覧できます。
エントリー後、決済条件まで追尾するRSIのEAサンプル(MQL4)
EA自作講座は下記の記事を参考にしてください。
自作EAを作るためのEA設計図のつくりかた(MQL4)
DBへ入れるトレードデータを決めよう
トレードデータと言っても、注文したデータを送るのか?約定したデータを送るのか?
はたまた、注文したデータと実際に約定したデータを両方いれるのか?
いろいろなパターンが考えられます。
今回僕が用意したサンプルでは自作のDBManagerを使ってしまっていてコピーでは実現できないため
トレードデータをデータベースに入れるコードのみ
新しくデータベースへ挿入するサンプルを作成しました。
データベースに接続して挿入、データ取得するサンプル
上記のサンプルは決済時のデータをデータベースへ挿入するものです。なので、注文時の待機決済注文(指値決済価格、逆指値決済価格)はデータベースに入れません。
今回は下記の10項目をデータベースへ挿入します。()内はデータベースのテーブルカラム名
- チケット番号(ticket)
- 通貨ペア(symbol)
- 買か売か(type)
- ロット数(lot)
- 約定価格(open_price)
- 決済価格(close_price)
- EA識別番号(magic_number)
- 約定した時間(open_time)
- 決済した時間(close_time)
- 決済損益(profit)
作成の流れ
まず扱う言語ですが、
- MQL4
- PHP
- SQL
必要な知識
- MQL4でEAの自作
- ローカルでテストするためのPHP開発環境&ツールの準備
- PHPからデータベース操作
- 最低限のSQL言語
- PHPMyAdminの使い方
データベースにトレードデータを入れると言ってもいくつかの工程を経ないといけません。
- トレードデータを送るための自作EAの作成
- MQLのWebRequest()の理解
- PHPでのRequestの受け取り
- 非同期通信の扱い
- PHPからデータベースへ値を挿入
- データの重複を防止
xamppのダウンロード&インストール
XAMPPのダウンロードとインストールのやり方【VERSION-7.2.26】
必要であればPHPの開発環境のインストール
PHPの開発を加速するECLIPSEのダウンロードのやり方【開発ツール】
決済処理の下にWebRequest()関数を使いPHPへトレードデータをPOSTする。
WebRequest()の使い方
WEBREQUEST()を使うときの注意点
この際ちゃんとデータが送れているかMLQ4のComment()関数で確認する。
PHPMyAdminを使いデータベースを作成する
PHPMyAdminの立ち上げからDB作成、テーブル作成のやり方【XAMPP】
データベースのカラムのデータ型についてはまた後日記事にしますので、
トレードデータをデータベースに入れるコードのみ
上記の記事にSQLが載ってますのでPHPMyAdmin内でSQLを使いサクッとDBを作成してください。
PHPを使いMQL4のWebRequest()関数で送られてきたデータをDBへ挿入する処理を記述する
データベースに接続して挿入、データ取得するサンプル