【MT4】FXのバックテストを行うやり方【初心者向け】

まず、MT4のデモ口座を開きましょう。
まさやんの場合、楽天FXのMT4デモ口座を開設しました。

ログインしてまずやることは、元になるEAのダウンロードです。

①おそらく最も簡単なEAサンプル | MetaTraderでFX!原資回復ゲーム
http://nonki777.jugem.jp/?eid=19

②MT4でEA自作しちゃお~[FX自動売買(システムトレード)
https://yukifx.web.fc2.com/sub/start/mt4_samplecode.html

上記のサイトからソースをコピーしてメモ帳などで空のテキストファイルを作成して拡張子を「.mq4」にします。
ファイルは適当なフォルダに入れてOK。

次に、mq4ファイルをMetaEditorで開いて先ほどコピーしたソースを貼り付けます。

ファイルの名前は適当に決めてください。
例:MasayanGenerator_1.03.mq4など

貼り付けしたら保存ボタンを押してコンパイルしてください。
.exファイルが作成されます。
.mq4.exファイルはセットで動きます。

MetaEditorを閉じたらMT4を起動します。

メニューバーから、ファイル(F)データフォルダを開く を選択します。

エクスプローラからMQL4のフォルダをクリックしてExpertsフォルダの中に、先ほど作成した.mq4.exファイルを貼り付けします。

MT4を再起動して左横のナビゲーターの中のナビゲーションのエキスパートアドバイザの中に先ほど移動させた名前のEAが入ってればインストールは完了です。

ヒストリカルデータ(過去の相場データ)の取得

バックテストを行うには、過去の為替データが必要になります。

MT4の開発元のMetaQuats社からヒストリカルデータを取得するやり方が簡単です。

MT4を起動したら画面の上のツール(T)のタブからヒストリーセンターを選択します。

通貨ペアを選びます。1分足が必要なEAの場合、1分足(M1)を選びます。

画面左下のダウンロードボタンを押してダウンロードを開始します。

この作業は時間がかかります。
※MT4で普段チャート表示させている通貨ペアのチャート足のデータは自動で取得されます。

データのインポートは可能なので、大量の過去データが必要な場合はヒストリカルデータを探さないといけません。

MT4でバックテスト(ストラテジーテスター編)

MT4のツールバーから 表示(V)を選び ストラテジーテスター(R)を選択します。

そうすると、画面の下に新しいウィンドウが出現します。

新しいウィンドウの左にあるプルダウンからエキスパートアドバイザを選択します。

EA(エキスパートアドバイザー)の中から動かしたい【EA】を選択しましょう。

もし、【EA】が表示されない時は、Expertsフォルダの中に、先ほど作成した.exファイルがあるか確認してください。
見つからない場合はMT4を再起動するか、インストールの手順を再確認してください。

【EA】を選択したらEAで使用される時間足を選びます。

①おそらく最も簡単なEAサンプル | MetaTraderでFX!原資回復ゲーム
http://nonki777.jugem.jp/?eid=19
上記は最初は動いたのになぜか途中から自動売買できなくなりました。

②MT4でEA自作しちゃお~[FX自動売買(システムトレード)
https://yukifx.web.fc2.com/sub/start/mt4_samplecode.html
上記は動作確認できました。
しかしながら、途中から「自動売買禁止設定になっています」というエラーが出るようになったので、MetaEditorでエラーの箇所をコメント化してエラーが出ない様に修正しました。

バックテストのモードには「全ティック」とか「始値のみ」というのがあります。

全ティック」は正確にテストできますが、時間がかかるので、今回は「始値のみ」でバックテストを行いました。

ヒストリカルデータの期間内の開始日と終了日を選択してバックテストを開始しましょう。
バックテストには最適化は関係ないのでチェックは外してかまいません。

ちなみに設定項目にあるスプレッドですが、1pipsは「10」となります。
入力した数字が「」の場合は、0.1pipsとなります。

ドル円であればスプレッドは0.20.3pipsくらいなので「」とか「」でいいと思います。

ポンド円はスプレッドが広めなので1.0pipsなら「101.5pipsなら「15」で設定します。
※このスプレッドはトレードする度にコストとしてマイナス計上されるので、頻繁に売買されるEAではスプレッド負けするケースが増えます。

進捗バーが最後まで行くと、バックテストの結果が見れます。

成績が悪い場合、パラメータを調整することで改善する場合があります。

EAのパラメータ設定はエキスパート設定で行えます。

EAの中にはパラメータなどを調整して使用するタイプもあるので、微調整が必要です。
ストラテジーテストのウインドウの右の「エキスパート設定」から各項目を調整し最適化させると良いでしょう。

まさやんのFX予想ジェネレーターfor MT4版の開発スタート

2020年の12月に運用を開始した「まさやんジェネレーター」ですが、MT4版も開発しようと思います。

MT4のEA作成はCとC++というプログラミング言語を使用します。

MetaEditorでプログラムを組んでデモ口座でテストしてエラーやバグの拾い出しを行ってから本番環境で自動売買という流れですね。

EAの配布自体は有料無料問わず投資顧問の資格は必要ありませんが、販売後にアフターや更新を行う際には投資助言・代理業登録の必要性があるそうです。
http://office-ishikawa.net/archives/3926

開発状況はTwitterで報告します。
興味のある方はTwitterのフォローよろしくお願いします。

Twitter ID:aimjey ≫

Google Colaboratoryを使って、あっという間にPythonのデータ分析の環境構築をする|Docker版も紹介(WindowsとMacの説明あり)

Dockerを使ってPythonのデータ分析環境をPC上に構築してみた。⇒結果失敗しGoogle Colaboratoryを使ってシステム開発することになりました。

今回参考にしたユーチューブ動画

34,712 回視聴
投稿日時 2020/08/09
チャンネル登録者数 8.6万人(2020/12/28現在)

動画の手順に従い、Windows環境でサクッと環境構築←出来ませんでした。
Macの手順も動画で解説しているにで参考にしてください。

今回紹介するキノコードさんですが、株価分析の動画もアップしていますので、まさやんのお気に入りの学習チャンネルとして、今後もブログで紹介していきます。

キノコードさんは操作の手順の一つ一つを丁寧に解説しているので初心者にとって非常に分かりやすいです。
独学でPythonの機械学習を学ぶ人にとって最高のチャンネルとなりますので、興味のある方はチャンネル登録しましょう!

■以下メモ書き
AMD RyzenのWindowsでDocker Toolboxを動かすとCPU仮想化エラーが発生する
https://hepokon365.hatenablog.com/entry/2019/07/28/012617
いきなりインストールでつまづきました。
ひとまず上記のサイトを参考にして問題解決できましたので、同様のエラーが出た人は参考にしてください。

DockerToolbox18.03.exeをダウンロード
https://github.com/docker/toolbox/releases/tag/v18.03.0-ce

次にイメージIDが作成できず。
REPOSITORY がnoneとなってしまい、イメージからコンテナ作成ができなかったです。

株価やFXの解析を行う目的でPythonをインストールするので、主に使用するライブラリは以下の2つ。
1、pandas (データ解析を支援するライブラリ
2、matplotlib (グラフ化を実装するライブラリ)

次なる手段として、DjangoとFlaskを比較

Django⇒複雑 大規模向き なんでも揃っている便利屋さん
Flask⇒簡易 小規模中規模向き 追加機能はその都度インストール

■参考にしたサイト
Python + DjangoをWindowsにインストールする – Qiita
https://qiita.com/t-iguchi/items/f9052d259cec7fe54a00

Pythonは以前XAMPPで使用できるようにインストールしていたので、XAMPPでの開発環境を進めていきます。

ところがここでも問題発生
コマンドプロンプトでpipが使用できないエラーが発生
C:\Users\aaaco>pip list と入力しても
‘pip’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と返ってくる

パスを通してもダメなので、以下の手順で回避しました。
https://teratail.com/questions/81111

C:\WPy64-3760\python-3.7.6.amd64\python.exe -m pip list
C:\WPy64-3760\python-3.7.6.amd64\python.exe -m pip -V

上記の様にpython.exe -m pip ここにコマンド というやり方です。

つまり、DjangoのインストールはWindowsのコマンドプロンプトで以下のコマンドを実行
C:\WPy64-3760\python-3.7.6.amd64\python.exe -m pip install Django

mysqlclientパッケージをインストールは以下のコマンドとなります。
C:\WPy64-3760\python-3.7.6.amd64\python.exe -m pip install mysqlclient

そしたら今度は今までアクセス出来ていたローカル環境のURLhttp://localhost/にアクセス出来なくなりました。

XAMPPの環境がぐちゃくちゃになったので、システムの復元からPCを元に戻しGoogle Colaboratoryで学習を進めることになりました。

この様に、pythonの環境構築は非常に面倒なので、うまくいかない人はGoogle Colaboratoryで開発するといいです。

ちなみにGoogle Colaboratoryでは以下のキノコードさんのコードはきちんと動きました。
https://kino-code.com/matplotlib_seaborn-03/

FXまさやんジェネレーター完成

先週ベータ版として公開した「FXまさやんジェネレーター」ですが、カスタマイズを加えて遂に正式公開となりました。

変更点

・感度を上げるボタンの追加(感度を上げるとサインが出やすくなりますが、精度は低下します)

・日本時間土曜日の0時~6時までのアルゴリズムの修正(週明け月曜日はクロス円がギャップダウンして始まる傾向があるので、週末をロングポジションで持ち越さない様に修正しました)

今後の修正について

・過去のデータ推移を画像一覧で見れるようにする(※現在はChrome や Firefoxでチャート上で右クリックすればpng画像としてPCに保存できます)

・ウェブスクレイピング機能を使用して売買シグナルを無償提供⇒最終的には売買シグナルを元にシステムトレードを行う

今後の課題について

チャート部分はプログラミング言語JavaScriptで書かれており、ブラウザ上で生成しています。つまり、画像を作成して表示しているわけではないのでスクリーンキャプチャのスクリプトを使い画像を保存することができません。

スクリーンショットを取るプログラムはたくさんあるのですが、プログラミングツールを使いそのままスクリーンショットを取ってもJavaScriptが正常に動作しない為チャート部分が真っ白になって画像保存されるわけです。

PCを常に起動しておいてFirefox等のブラウザで自動的にスクリーンキャプチャを取る方法などは比較的簡単にできますが、すべてを自動化させるには、レンタルサーバー上で動くプログラムを作成する必要があります。

JavaScriptを正しく表示できるスクリーンキャプチャのスクリプトの情報があれば情報提供お願いいたします。ご連絡はTwitterかメールでお願いいたします。

次に自動売買システムに関してですが、売買サインをお知らせ表示させることは簡単にできます。問題はその先の自動売買システムをいかにして作成するかにあります。

FX BOT 2: Python ✕ OANDA API V20 12の基本操作と関連情報まとめを参考にオアンダのデモ口座でテストしましたが、どうしてもエラーが出てシステム構築には至りません。エラー内容はアクセストークンが認証されませんという内容です。


FXの自動売買はMT4を使用する方が簡単

MT4 EAでFX自動売買を行うには、VPSレンタルサーバーをレンタルします。
例えば「お名前.com デスクトップクラウド for MT4」というサービスはFXの自動売買に特化したサービスで1,230円/月~で借りれます。(2020年12月現在)

MT4の方がPythonでプログラムを組むより簡単ですし、MT4のEA自作関連の情報はたくさんありますから自動売買に関してはMT4で開発を進めていこうと思います。
ちなみに国内FX会社の「楽天MT4口座」は開設済みなので、開発完了後すぐに本番環境で運用します。

開発の進捗状況はTwitterでお知らせしますので、MT4でトレードしている方はTwitterフォローしてお待ちくださいませ。

最後に「FXまさやんジェネレーター」がどういうロジックでサインを出しているか動画にしましたので、もしよろしければ動画をご視聴ください。


≫ まさやんジェネレーター

≫ 会員限定ページ

【トレード手法】25倍稼げる!? 2日で稼ぐ逆張り(利確・損切りテクも公開) by 中原良太の「株式予報」【株動画】

27年分のデータを分析した結果、逆張りで効率よく稼ぐ方法を発見!

まずは動画をご覧ください。

中原良太の「株式予報」
チャンネル登録者数 4.02万人
10,148 回視聴 2019/07/19に公開済み

【今回の動画のポイント】
・27年分の米国株500社を分析
・株価が1日で10%以上下がった銘柄は2日間で2.2%反発
・27年分で1373サンプルあった
・1日10%以上下がってから2日間で20%~25%のリバウンドを取るわけだ
・2週間以上引っ張っても利益は望めないつまり短期決戦
・半値戻しや三分の一戻しは期待するな
・大型株を集計したデータ結果なので小型株で有効かどうかは未検証。

>>まさやんコメント
急騰銘柄を買うとジャンピングキャッチしやすく負けるわけだが、今回トレード手法は急落を狙ったトレードになります。
使えそうなので試しにやってみます。
結果はこのプログで公開します。

【トレード手法】遂に公開 2週間で100万円稼いだ手法 by 中原良太の「株式予報」【株動画】

投資家の気分を先回りして高値で売り抜ける手法です。

まずは動画をご覧ください。

中原良太の「株式予報」
チャンネル登録者数 4.02万人
12,359 回視聴 2019/07/26に公開済み

【今回の動画のポイント】
・20年分の米国の株価を分析した結果、祝日の前日は他の時期に比べ9~14倍上がりやすい
・祝日前後2日も上がりやすい
・年末年始株を持ち越すと上がりやすい
・宗教的な休日クリスマスなどがねらい目
・理由は休日前は投資家の気分が高揚するので財布のひもが緩み株を買いやすい
・つまり気分がいいのでポッチとなしやすいわけだ

>>まさやんコメント
連休や、おめでたいイベントの時などは思い切って多めの買いポジションを持つことが重要。

【トレード手法】1カ月で70万円稼いだトレードテクを公開します by 中原良太の「株式予報」【株動画】

株を買う時期に着目した結果、一定のパターンが見つかった。

まずは動画をご覧ください。

中原良太の「株式予報」
チャンネル登録者数 4.02万人
10,927 回視聴 2019/11/10に公開済み

【今回の動画のポイント】
・タイミングを間違うと同じ銘柄でも全く違ったパフォーマンスとなる。
・過去17年分の米国の株価S&P 500で実証済み。
・1973年公開のフランク・クロス氏による論文で、
・金曜日は株価が上がりやすい 年率30%のプラス
・月曜日は年率マイナス45%
・水木金は株を持ち、月火は株を持たない
・金曜日株価が上がると月曜日は下げにくい
・金曜日に株価が下がると月曜日は下げやすい

>>まさやんコメント
この手法について調べた結果、1年スパンで見ると効果のある年とそうでない年があるようです。
従って、このアノマリーは過去の傾向であってこれからの未来も同じ結果になるとは限りません。

【トレード手法】11カ月で+200万円を達成した銘柄選別術 by 中原良太の「株式予報」【株動画】

過去90年の株価を分析した結果、大型株よりも小型株の方が中期長期で見た時に上がりやすいというデータが得られた。

まずは動画をご覧ください。

中原良太の「株式予報」
チャンネル登録者数 4.02万人
8,474 回視聴 2019/11/30に公開済み

【今回の動画のポイント】
・時価総額の大きな銘柄と小さい銘柄では年間のパフォーマンスで最大20%くらい差が出た。
・理由は大型株は有名企業が多く、知っている会社だから買われやすい。
・小型株は名前すら知られていない中小企業が多く、投資家にとっては未知の会社なので買われにくい。
・つまり、小型株は安値で放置されていることが多いので、注目度が上がると一気に株価は上がるのがその理由だ。

【2週間で100万円!?】超逆張り術 by 中原良太の「株式予報」【株動画】

31年分の株価データを分析した結果、逆張り手法で利益を出すことが可能だと証明されました。
まずは動画をご覧ください。

中原良太の「株式予報」
チャンネル登録者数 4.02万人
3,939 回視聴 2019/09/07に公開済み

【今回の動画のポイント】
・有効性が高い逆張り手法
・アメリカ株を分析集計、日本株でも通用する
・収益性が高く利益がきちんと出ている会社の株を買う
・月2% 年率20%の利益が出せる
・世界トップクラスの投資家ウォーレン・バフェットと同等の利回り
・一カ月間下がり続けている銘柄を買い一カ月後に売る

【株が15倍騰がった最強の4日間】 by【株動画】中原良太の「株式予報」

【株が15倍騰がった最強の4日間】 by【株動画】中原良太の「株式予報」

今回ご紹介する投資法は、1カ月のうち上がりやすい時期だけ株を保有することで、効率的にトレード収益を得る方法になります。

まずは動画をご覧ください。

中原良太の「株式予報」
チャンネル登録者数 4.02万人
30,283 回視聴 2019/06/23に公開済み

【この動画のポイント】
・月末から月初にかけて株価が上がりやすい
・大型株と小型株の両方に効果あり
・日本株と米国株に効果あり
・月末最終日から月初の3日間の4日もつだけでワンサイクル平均0.63% 年間12カ月やることで年5%の利回りを獲得できる
・月20日株を保有するのではなく月4営業日しか保有しないのでリスクを抑えながら効率的に稼げる。

【出遅れ銘柄を狙え】2カ月で126万円稼いだ逆張り手法 by【株動画】中原良太の「株式予報」

あのBNF氏も使っていたとされる出遅れ銘柄を狙った逆張り手法をIQ上位2%の中原良太氏が分析。

中原氏が1千万円を実際に運用し2カ月で126万円稼いだその手口を公開。

まずは動画をご覧ください。

動画情報 2020/02/16に公開済み
チャンネル登録者数 4.02万人
3,215 回視聴

【動画の中で解説している投資手法】

・一週間から一カ月の間で株価が下がっている銘柄や相場が上がっている時に上がっていない銘柄を買う

・買った後は下がっている期間と同じくらい持ち続ける

・統計上、一週間かけて下げた銘柄はその後一週間は上がりやすい。
また、一カ月かけて下げた銘柄はその後一カ月は上がりやすい。

できるだけ相場が上がっている或いはセクターが上がっている時に同じセクターで出遅れている株を買う

なぜこの手法が有効かというと、あるセクターが上がっていて利益確定した人がその資金を出遅れ株に回すことから先行して買うというのが有効なわけだ。

従って、ただ下がっている株だけをただ買うのではなく、勢いのあるセクターで出遅れている株を先回りして狙う、このやり方で中原氏は2019年に利回り20%を達成したそうです。

2020年も通用するのかは今後の動画で確認するとしましょう。