EAの作り方[柿澤真正]
柿澤真正さんプロフィール
かきざわ・まさのぶ。2009年よりFXの自動売買システムの開発を開始し、EasySniperやMultiAgent等をはじめ、多くの自動売買システムを証券会社やユーザに提供してきた。インヴァスト証券の自動売買サービス「シストレ24」にて、提供ストラテジーMultiAgentが2016年の年間アワードを圧倒的成績、評価で獲得。また、ひまわり証券の自動売買サービス「エコトレ」にて提供ストラテジーの「ひかえめビーナス」が2013年〜2014年の1年以上にわたり利用者数1位をキープ。利用者数は700名を超える。現在は、MultiAgentをさらに進化させたドリームエージェントFXを提供中。
この連載では、FXの自動売買システム、その中でもMetaTrader4(以下MT4)上で稼働する自動売買システムであるEAにスポットを当て、それを運用していくための知識・ノウハウを専業トレーダーの柿澤真正さんにナビゲートしていただきます。EAの運用を検討している方はもちろん、既にEAを利用している方もぜひ参考にしてください。
※この記事は、FX攻略.com2018年11月号の記事を転載・再編集したものです。本文で書かれている相場情報は現在の相場とは異なりますのでご注意ください。
プログラミングと聞くと難しそうだが…
皆さん、こんにちは。前回までは、主にEA利用側の観点からその使い方や選び方、組み合わせ方に関して詳しくその内容を見てきました。6回目となる今回は視点をがらりと変え、「EAの作り方」に関してお話ししていきたいと思います。
EAを用いた自動売買運用をかなり経験されている方でも、EAをどのように作るのか?に関してご存じの方はそれほど多くないかもしれません。また、EAは自動売買システムなので、もちろん「プログラミング」という作業によって作り上げられていくわけですが、このプログラミングという作業自体に拒否感を覚える人も少なくないでしょう。そのような背景もあり、EAはやろうと思えば誰でも気軽にチャレンジできる環境が整っているにもかかわらず、ハードルが高いと思われがちです。
実際のところ、私が講師を務めるスクールでも、EAの運用に関する講義では多くの人が集まり、皆さん楽しそうに聞いていただけるのですが、EA制作の講義になった途端に人は減り、さらに来てくれた生徒さんたちでさえ、ポカーンとしている状態です。そんな「EAを作る」という作業について、今回は概要をかいつまんで皆さんにご興味を持っていただけるようにお話ししたいと思います。
MT4付属ツールでEAファイルを自作
初めにEAを作る環境について説明します。EAはそもそもどんなツールを使って作るのでしょうか? 実はこのEAを作るためのツールは、MT4を利用されている皆さんであればボタン一つで呼び出せることをご存じでしたか?
画像①は、MT4の画面です。この画面上の赤枠で囲まれたアイコンを押してみてください。そうすると画像②のような画面が表示されます。これが、「MetaEditor」と呼ばれるオリジナルのEAやインジケーターを作るためのツールです。このツールでEAを作るためのプログラミングや、プログラムに記述ルール上の間違いがないかのエラーチェックを行い、最終的に「ex4ファイル」と呼ばれる配布用のEAファイルを生成することができます。
ex4ファイルという名称が出てきたので、ここでEA制作に関して出来上がるファイルのお話をすると、まずプログラミングを行って保存すると拡張子が「.mq4」の「MQ4ファイル」が生成されます。これを配布しても良いとはいえますが、このファイルには「誰もがMetaEditor上でプログラムの中身を確認できてしまう」という問題があります。ご自身で作られたEAは、ご自身のトレードロジックが詰まった大切な資産です。誰もが中身を確認できてしまうのは良くないですよね。そこで、簡単に見ることができないようにする作業が必要となり、その作業を「コンパイル」といいます。
コンパイルという作業は、MetaEditor上でボタン一つで実行できるのですが、詳細は割愛させていただくとして、そのコンパイル後に生成されたファイルが「.ex4」の拡張子がつくex4ファイルとなります。ex4ファイルであれば、Meta Traderで開くことができず、プログラムの中身を誰かに見られることもありません。
インターネット上では、さまざまなEAが販売されていますが、それらも提供される形は中身の見えないex4ファイルとなっています。皆さんもご自身でEAを作られて配布される際には、必ずMQ4ファイルではなくex4ファイルを配布するようにしてください。そうしなければ、気がついたときには、そのMQ4ファイルを流用されて別のEAとして販売されていた…なんていう事態にもなりかねません。
なお、MetaEditorにはエラーチェック機能があるといいましたが、これは単なるエラー検出や場所の特定だけにとどまりません。エラーを極力回避できる機能も備わっており、MetaEditor上で利用できる構文(一定の機能を持った単語)を入力する際、一定の文字を打ったところで、その文字に該当する構文を予測変換的に一覧として表示してくれます。この機能により、構文を完全に覚えていなくても最初の数文字を打ち込めば一覧から選ぶことができ、スペルミスもなくなるため、プログラミング効率を高めることができるのです。
このように、MT4の補助的ツールに位置付けられるMetaEditorですが、その機能は意外にしっかりしており、初めてEA作りに取り組まれる方にも、またある程度の経験を積んでこられた方にも、比較的使いやすいツールとなっています。
次回、第7回ではEA基礎説明の最終段階として、EA運用で気をつけるべきことと運用テクニックに関してお話ししていく予定です。
Is it OK?