MT4のMetaEditorのひな型EA解説と猫増殖プログラム
MT4のMetaEditorのひな型EA解説と
猫増殖プログラムについてお話ししますね。
前回は、以下のようなMT4のMetaEditorでEA
を作るための初期設定を行いました。
・MetaEditorの強制終了を防ぐ設定
・MetaEditorのツールバーなどの日本語化
・MetaEditorのコメントの日本語化
・MetaEditorのEAプログラム画面の表示
今回は、ひな型に書いてあるEAプログラムの
意味を理解して、実際に簡単なプログラムを
作って動かし、プログラム作成の流れを
掴みましょう^^
にゃんこ「にゃんこは音楽を流すニャ~。」
にゃんこが選ぶ音楽ってどんな曲かな。ワクワク。
【今日の目次】
(1) MT4のMetaEditorのひな型EA解説
(2) 猫増殖プログラム作成
(3) 猫増殖プログラム実行
(1) MT4のMetaEditorのひな型EA解説
前回の最後にEAプログラムのひな型を「Cat」
という名前で保存しました。
MetaEditorを起動すると、「Cat」のデータ
が表示されているはずですが、
もし表示されていなければ、MetaEditor上部左の
ファイル → 開く → Experts から「Cat」を
開きましょう。
では、ひな型に書いてあるEAプログラムを
順に解説していきます。
一番上の赤枠は、コメントになります。
//が最初についている行は、後から見たとき
に分かりやすいように書くプログラムの説明、
つまりコメントです。
コメントはあってもなくてもプログラムの
動作自体には影響しません。
一番上の赤枠の周りを囲っている線は、
周りと区切って見やすくしています。
周りを囲っている線の中の、
◆Cat.mq4は、このプログラムの名前です。
.mq4は拡張子で、ワードやエクセルを保存
したときファイル名に付く.docxや.xlsx
のように、ファイルの種類を識別するための
ものです。
◆Copyright 2015, MetaQuotes Software Corp.
は、著作権表示です。
Copyrightは著作権の意味、2015は最初の発行年
,の右は著作者となります。
MetaEditor左上の新規作成からMQL Wizard
で入力した著作者が表示されます。
ここでは初期設定のまま、MT4開発社MetaQuotes
の名前が入力されています。
◆https://www.mql5.com/は、著作者のホーム
ページリンクです。
MetaEditor左上の新規作成からMQL Wizard
で入力したリンクが表示されます。
ここでは初期設定のまま、MT4開発社MetaQuotes
のホームページリンクが入力されています。
次の赤枠の上3つは、EAをチャートにセット
して動かす際に表示されるウィンドウの
「バージョン情報」タブに表示される情報
です。
#property ○○の後の" "内の文字が表示されます。
◆#property copyright "Copyright 2015, MetaQuotes Software Corp."
は、著作権表示です。
Copyrightは著作権の意味、2015は最初の発行年
,の右は著作者となります。
MetaEditor左上の新規作成からMQL Wizard
で入力した著作者が表示されます。
ここでは初期設定のまま、MT4開発社MetaQuotes
の名前が入力されています。
◆#property link "http://www.mql5.com"
は、著作者のホームページリンクです。
MetaEditor左上の新規作成からMQL Wizard
で入力したリンクが表示されます。
ここでは初期設定のまま、MT4開発社MetaQuotes
のホームページリンクが入力されています。
◆#property version "1.00"
は、EAのバージョン番号です。
EAのバージョン番号は、1.00が入力されています
ので、EAを改良した際に数字を変えていきます。
細かい改良では、1.00 → 1.01 → 1.02
やや大きな改良があったら、1.02 → 1.10 → 1.20
大幅な改良があったら、1.20 → 2.00
のようにすると良いでしょう。
◆一番下の#property strictは、記載されていると
コンパイルの精度が上がります。
後で行いますが、コンパイルとは、人間が書いた
言葉をコンピューターが読める言葉に変換する
ことを指します。
その次の赤枠は、EAを開始した際、最初に一度だけ
実行されるプログラムです。
ここには毎回実行させるほどではない初期設定を
入力します。
今回は使いません。
使わない場合は特にいじらなくて良いです。
続いての赤枠は、EA終了時に一度だけ実行される
プログラムです。
今回は使いません。
使わない場合は特にいじらなくて良いです。
最後の赤枠は、MT4チャートのティック更新
ごとに(レートが変化するたびに)実行される
プログラムです。
EAプログラムのメイン記述場所となります。
今回はここだけ使います。
(2) 猫増殖プログラム作成
では、いよいよ簡単なプログラムを
作ってみましょう。
猫がたくさんたくさん発生する幸せな
プログラムの作成です。
にゃんこ「それじゃ分からんニャ!
もっと分かるように説明するニャ!!」
す・・・すみません^^;
バックテストをしたときに、操作履歴に
ひたすら「Cat」という文字が発生する
プログラムです。
何の役に立つかというと・・・
特に役には立ちません(笑)
プログラム作成の流れを掴む目的で
作成します。
今回は、プログラムのルールとして以下2つを
覚えておいて下さい。
◆プログラムするときには、半角英数で入力
(全角ではエラーが発生します)
◆文末には;(セミコロン)をつけます。
日本語で言うと。(句点)のようなものです。
ただし、日本語の句点はなくても意味が
通じますが、プログラムのセミコロンは
ないとエラーが発生します。
エラーが発生しないように覚えておきましょう。
それでは、EAプログラムのメイン記述場所
void OnTick()
{
}
の{ }内に実行したいプログラムを
書き込みます。
今回は、
Print("Cat");
と入力します。
PrintのPは大文字ですのでお気を付け
下さいね。
//---はコメントで、あってもなくとも
構いませんから、void OnTick()内の
コメントを今回は消しました。
段落の字下げ数に決まりは特にありませんが
左字詰めでPrint("Cat");を入力した33行目
の一番左にカーソルを合わせ、Tabキーを
1回押して字下げすると綺麗に見えます。
内容を解説します。
Print()は、関数の種類です。
関数は、予め決められた一定のプログラムを
実行する便利な機能です。
Print()は中に書いた文字をログに出力
する関数になります。
Print()の中は、
文字を入力する場合、""の間に文字を入れる
数字を入力する場合、""は付けずに数字を入れる
という決まりがあります。
そのため、今回は文字なので"Cat"と入力しました。
Catは、猫がたくさんたくさん発生する幸せな
プログラムにしたいために書いただけで、
犬がたくさんたくさん発生する幸せな
プログラムにしたい場合はDogと書いても
構いません(笑)
最後の;(セミコロン)は、上記で解説した
とおり、文末に付けないとエラーが発生
しますので忘れずに付けましょう。
Print("Cat");の入力が終わったら、コンパイル
します。
上記で触れましたが、コンパイルとは、人間が
書いた言葉をコンピューターが読める言葉に
変換することを指します。
コンパイルすることでEAとして機能するように
なります。
MetaEditor上部の「コンパイル」ボタンを
左クリックしましょう。
次に、エラーが発生していないことを下部の
エラータブで確認して下さい。
初期設定では記事タブが開いていますが、
「コンパイル」ボタンを左クリックすると
自動でエラータブに切り替わるようになって
います。
0 error(s), 0 warning(s)
と表示されていれば、無事コンパイル完了
です。
0 error(s)が0以外の数字の場合は、その数
だけエラーが発生しているということです。
エラーが発生しているとEAが動作しませんので
直した後、再び「コンパイル」ボタンを
左クリックする必要があります。
0 warning(s)が0以外の数字の場合は、その数
だけ警告が発生しているということです。
警告の場合は、発生していても大抵の場合
特にそのままでも問題なくEAは動作しますが、
気になるなら、やはり直した後、再び
「コンパイル」ボタンを左クリックします。
エラーが出た場合は、全角で入力されたか、
;(セミコロン)を付け忘れたかである
可能性が高いです。
もう一度見直しましょう。
コンパイルが成功すると、今まで作っていた
.mq4という拡張子が付いたファイル
(今回はCat.mq4)の他に、
.ex4という拡張子が付いたファイル
(今回はCat.ex4)が作成されます。
この市販EAでよく見かけるex4ファイルが
EAを稼動させるために必要なのです。
ファイル → 名前を付けて保存
でex4ファイルができていることを
確認できます。
このとき、ファイルの種類を
「All files(*.*)」にしないとex4
ファイルは表示されませんので
ご注意下さいね。
コンパイルが成功した時点で、今まで
作っていたmq4ファイルもex4ファイルも
自動保存されますので、手動で保存する
必要はありません。
ただ、コンパイルしなければ自動保存
されませんので、mq4ファイルでプログラム
を書いていて作業を中断する場合は
手動で保存しておきましょう。
(3) 猫増殖プログラム実行
作成した猫増殖プログラムをバックテスト
で実行し、動作確認してみます。
MetaEditorを閉じて、MT4を開きましょう。
MT4ツールバーの「Strategy Tester」ボタン
をクリックします。
すると、MT4の下部に「テスター」ウィンドウ
が表示されます。
エキスパートアドバイザーに、作成した「Cat」
というEAが入っていますので、それを選んで
ください。
バックテストをしたときに、操作履歴に
ひたすら「Cat」という文字が発生する
だけのプログラムですので、
日付と時間を使用は、時間短縮のために
短い期間で良いです。
ただし、土日は相場が動かないので
土日のみの期間を選択するとエラーが
起きることにご注意くださいね。
それ以外の設定は何でも良いです。
準備ができたら、スタートを左クリックして
バックテストを開始してください。
今回は、売買をするシステムではないので、
レポートタブなどには何も出ません。
レポートタブの横の操作履歴タブを選択して
ください。
メッセージの一番右端のところにCatが表示
されていますね。
下にスクロールしていくと
これでもかというほど、猫がたくさんたくさん
発生して幸せな気持ちになれましたね。
にゃんこ「モフモフ度が足りないニャ!」
む・・・無茶振り。
残念ながらこのプログラムでは、モフモフ
したにゃんこは発生しないよ^^;
以上で今回のプログラミングは終了です。
始めのうちはプログラミングを行う感覚を
養うことが大事です。
そのため、しばらくは、直接EAの売買は
行わないけれど、後々EAの動作に必要な
簡単なプログラミングを少しずつ一緒に
行っていきましょうね。
P.S.
総参加猫100匹以上で歌っているそうです(*´ω`*)
なお、残念ながら、EA作成に関しては
個別のご質問にはお答えしかねます。
ご存知の通り、有料のサポート付きEA作成教材
では、1ヶ月講座で週1回までのサポートでも
8万円ぐらい掛かるのが相場だったりします^^;
大変心苦しいのですが、あらかじめご理解
のほどよろしくお願い致します。
この記事を読まれた方は次の記事も読まれています
- MT4の自動ビルドアップ無効とビルドダウンする方法 - 2017年 5月 8日
- MT4、Windows10ユーザー必見!Windows Update 無効化方法(無料・ツール不使用) - 2017年 4月 13日
- MT4、Windows10ユーザー必見!Windows Update 無効化ツール(無料) - 2017年 4月 8日
- MT4のバックテストを日本円(JPY)口座で行う裏技 - 2017年 1月 31日
- MT4でストップレベルを調べる方法 - 2017年 1月 25日
もっと詳しく知りたい事や
理解できなかった事などございましたらお気軽にご連絡下さい。
あなたの応援のおかげで明日も頑張って記事が書けます
本日のランキング応援クリックありがとうございました(*'-'*)
この記事のコメント
この記事へのコメント
あなたの応援のおかげで明日も頑張って記事が書けます
本日のランキング応援クリックありがとうございました(*'-'*)
HIRO | 2015年10月03日
emija | 2015年10月03日