FX自動売買といえばこのチャンネル!と言われるように頑張ります

【完全版】FX自動売買開発ロードマップ

【完全版】FX自動売買開発ロードマップ



こんにちは、はかせです。

この記事ではMQL4言語を使った自動売買開発の手順を

知識0でも分かるように解説していきます。


独学の為の事前準備や具体的な学習手順に

加えて独学で挫折しないコツも解説しますので、

是非ご覧ください。

この記事はこんな方にオススメ

自分で考えたロジックをEA化したい

チャートに張り付けないから自動売買運用したい

自動売買を作って販売したい

自動売買を作ってアフィリエイトしたい


FX自動売買の開発は独学で出来るのか?

結論としては、独学でも自動売買開発をする事が可能です。

ただし、さまざまな準備を行った上で、

正しい手順で学習を進める必要があります。


準備が不十分だと学習をスタートできませんし、

手順がないと「どのように進めたらいいかわからない」

「この学習方法は正しいのだろうか」挫折しやすくなります。

独学の前には必ず準備を行い、学習手順も確認しておきましょう。



FX自動売買を開発する前に準備すること

 1.パソコンを用意する

 2.インターネット環境を準備する

 3.証券会社のデモ口座準備する

 4.MT4をダウンロードする



FX自動売買の開発にはMQL4言語を利用します。

このMQL4言語はMT4をダウンロードするだけで

開発環境が整う為、とても簡単に開発に着手が出来ます。


【初心者向け】FX自動売買を開発する為のロードマップ

【Step.1】 作りたいロジックを決める                                   

【Step.2】 プログラミングに必要な6つの文法を理解する                        

【Step.3】 実際にコードを書いてみる                                 

【Step.4】 ロジック通りか検証する                                  

【Step.5】 バックテストを行いパフォーマンスを測る                          

【Step.6】 最適化を行い、パラメーターを見つける                           

【Step.7】 リアルマネーで検証してみる                               



最初は難しく感じて当たり前です。

大事な事は、”まずは1つ完成させる。”

この考えが、自動売買開発を進めていく上でとても重要です。



それでは、それぞれ一つずつ見ていきましょう。



【Step. 1】 作りたいロジックを決める

作りたいロジックを決める


まずはロジックを決めましょう。

このロジックがないまま進めてしまうと

何を作ったらいいのか途中で分からなくなってしまいます。



勝てるロジック出なくても構いません。

独学で開発する為にはまずは作れる事が大切です。



独学で開発出来る事に注力しましょう。

勝てるロジックを身に着けたい方は、以下のページを参考にしてください

(現在準備中)


今回は僕が以下のロジックで解説します。


①移動平均線のゴールデンクロスが起きたタイミングでロングエントリーする

②移動平均線のデッドクロスが起きたタイミングでショートエントリーする

③RSIの75%を超えたらロングエントリーする

④RSIの25%を超えたらショートエントリーする

一つ一つ出来るようになっていきましょう。

エントリーロジック


【Step. 2】 プログラミングに必要な6つの文法を理解する

プログラミングに必要な6つの文法を理解する



プログラミング知識0からの場合、英語を見るだけでも嫌になりますよね。

まずはプログラミングに必要な6つの文法は抑えるようにしましょう。

以下の動画で詳しく解説されているので見てみてください。





【Step. 3】 実際にコードを書いてみる

実際にコードを書いてみる


実際にコードを書くために必要になるものが

”パソコン””メタエディター”になります。

メタエディターは、MT4をダウンロードするだけで使えるエディターです。

メタエディターの使い方については下記の動画で解説していますのでご覧ください。



メタエディターの準備が終わったら、

ロジックを基ににプログラミングしましょう。

①と②の例のプログラミングの書き方について解説します。

以下の動画に詳しい説明がありますのでご覧ください。






ロジックの簡単な例の③と④を作って行きます。

以下の動画に詳しく解説していますので、是非ご覧ください。



エントリーポイントのプログラミング方法については、

上記の動画の通りになります。

ただしそれでは自動売買は注文できません。


”注文、決済の方法”が出来て初めて自動売買が完成します。

注文決済のプログラミングはとても簡単で、

OrderSend()関数を利用します。


OrderSend()関数はMT4を提供している会社であるメタクォーツ社が用意している

関数ですので、引数さえ理解できれば誰でも簡単に注文が出来てしまいます。


OrderSend()関数の書き方については下記の動画で詳しく解説しております。





【Step. 4】 ロジック通りか検証する


「コンパイルして、エラーがなくなった!」

と安心するのはまだ早いです。


ロジック通りのエントリー~決済を

するのか確認をする事は非常に重要です。

この検証は自分が思い描いたとおりに

エントリーするのか検証するタームです。



思い描いた通りのエントリーでなければ、

どんな挙動をするのかわかりません。



検証をしないと走行テストをしていない暴走車に

乗るようなものと同じになってしまいます。


作成した自動売買ファイル(ex4)でバックテストを行いましょう。

作成した自動売買ファイル(ex4)でバックテスト



①ストラテジーテスターを開くことで、

MT4の画面下部にバックテストを回す設定が出てきます。


②ビジュアルモードにチェックを入れましょう。

チェックを入れる事で、バックテストを行う際に自動でチャートを表示しエントリー箇所を見せてくれます。


③スタートを押しましょう。


取引タイミングをWクリック

バックテスト完了後、取引時のポジションをダブルクリックすると、

ビジュアルモードで表示したチャートにエントリーポイントを表示してくれます。


ここでエントリーのタイミングが想定通りであれば、完成です!



【Step. 5】 バックテストを行いパフォーマンスを測る

バックテストを行いパフォーマンスを測る


ロジックの有効性、リスクの確認をする為にもバックテストを行う事は必要不可欠です。


バックテストを行う理由

①ロジックの有効性を評価するため


バックテストは、過去の市場データを使用して、

投資戦略がどの程度有効であったかを評価するための方法です。

バックテストを使用することで、投資家はロジックの実行可能性を検討することができます。


②リスク管理のため


バックテストは、投資戦略のリスクを評価するためにも使用されます。

過去の市場データを使用して、戦略がどの程度リスクがあるかを評価することで、

投資家はリスクを最小限に抑えることができます。

③将来のパフォーマンス予測のため


バックテストは、投資家が特定の投資戦略に関する

投資判断を行うための情報を取得できます。

過去の市場データに基づいて、投資家は将来の市場動向を予測することができ、

適切な投資判断を行うことができます。

④投資ロジックの改善のため


バックテストは、投資家が投資戦略を改善するために使用することができます。

過去の市場データに基づいて、投資家は投資戦略の欠点を特定し、

改善するための戦略を開発することができます。



バックテストの仕方については下記の記事にて解説しています。

(現在準備中)


【Step. 6】 最適化を行い、パラメーターを見つける

最適化を行い、パラメーターを見つける


最適なパラメーターを見つけることで、

投資家はロジックの過去検証も勿論、将来の最適な投資戦略を選択する事が出来るようになります。

最適化を行う理由


①純利益が一番大きいパラメーターの値を見つけられる


純利益が最大のパラメーターを見つけることで、

投資家は収益を最大化することができます。

これにより、より高いリターンを得ることができ、

資産の成長を促進することができます。



②ドローダウンが一番小さいパラメーターの値を見つけられる


ドローダウンが最小のパラメーターを見つけることで、

投資家はリスクを最小限に抑えることができます。

これにより、損失を最小限に抑え、投資家の資産を守ることができます。


③PF(プロフィットファクター)が一番大きいパラメーターの値を見つけられる


PFが高いパラメーターを使用することで、

リターンを最大化することができます。

PFが高いことは、リターンに対してリスクが少ないことを示しているため、

より高いリターンを期待することができます。



但し、過剰な最適化はカーブフィッティングと呼ばれます。

カーブフィッティングになると過去相場でしか勝てないロジックとなり

将来の相場で天井買い、底売りを行ってしまいます。

カーブフィッティングにならない為の極意は下記の記事にて解説します。

(現在準備中)最適化とは何か?カーブフィッティングにならない上手な最適化方法




【Step. 7】 フォワードテストを行う

フォワードテストは、自動売買システムを作成した後、

実際の市場で正確に機能するかどうかを確認するために不可欠な手段です。


フォワードテストを行う理由(現在動いているチャート)


①パフォーマンスの測定と改善


フォワードテストによって、自動売買システムのパフォーマンスを測定し、

改善することができます。過去のデータを用いたバックテストでは、

将来の市場環境が考慮されていないため、フォワードテストで得られた結果を元に、

システムの改善を行うことができます。


②ポートフォリオの最適化


フォワードテストによって、

自動売買システムが効果的に機能する自動売買の組み合わせを特定し、

ポートフォリオの最適化を行うことができます。

また、フォワードテストによって、リスクとリターンのバランスを考慮し、

トレードサイズを調整することができます。



③リアルタイムの市場変動に対する対応


フォワードテストによって、自動売買システムがリアルタイムの

市場変動にどのように反応するかを確認することができます。

これにより、必要に応じて取引ロジックを調整することができます。

おわりに

僕は過去、自動売買開発を挫折しそうになった事があります。

挫折しないコツは”目標を決める事”が大事です。


・月利〇%の利益率を出すEAを開発したい

・自分のロジックをEA化したい


など明確な目標を決める事で

効率よく学習を進めていきましょう。


自動売買は利便性がある反面

中身の理解や運用方法を知らないと痛い目に逢います。


今後もyoutubeとブログ解説していきます。

是非見てください。


【応用編】LINEへ通知するEAを作ってみよう

応用としてLINEへ通知するプログラムを書いてみましょう。

これが出来るとより自動売買開発が面白ろくなります。

LINEへの通知方法はこちらの記事を参考にしてみてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です