メタエディターの表示

ツール>メタエディターですのでF4キーを押せば別ウインドウでメタエディターが開きます。
mq4ファイルの場所

プロジェクト内のExpertsフォルダの下に設置するのがルールのようです。
プロジェクトというのはエンジニア以外の人は概念を分かりづらいかもしれないですが、エディターが管理する開発プロジェクトの単位だと考えて下さい。
開発するプログラムの単位で分けても良いですし、デフォルトプロジェクトを使いまわしても良いですし好みで分けて問題ありません。
今回はサンプルmq4も覗いて開発したいのでデフォルトプロジェクトにファイルを追加する形で作成します。
このプロジェクトの物理的な保存先はC:\Users\hogehoge\AppData\Roaming\MetaQuotes\Terminalの下の長ったらしい文字列の変な所なのでmq4ファイルさえ自分で別ファイル等にバックアップを取っておけば無くす事はないでしょう。
新規mq4ファイルの作成
先程の画面に見えていた左上の「新規作成」ボタンを押下します。

エキスパートアドバイザを選択して次へ。

名前、著作権、リンクを修正します。
これはmq4ファイルを加工して後から変更出来るので、あまり気にしなくても良いです。
パラメーターも必要であればmq4ファイル内で自分で追加できます。

これも後から自分で実装できるので何も選択せずに次へ。

何も選択せずに完了。

名前に設定したファイル名で作成されます。
プロパティのcopyrightとlinkに著作権・リンクで指定した値が設定されるだけです。
後はコンストラクタ(OnInit)、デストラクタ(OnDeinit)、ティックイベント(OnTick)が実装されているので必要な処理を書いていく感じです。
プログラムの基本はHello World!
という事でprintしてみましょう。
OnInitの部分に下記を記述してCtrl+Sキー押下で保存。
int OnInit()
{
//---
Print("アカウント番号 => ", AccountNumber());
Print("アカウント名 => ", AccountName());
Print("使用通貨 => ", AccountCurrency());
Print("口座残高 => ", AccountBalance());
//---
return(INIT_SUCCEEDED);
}

ツールバーにあるコンパイルボタンを押下します。
その右にある緑色の三角ボタンで実行する事も出来ますがUSDCHFのチャートが開いて動いたのでこれは使いません。

ワイがトレードするのはUSDJPYなのでUSDJPYのチャートが開いている状態でナビゲーターペインのエキスパートアドバイザのdamepo-testを右クリック。
右クリックメニューのチャートに表示を選択します。

実行時に確認画面が表示されるので、そのままOKを押下します。

実行するとprintした結果が画面下部のターミナルペインに表示されます。
アカウント名とアカウント番号を表示しているので、間違いなくデモ口座のデモアカウントで動いているのですが、口座残高が0になってますね。

デモアカウントは口座残高500万円あるハズなんですが、おかしいなぁ。。。
これは宿題ですね、とりあえず今回はEAを自分でビルドして遊んでみるテストが目的です。

EAを実行させるとチャートの右上に変なアイコンが表示されています。
終了させる時はチャートを右クリック→エキスパートアドバイザ→削除を押下する事でEAを終了できます。
エンジニアであればEAを作るのは簡単で1日目の調査時に作り方自体が大体分かってしまったのは何となく理解出来たかと思います。
まぁ今回の口座残高が取得出来なかったような部分のように、たまに上手くいかない事があるだけで基本的に用意されているAPIをCallするだけなんですよね、プログラムなんて。
マイニングと共に寝てるだけでモリモリお金が増えるMT4生活の夢を見ましょう!
コメント