※この記事はアフィリエイト広告を利用しています
市販されているEAの多くはロジックが公開されておらず、内部で何が行われているのか分からないまま運用している人も少なくありません。理解しようとしても、コードの壁に阻まれてしまう……そんな声もよく耳にします。
そこで今回は、実力派EA開発者として知られるhokutoさんに協力いただき、実際のサンプルEAを題材にソースコードの意味を丁寧に解説していただきました。この記事を読み終えるころには、「EAはよく分からないからコワイ」という印象がきっと変わっているはずです。
※ FX雑誌『外国為替』vol.7より再構成/インタビュー日:2023年9月19日
hokuto(ほくと)氏プロフィール
開発歴5年超のEA開発者にして、EAトレーダー。 SNSでは日々収支報告を公開している。
EAは難解な存在ではない。分けて考えれば十分理解できる
─EAの中身を見る前にお聞きします。EAは「既製品を買う」のと「自分で作る」のとでは、どちらが良いのでしょうか?
hokuto 一概にどちらが正解とはいえません。それぞれに利点と弱点があります。購入したEAはプログラミングの知識がなくてもすぐ使えるのが強みです。ただし、ロジックが開示されていないケースが大半ですよね。そのため、「ここでエントリーしてほしい」「なぜ今決済したのか」といった疑問が生じる可能性があります。
一方、自作EAは自分の思い描いたロジックをそのまま形にできるのが魅力です。自分の理想を反映できるので、作る過程そのものにも価値があります。
─魅力的ですね。ただ、やはりEAにはハードルの高さを感じてしまいます。
hokuto 最初は確かに暗号のように見えるかもしれません。しかし、内容を細かく区切って一つずつ確認していけば決して難解ではありません。特にMT4やMT5では、インジケーターの基本コードが部品のように用意されています。触れているうちに自然と覚えていくので、構え過ぎる必要はありません。
─hokutoさんが自動売買に取り組んだきっかけは何だったのですか?
hokuto 兼業でトレードをしていたのですが、チャートを監視する時間の確保が大変だったんです。狙った時間帯にエントリーできないこともあり、それが大きな機会損失になっていました。裁量でも勝ててはいましたが、機械化すれば時間の自由度が増しますし、精神的な余裕も生まれます。
─裁量は時間だけでなく体力も消耗しますよね。
hokuto 加えてメンタル面の負担もあります。さらに、上手なトレーダーの手法を真似しても、必ず同じ結果が出るとは限りません。その点、EAは再現性が高い。裁量を続けているけれど時間が取れない、久々にトレードしても負けが続いてしまう、そういう方にこそ適していると思います。
─コードを見ると、どこもかしこも関数のようで不安になります。理系でなくても理解できますか?
hokuto 私も文系出身なので心配いりません。最初の数行は難しそうに見えますが、実際にはCopyrightなど、見慣れた英単語が並んでいるだけです。つまり著作権情報が書かれているに過ぎません。続いて出てくる「グローバル変数エリア」という言葉も構えなくて大丈夫です。ここは「他の処理全体に指示を出せる場所」と考えてください。
─その中にあるLotsはロット数の設定ですね。
hokuto その通りです。後ほどエントリー部分でもLotsが登場しますが、ここで設定した数値が反映される仕組みになっています。
条件設定こそがロジック構築の核心
─今回のサンプルは移動平均線を使ったEAですね。
hokuto はい。まずインジケーターを利用するには、それぞれの定型コードを最初に記述します。「この指標を使う」と宣言するイメージです。移動平均線ならiMAといった呼称になりますが、検索すればすぐ分かるので暗記は不要です。
売買ロジックの大まかな流れは、「インジケーターの宣言→決済処理→エントリー処理」です。EA作成でつまずきやすいのが「for(int~」で始まる部分。ここでは保有中のポジションや予約注文のマジックナンバー、通貨ペアなどを確認しています。設定と一致していれば次の処理へ進みます。初心者であれば、まずは何を確認しているか理解できれば十分でしょう。
その後に決済指示へ移ります。今回はシンプルに、ローソク足が移動平均線より上か下かで決済するようにしました。ローソク足の値の取得方法は頻出なので、基本的な書き方を覚えておくとスムーズです。
\EA運用向け/おすすめFX会社2選(バナークリックで公式サイトへ)
スプレッド、スワップポイント、オリジナルインジケーターの有無など、詳細は公式サイトでご覧ください。
当サイトタイアップキャンペーンも展開しています!
EA運用で月利100%超を記録。時間的自由も実現
─決済でも登場した「for(int~」はやはり難所ですね。
hokuto ええ。この部分ではポジションを持っていない場合にエントリーへ進むこと、通貨ペアやマジックナンバーの確認などを行っています。
続いて移動平均線を用いたエントリー条件です。こちらもローソク足が移動平均線の上か下かで売買する単純なロジックです。ストップロスやテイクプロフィットを設定する場合は、「0」と記述されている箇所を変更します。
─インジケーターを増やせば、より緻密な設定も可能ですね。
hokuto その通りです。細かな条件を組み込み、機械的に執行できる点がEAの最大の利点です。私自身は朝方にエントリーし、24時間以内に決済する仕様にしています。常時チャートに張り付く必要がなく、時間を有効活用できます。また、感情に左右されやすい方ほど機械的な売買の恩恵を受けやすいでしょう。
─実際の運用成績はどの程度でしょうか?
hokuto FXはロット設定によって変動しますが、今年の序盤は月利100%を超えました。9月時点の年率は80%以上です。もちろんマイナスの日もありますが、通算ではプラスを維持しています。ロジック次第ですが、EAで年率50%を目指すことは決して非現実的ではありません。
─裁量で苦戦している方ほど、EAに可能性を感じます。
hokuto 裁量で安定的に利益を出せる方は素晴らしいですが、全員が同じ結果を出せるわけではありません。EAの強みは再現性です。ただし、たとえ既製品を使う場合でも、ロジックの概要を理解し、必ずバックテストを行った上で運用することが重要だと考えています。
EAの全体構造はこうなっている!
【1】EAの基本情報を記述するエリア
※EAの基本情報が記述されているエリアで、コピーライトやリンク、バージョン情報、グローバル変数と呼ばれる、EAの中で使われる設定数値、EA起動時と終了時にそれぞれ一度だけ実行される内容などが記述されている。
【2】決済の条件を指示するエリア
※void OnTickより下の部分は、新しいティック(価格更新)ごとに上から順番に実行される。その下には、使用するテクニカル分析(ここでは移動平均線)のパラメーターが設定されている。このEAでは、エントリー注文より先に決済注文が記述されている点も押さえておこう。
【3】エントリーの条件を指示する
※決済注文より下のエリアに、エントリー注文の条件が記述されている。ポジションがない状態で、移動平均線を基準に、条件を満たしていたらエントリーを実行する。
【まとめ】EAの中身を分解する!
①冒頭には著作権・リンクなど制作者の情報を載せられる
②グローバル変数のエリアでロット数やマジックナンバーを設定可
③OnInitとOnDeinitはそれぞれ一度きりの指定を記述
④使用したいインジケーターはOnTickのエリアで定型コードを入れて条件を定められる
⑤決済する注文番号、マジックナンバー、取引通貨ペアなどを確認する
⑥このEAの場合、エントリーより先に決済のロジックを記載
⑦エントリーの前にポジションの有無、取引通貨ペア、注文番号を確認
⑧エントリーのロジックを決済の後に記述
⑨エントリーのエリアでストップロス・テイクプロフィットを設定できる
⑩EAを使うときは必ずバックテストを行う!
外国為替編集部が推せる!MT4(MT5)でEA運用ができるFX口座
EA運用にはMT4(もしくはMT5)が不可欠です。国内FX会社でMT4・MT5に対応している業者を外国為替編集スタッフが厳選しました。ここで紹介している2社を比べて、サービスの違いを確認してみましょう。
|
FXTF(ゴールデンウェイ・ジャパン) |
EAを使用してFX自動売買が可能!人気EAで自動売買デビュー!
MT4の裁量取引で取引コストにとことんこだわるならスプレッドが狭いFXTF MT4! FXTF MT4口座でMT4を利用可能。FXTFのMT4なら、小次郎講師の大循環MACDなど有名トレーダーのインジケーターが初期搭載! ■公式サイトで詳細をチェック → ゴールデンウェイ・ジャパン |
|
ファイネストFX(MT4)/ファイネストFX(MT5)(外為ファイネスト) |
業界最狭水準スプレッドの国内MT4&MT5!手数料無料、1,000通貨から取引可!
EA利用制限なし、指値制限なし、スキャルピングOK、取引手数料なし!自由度の高さが売りです。 ■公式サイトで詳細をチェック → 業界最狭水準スプレッドの国内MT4!カリネックスブリッジ採用 |
FX専門誌『外国為替』のご案内
・雑誌『外国為替』とは
世界で一番まじめなFXの教科書を目指して進化し続ける、FXの知識と技術を学べる専門誌です。体系的にFXを学んだ投資家それぞれの人生が、ほんの少し豊かになる。そんな未来を私たちは思い描いています。
全国書店・Amazon、ネット書店にて発売しています。定価:980円(本体891円)
・『外国為替』最新号のお知らせ
vol.17は「先達に学ぶ」がテーマ。秒スキャ覇者への特別インタビューの他、裁量トレードから自動売買、テクニカルからファンダメンタルズまで、業界の重鎮からの圧倒的手ほどきを特集。今月の表紙・白田まい/【特集】黒田雄士のFX三番勝負〜その1岐阜暴威編/その2YEN蔵編/第2特集 相場の羅刹に問う!NOBU塾× anan/松崎美子×ごはっちゅう/鹿内武蔵×ちょる子
・『外国為替』最新号の詳細をAmazonで見る
雑誌、電子書籍で販売。Kindle Unlimited会員は無料でご覧いただけます。