EA開発 バイナリーオプション検証 制作(作成)代行 無料で行いますキャンペーン
ゆる応募です。
以下完全な思いつきでブログ記事書いてますw
EA開発 バイナリーオプション検証 制作(作成)代行 無料で行いますキャンペーン
タイトルそのままんまの意味なのですがEA開発及びバイナリーオプションの検証を無料で行いたいと考えています。
※バイナリーオプション検証は自動売買のシステム提供までは行いません。
アラートツールの作成又はバックテストの検証などになります。
なぜ無料で行うの?
深い意味はないのですが自身でも色々検証してきて新しい風(ネタ)を入れたいって感じでしょうか。
有料でもいいのですがガチのプログラマではないので有料程の責任は取れないので。
誤魔化しなしで言うと無料で作成するんだし責任とか取れないし文句は言わないでねー。って感じ。w
また無料で作成して良いEAやバイナリーオプションのバックテスト結果が出れば利益でるので無料で受けてもOKって事。
ガッツリ制作を行うとかではなく私の空いた時間で作業を行う予定でいます。
EA開発 バイナリーオプション検証 制作(作成)代行の条件など
何でもかんでも無料で作成するのは難しいので簡単な条件として。
1. 既存のEAや何かしらをコピーする様なEAは作成しません。
例えばゴゴジャンの○○と同じEAを作ってとかはご遠慮下さいませ。これはNG。
○○っていうアラートのEAを持っているんだけどバイナリーオプションのバックテストで検証したい。であればOK。
その場合は有料のEAを購入するのはつらいのでこっそり提供下さいませ。
2. 明らかなロジック破綻及びMT4で実現出来なさそうなものは難しいです。
3. 取引及びエントリーのタイミングを説明出来ないのは難しいです。
プログラムは良くも悪くも書いた通りしか動かないのでねー状況を察して良しなには出来ません。
4. ツール系(例:ライン自動描写とか、コピーツール、日本時間表示)はどうしようかな。。。裁量系のツール開発は乗り気しないのですが一応内容お伺いします。
とはいえご連絡を頂いて内容を確認して詳細を詰めていく感じになると考えているので、こんな感じのを考えてるって位の内容を頂けると幸いです。
開発及び話の進め方など
基本メールまたはline等でやり取りを行えればと考えています。
電話嫌いなので電話はNG。
直接会って話がしたい方はその旨ご連絡下さいませ。
私は千代田区に住んでおりますので近くのホテルのラウンジ等でコーヒー奢って頂けるのであればお会いします。
会社員ではありませんので平日であれば基本いつでもOKですw
保証及び責任について
構築したEA及びプログラムに対して保証等は出来ませんのでご了承下さいませ。
また作成したEA等で損失などが出ても責任等持てません。
不具合等があれば修正はしますが保証までは出来ません。
保証や責任を求めるのであれば専門の制作会社さん等に依頼した方が幸せになれるかと考えます。
作成したEAやプログラムの権利
作成したEA及びプログラム等は依頼者のみに提供します。
提供はMQ4ではなくEAになります。
プログラムの権利は基本は私の権利とさせていただきます。
もちろん作成したものを勝手に販売等などは行いません。
オプション
もし素晴らしいくてヤベーEAなどが出来た場合は一緒に販売又はサービスとして提供しませんか?
一緒に儲けましょうw
依頼するにあたっての備考など
1. 依頼は先着順を考えております。
2. 依頼頂いてもお受けしない場合もございます。
3. 依頼を受けたとしても個人的な状況によりキャンセル等をお願いする場合もあるかもしれません。
4. 何人とかの制限は考えていません。また期限も今のところ考えていません。
興味がなくなったら止めますが、それまではやる感じ。
EA制作及びバイナリーオプション検証の依頼方法
hogehogekatoジーメールまでご連絡下さいませ。
お気軽にこんな感じの自動売買を考えているのですがどうですか?といった感じでも大丈夫です。
※メールを頂いても必ず制作する保証は御座いませんのでご了承下さいませ。
その他
個人的にはFX及びバイナリーオプション(ハイローオーストラリア)を取引するのも好きですが、ビジネスを作るのも好きなのでFX又はバイナリーオプションに関連するビジネスの構築などの話もウェルカムです。
まぁ上で色々書きましたが、儲かるのであれば何でもやるのであまり深く考えずにご連絡頂いて大丈夫です。
まずは依頼内容が本当に儲かるのかFX及びバイナリーオプションのバックテストを行いますので。
直近の自動売買のエントリー結果 一部 2019年8月30日
バイナリーオプション(ハイローオーストラリア)自動売買構築の注意点 その1
半分自分用メモ
本記事はハイローオーストラリア(バイナリーオプション)の内容となります。
ハイローオーストラリア側はプログラム自動売買はNG行為なので自己責任でーって感じです。
ハイローオーストラリア 本番環境とデモ環境との違い
webサイトの作りから言えば違いはほぼ無いです。
デモ口座で作成した自動売買プログラムは本番環境でも動きます。
その上でデモ口座と本番口座の自動売買の注意点など。
注意点 1
ハイローオーストラリアにログイン直後のサイトの遷移には少し気を付けた方が良いかもです。
デモ環境ですと"5000円のキャッシュバック"の案内がありますが本番ではその案内がなくなります。
案内がなくなるのは別に良いのかと考えますが、問題はその案内がなくなった事よりサイトが読み込み前に自動売買の注文処理が走るので時間選択または通貨ペア選択辺りのクリック選択が出来なくてエラーになる可能性が高くなります。
htmlタグの存在を確認していてもエラーになります。
対応方法としてはsleep処理などしてサイト読み込みまで待ってやればOK
サイトの負荷具合にもよりますが2-3秒待ってやれば大丈夫なんじゃないかなーと。
注意点 2
約定拒否への対応
デモで約定拒否はさほど起こりませんが本番環境ではよくある事。裁量でも自動売買でも同じ。
対応としては約定するまでエントリーする。又は約定拒否されたらその取引は諦める。
個人的には○○回約定拒否されたらそのエントリーを諦めるって方法を取っています。
深追いすると想定価格外で約定する可能性もあり良い結果にならない可能性が高くなります。
裁量であればプライスアクションや様子を見ながら調整出来たりするのかもですがプログラムによる自動売買では判断が難しいです。
もう一方の約定拒否されたらその取引を諦める。も有効と考えています。
約定拒否=エントリー出来なかった= 損失 ではないです。
機会損失にはなりますが金銭的な損失はないです。
本来プログラムによる自動売買は約定拒否されたらその取引のエントリーを諦めるのが良いと考えます。
取引の機会は何回もあるのでねー金銭的な損失が出なければ勝ちといった考えも出来るかと。
直近の自動売買のエントリー結果など 2019年8月28日
勝率60%!! ジグザグ(zigzag)の順張りのバックテスト。 バイナリーオプション(ハイローオーストラリア)用
バイナリーオプション(ハイローオーストラリア)用の新しいロジックを考えてバックテストしてみました。
勝率60%!? 夢を見れるエントリー手法。
ジグザグと水平線を利用した逆張りエントリー
手法は凄くシンプルにですが過去のジグザグ(zigzag)の頂点を抜けたら順張り。
これだけ。
私の基本は逆張りですが今回は順張りイケるんじゃないのー的な感じ。
当初は逆張りでプログラムを組んだのでバックテストの成果は勝率約40%であーやっぱりむりかーって考えたのですが冷静になって考えると逆張りじゃなければ順張りで60%の勝率じゃん!! やべーじゃん。
うはうはじゃんってw
具体的なバックテストの状況としては
TitanのMT4を利用
通貨ペア : USDJPY
時間 5M (5分足)
ヒストリカルデータ Dukascopy
期間 2014/1/1 - 2018/12/30 5年程
バイナリーオプションの5分足決済は15分足の残り5分を利用してエントリーしています。
ジグザグと水平線の順張り手法詳細
過去ジグザグの頂点を利用した手法です。
とはいえ単純に一つ前のジグザグの頂点を採用では意味がない場合が多いと考えたので過去4つのジグザグの頂点で最小と最大を採用しています。
最大と最小のジグザグの頂点の価格(水平線)を超えた時に即エントリーといった感じ。次足でもなく10分満期でもなくエントリーは水平線を超えたら即エントリーです。
(水平線と言っていますが実際には水平線は引いておらず頂点の値を超えたらです。)
※この手法を考えた時は逆張りで考えていたのですがブログ書いてて思いましたが順張りでエントリーを考えるのであれば過去2つのジグザグの頂点でもいいのかもしれません。こちらは未検証。あーでもやっぱり直近だとダメかな。。。(感覚としてですが。)
ジグザグと水平線の今回のエントリーメリット
1. どの時間帯も安定している。
通常のロジックは時間帯などよっては勝率が変わることが多いのですが今回のジグザグと水平線手法は時間帯による勝率に大きな変化がありません。
深夜1-4時台が弱いのですがそれ以外の時間帯は安定しているなーっと。
2. エントリー回数が多い
一か月の平均エントリー回数が約109回/月程あります。(一つの通貨ペアで)
手法にもよりますがこの回数は多い方かと考えています。
手法によっては200-300回/月エントリーってのもあるのですが時間帯勝率などを考慮すると200-300回/月が => 30-40回/月しかエントリー出来ないのはよくあります。
勝率が54%を超えているのであればエントリー回数は多ければ多いほど利益が増えます。
3. 他通貨ペアでも応用可能
USDJPY以外の通貨ペアでも調べてみました。
殆ど通貨ペアでも勝てるのですが特に相性が良かったのは
USDCAD, EURUSD, AUDUSD などになります。
ジグザグと水平線のみのシンプルなロジックなので通貨ペア事に微調整をあまり考えなくてもいいのかもしれません。
また上記通貨ペアのエントリー回数は115-121回/月とUSDJPYよりも多くエントリー出来ます。
ジグザグと水平線の今回のエントリーデメリット
良いことばかりではない今回のエントリーデメリット。
運用上での話になります。
1. ハイローオーストラリアにアクセスし続ける
デメリットなのか微妙ですが今回のロジックは即エントリーロジックなのでハイローオーストラリアの画面を事前に開いておかないといけません。
裁量やってる方であれば気にならないと考えますが、自動売買においては常に画面を開いておくって気持ち悪いんですよねw
メモリ食いまくってブラウザ動かない問題などへの対応を考えたりする必要があります。
また複数の通貨ペアへの対応などを考えると常にハイローオーストラリアの画面を4-5立ち上げておく必要があるなーと。
常にブラウザ立ち上げっぱなしって事はPCを1台占有させておくなどの対応が必要。
2. MT4とハイローオーストラリアの数値が違う
このデメリットも扱いが難しいのですがMT4とハイローオーストラリアの価格の差が水平線の順張りエントリーに影響ある可能性があります。
エントリータイミングの処理で対応出来そう気もしますが、MT4の価格=ハイローオーストラリアの価格ではないのでMT4のアラートタイミングを読み取ってからのエントリーする必要があるかな。
その場合ワンテンポ遅れる可能性があるので結果負ける可能性が高くなるかなーと。
今回のジグザグ(Zigzag)と水平線手法を採用する?
個人的には検討しても良い手法(ロジック)の一つと考えています。
フォワード用のPCを1台用意して動かす必要があると考えているので時間がある時にでも転がってるノートパソコンにてテストしてデータを取得したいかな。
その他 ジグザグ(Zigzag)と水平線エントリーの次足エントリー又は10分満期エントリーは?
ジグザグ(Zigzag)と水平線タッチの次足エントリー又は10分満期エントリーの逆張りバックテストも行っています。
結果からお伝えすると次足、10分満期共に大きな特徴は見つけられませんでした。
多少時間帯による偏りもありましたが使える感じではないかなーと。
USDJPYのみのバックテスト検証しかしていないので他の通貨ペアだったらイケてるかもしれません。
備考
バイナリーオプション(ハイローオーストラリア)で順張りで入った事が無いので若干不安といいますか何か変な感覚です。
また更に勝率を考えるのであればジグザグの値幅による勝率もバックテストなどで検証するとより勝率が高くなると考えます。〇〇pips以下の値幅ではエントリーしないなど。
とりまフォワードテストにて様子みないと何ともですねー
TM-binaryインジケーターのフォワードテスト結果 約1ヶ月
自分用メモ
#############################
2019年8月23日 13時から18時頃までハイローオーストラリアのサイトがアクセス出来ませんでした。
理由はAWSの障害との事。
#############################
TM-binaryインジケーター(TMシグナルインジゲーター)のフォワードテストを1ヶ月以上行いましたのでその結果報告。
TM-binaryインジケーター フォワード結果
結論から言うとTM-binaryインジケーター設定そのままでは負けます。利益出ません。
負けます!
負けます!!
負けます!!!
ハイローオーストラリアでエントリーした生結果
勝率=> 51.24%
win=> 268回
lose=> 255回
High=> 285回
low=> 238回
エントリーは1234円です。リターンは2319円になります。
実際エントリーでの収益
利益=> 621492円
損益=> 645382円
収益=> -23890円 <= フォワードテスト(リアルのハイローオーストラリアの収益)結果です。
注意
上記結果はMT4上の結果ではありません。
リアルのハイローオーストラリアにてエントリーしての結果となります。
プログラムで自動売買を構築してエントリーしています。
自動売買ですが全てのアラートにエントリー出来ている訳でございませんので上記結果とエントリーアラートは多少違います。
※MT4のアラートの出るタイミングだったりハイロー側で約定拒否があったりしてエントリー出来ていない場合もあります。
ただ全てのTM-binaryインジケーターのアラートに人力でエントリーは現実的ではないのでプログラムによる自動売買が現実的なのかなーと。
ハイローオーストラリア エントリー履歴
※全部のせると長くなるのでハイローオーストラリアでエントリーした結果の一部
期間はここ一か月程度の結果です。
エントリー履歴を集計
上記エントリー結果(履歴)をhigh と low側で時間帯で集計を行います。
High Lowだけで集計するのではなく各通貨ペア毎の勝率及びエントリー足の分毎での勝率なども確認しています。
谷あきら氏のサイトで掲載されている14ヶ月負けなしとは
谷あきら氏のフォワード結果はMT4上の結果を案内しているのかと考えます。
確かにMT4上では負けないんですよね。。。では何故実際のハイローオーストラリアでは負けてしまうのか。
そもそも該当期間のTM-binaryインジケーターの勝率が低い
TM-binaryインジケーターも万能ではなく過去バックテストを考えても56-59%に落ち着きます。
この勝率はMT4上での勝率になります。
この勝率は始値に確実にエントリー出来る前提になります。
実際ハイローオーストラリアにエントリーしてみると分かるかと考えますが足替わり0秒にエントリーを毎回は難しいです。自動売買でも。
(足替わり0秒エントリーは自動売買のプログラムの方法によっては出来なくもないのですが、まぁ今回はこの辺の話はまた今度)
また足替わりは約定拒否の確率も高い気がします。(約定拒否率を調べたわけでは御座いません。何となくなので。。。)
ハイローオーストラリア側の価格とMT4側の価格が違う
ハイロー側はFXCMの価格を採用との事ですが本当かなーってのが正直なところ。
価格はFXCMのtickデータを採用しているのかと考えますが価格が反映されていない又は結構ズレていたりします。
ハイローオーストラリアのサイトをみて頂ければと思いますが、同じ15分締めのUSDJPYでも締め時間によって価格がズレていたりもするのでFXCMの価格データを参考程度にしているといった感じが正確なのかと。
個人的にはハイローオーストラリア側で価格操作されてハイローオーストラリア側の利益の最大化(有利に)なる様に価格操作をされているのかと考えます。
※何の根拠もないですけどねー
価格がかけ離れるって事はないのですが少しズレる。
この微妙ズレの価格の差で負ける。
ではどうすれば勝てる様になるのか?
負ける理由は上記でも書いたのですが該当期間の勝率+微妙な価格差。
そもそもの該当期間の勝率はどうしようもうないのですが、少なくとも指標発表及び特定の時間帯は避けるなどバックテストで導き出した時間帯は避ける設定を徹底。
微妙な価格差の負けに対してもフォワードテストをして微妙な価格差で負けてる時間帯の把握とその時間帯は避ける。
併せて締めの分足にも注目する。
フォワードテストをしていると特定のエントリー分の勝率が低かったりします。
FX的な考えですが特定の分は足が伸びる傾向があります。機関投資家のキリの良いタイミングと重なるのが理由かと考えてましてその分が締めとなるエントリーは避ける。
簡単にまとめるとフォワードテストをハイローオーストラリアのサイトで行って勝てる時間帯だけのフィルター掛けてエントリーしましょ!!って感じ。
フィルター設定したエントリーは勝てます!!!
さらに細かく設定などを詰めてやると勝率65%前後まで上がります!!!
ただ過度に最適化すると通用しなくなる可能性も高まるので塩梅が難しいです。
FX オープニングレンジブレイクアウト(短期ボラティリティに基づくオープニング・レンジ・ブレイクアウト)のバックテストしてみた その2
前回の記事でオープニングレンジブレイクアウトの決済は4つある話をしました。
http://bitra.hatenablog.com/entry/2019/08/09/164350
- ドテン決済反対側で決済
- 利確損切を指定して決済
- トレール幅での決済 トレンドーフォロー側のブレイクとアウトと相性が良いと考えます。
- 別の設定でオープニングレンジブレイクで決済
一応USDJPYにて全ての決済をバックテストしてみました。
最適化してバックテストしたので一つの決済のバックテストが半日とか掛かってしまいましたw
それを1時間足、4時間足。
FX オープニングレンジブレイクアウトのバックテスト結果
利益が最大になるのは利確損切した決済です。
具体的なバックテストの状況としては
TitanのMT4を利用
通貨ペア : USDJPY
時間 1H(1時間), 4H(4時間)
ヒストリカルデータ Dukascopy
期間 2014/1/1 - 2018/12/30 5年程
バックテストの結果詳細を書く長くなるのでお勧めの設定のみのご案内。
バックテスト設定数値など
時間は4時間足(4H)
注文時に利確損切(指値、逆指値)設定で注文。
過去5足
係数2.1
利確pips 1500
損切pips 700
lots 0.01 固定(バックテストなので複利はしません)
この条件でバックテスト結果
取引回数 217
プロフィットファクタ : 1.41
ドローダウン 0.65%
上記より良い設定はあるけど
上記バックテスト結果よりも良い設定はあるのですが取引回数などを考えるとどうなのかなーって。
トレール注文も期待したのですが思ったよりは伸びなかったかなーって印象。
トレール注文で行うとしたら
トレール注文はプロフィットファクターなどの結果は良かったので、もしかしたら私が使いどころが間違っていた可能性あります。
トレール注文とナンピン、マーチン系と組み合わせると大化けする可能性も否定できませんが、設定見誤ると死ぬ可能性もあるので何とも。。。
ナンピン系はよほど自身がる相場か小資金の時は良いのですが、それを永続的に大きな金額でやっていくかと言われると不安しかないんんですよねー
その不安を払拭する設定又は何かしらの対応方法を見つけ出せれば、最強なんじゃないのって個人的には考えてます。
諦めてはいません。いつか時間のある時にナンピン系のロジックも組んでバックテストをして様子をみてみたいです。
その他:複数のMT4でバックテストする方がいいかも
今回一つ一つの決済のバックテストに時間が掛かったので複数のMT4を立ち上げてバックテストを行いました。
そこで気が付いた事は取引所(MT4)によって結果が変わる。
Titanで行いつつalpariのMT4でもバックテストをしています。
正直今迄意識していなかったのですがバックテストは使用するMT4によって結果が大きく変わる場合があるので複数個のMT4で行って、どのMT4でも安定してそうな設定を選択するなどした方が良いかもしれません。
今迄はFXCMかTitanのどちらか一方でバックテストをしていたのですがそれだけではダメかもです。
複数のMT4でバックテストをしたからといって本番運用で必ず利益が出るとかではないのですが、どのMT4でも利益が出る設定は無難な設定な気がします。
裁量で成績出せてる人などは一つのMT4でバックテストをして最適化された設定の中から最適な設定を選択出来そうですがねーそうでない人は複数個のMT4でバックテストしてその上位の常連の設定で運用するのがいいんじゃないのかなーって考え。
見極められる人であれば不要ですが私の様なクソが見極めらる訳もなく、TitanのMT4のバックテストでこの設定良さげだなー思ったものはalpariでは通用しなかったり。
Titanに最適化されすぎただけの可能性もあり。
とはいえ最初から複数個のMT4でバックテストするのは難しい(時間も手間も面倒)ので、ある程度一つのMT4で設定を見極めておいて、その設定などが通用するのかなどを他のMT4でバックテスト検証するのが良い方向なのかなーと。
何かしら良い方法があるといいのですがねー
MT4 ストラテジーテスターを一括で複数の通貨ペア、複数のEAを行う方法 その2
前回の記事で下準備の一部が完了しました。
abitra.hatenablog.com
あとはやらなくても良いけど個人的に管理しやすい為の設定など。
MT4 Portable 起動用の設定(ini)
大元のMT4フォルダに Portable_iniフォルダを新規作成。
※名前は何でもいいです。コピー先のフォルダには不要です。
このフォルダに後で記載する設定ファイルが書き込まれるます。
testerにsetファイルのフォルダとtest_reportのフォルダ作成
setフォルダには最適化に必要な設定のファイルを追加して下さい。
test_reportレポートフォルダは特に何もしなくていいです。
ストラテジーテスター完了するとレポートが入るフォルダになります。
準備完了。複数通貨をストラテジーテスターで一括でバックテスト
私はrubyで書いています。
バックテストのコード。
以下コードを動かせば8つのMT4が立ち上がりバックテストが始まります。
pair = ["USDJPY", "USDCAD", "NZDUSD", "GBPUSD", "GBPJPY", "EURUSD", "EURJPY", "EURGBP"] period = "H4" count = 1 testexpert="エキスパート名" pair.each{|var| hoge = " Server=Alpari-Demo Login=************ Password=************* TestExpert=#{testexpert} TestExpertParameters=set\\bbbbb.set TestSymbol=#{var} TestPeriod=#{period} TestModel=0 TestRecalculate=false TestOptimization=true TestDateEnable=true TestFromDate=2014.01.01 TestToDate=2018.08.14 TestReport=tester\\test_report\\#{testexpert}_#{var}_#{period}_Report TestReplaceReport=True TestShutdownTerminal=false " open("portable_ini\\#{var}#{period}.ini", 'w'){|f| f.puts hoge } if count == 1 Thread.new do #Threadで立ち上げる aaa = "\"C:/Users/hogehoge/デスクトップ/MT4_alpari/terminal.exe\" /portable \"C:/Users/hogehoge/デスクトップ/MT4_alpari/portable_ini/#{var}#{period}.ini\"" system(aaa) end end if count > 1 Thread.new do #Threadで立ち上げる bbb = "\"C:/Users/hogehoge/デスクトップ/MT4_alpari/MT4_alpari_#{count}/terminal.exe\" /portable \"C:/Users/hogehoge/デスクトップ/MT4_alpari/portable_ini/#{var}#{period}.ini\"" system(bbb) end end sleep(1) count = count + 1 }
少し解説
上記プログラムを動かすとMT4が立ち上がりと同時にバックテストが動きます。
細かいストラテジーテスターの設定は他サイトなどを参考に設定して頂くと良いかと考えます。
バックテスト開始してしばらく待つとレポートが出力されます。
場所は本記事の最初に作成したtesterのtest_reportになります。
※出力先は任意で決めれます。
ストラテジーテスターのバックテスト完了
基本は以上です。
細かいところは端折っているのですが何となくの雰囲気は掴めたかと考えます。
"MT4BP" "MT4バッチプロセッサー"の場合はどの様な処理をしているのか分かりませんが以前の資料でMT4を8個同時に動かす的な資料を見た記憶があるので近い感じではあるのかなーと考えます。
もちろん"MT4BP" "MT4バッチプロセッサー"の方が色々設定出来るかと考えます。
実際8個のMT4で同時にバックテストしてみた結果
バックテスト中ですがめちゃくちゃPCの動作が遅くなります。
ブラウザ開くも画像ファイルがなかなか読み込まれなかったりマウスのポインタがカクついたりしました。
バックテストは成功したの?
バックテストは成功したのですが何点か問題もありました。
最適化結果のレポートを出力するもレポートだけではパラメータの確認が出来ません。
結局各MT4の最適化結果を確認しないといけない。(レポートにパラメータの入力表示出来るといいのになー)
たまーにですが読み込まれなかった通貨ペアあがりました。
その時は動かなかったMT4を手動で動かしたりました。一度動かした後はプログラムでも問題なく動いたり。
理由はよく分からない。。。
今後は使っていく?
複数通貨ペアでバックテストす時は便利だから使っていこうかなーと。
通貨ペアだけでなく15分足、30分足、一時間足、4時間足と同時にバックテストしたい時など時々訪れるのでその時は便利なよかーん。
もし何か不明な点などあればコメントなどでお気軽にご連絡下さいませー
MT4 ストラテジーテスターを一括で複数の通貨ペア、複数のEAを行う方法 その1
以前コメントで頂きまして 山なめこさんの"MT4BP"を教えてもらって凄い気になっていたので自分でもつくれないかなーって事で近しいプログラムを作成してみました。
※完全一致でもないですし制作自体1日程度なので勘違い及び間違ってる可能性があるので注意。
"EA山なめこ@養分"
"MT4BP" "MT4バッチプロセッサー"
MT4バッチプロセッサーとは何か?
引用
バックテストの超時短ツール。複数EAのバックテスト作業を最大8並列で完全自動化できます。複数の通貨・時間足を含め、複雑な設定でバッチ処理を設定でき、時間短縮&高度な分析が可能になります。
簡単に書くと複数のバックテストを並列で処理出来るツール。
通常のMT4のバックテストは一つしか動かせない。
MT4の設計自体が古い影響なのか通常はバックテストは一つしか出来ないですし、PCのCPUも一つのコアしか動いていない。
私のPCは高性能なのに全く活用出来ていない。。。
高性能PCは1コア辺りの処理が早い傾向があるのでバックテストの処理は早いのですが複数コア使ってもっと高速に出来るんじゃないのーって。
注意
正確には今回の方法も1つのMT4を利用してバックテストを行っているのですが、一括で複数のMT4を利用する事によって複数のCPUでバックテストを行っている様な感じです。
"MT4BP" "MT4バッチプロセッサー"がどのような処理をしているのか不明です。同じような処理なのか全く違うのか。
並列でバックテストを処理出来ると何が便利?
バックテストの検証時間が短くなります。
自作EA及び購入EAに関わらず必ずバックテスト検証しているかと考えますが数年を最適化で複数の設定で行うとめちゃくちゃ時間が掛かります。
下手したら一つの検証で1日とかねw
それを色々な時間軸、いくつもの通貨ペアでって考えると、かなり面倒(時間的にも)です。
MT4でストラテジーテスターを一括で複数の通貨ペアで処理する
ここからが本題。
出来る事
- 複数の通貨ペア (例えば"USDJPY", "USDCAD", "NZDUSD", "GBPUSD", "GBPJPY", "EURUSD", "EURJPY", "EURGBP" )を一度にバックテスト出来ます。
- 複数のEAを一度にバックテスト出来ます。
- 複数の時間軸のバックテストを行えます。
今迄一つのバックテストが終わったら別の通貨ペアの選択を選択して再度バックテストをしてといった感じでバックテストを行っていたのを一気に複数通貨ペアをバックテストさせます。
もちろん最適化も行います。
出来ない事
ビジュアルモードでのバックテスト
最適化を行う前提ですのでデメリットではないかなー
MT4 ストラテジーテスターを一括で複数の通貨ペア、複数のEAを行う為の準備
事前にある程度準備が必要です。
といってもコピーとリンクを少し変更する程度。
必要なもの
MT4 portable インストール型ではなくalpariなどのportableタイプのMT4
ruby (python、java何でもOK)などのプログラム環境。私がrubyがで行っただけ。
※以下PortableタイプのMT4で行う前提で書いています。
MT4のコピー(複製した分だけ一括で処理出来るMT4が増えます)
私はPCが8コアなので8つ同時動かす前提で考えています。
8つ同時で動かしてもそこそこ重たいので自身のPCスペックと相談しながら何個複製するか検討下さいませ。
MT4のファイルを確認すると以下の様な構成になっているかと考えます。
このフォルダをそのままコピー
私はコピーしたフォルダをコピー元の大元フォルダにいれいます。
コピーしたフォルダに分かりやすいように番号を設定。
こんな感じ。
その後コピーしたフォルダのtesterフォルダとExpertsフォルダを削除
大元のtesterフォルダとExpertsフォルダは消しちゃダメですよ。削除するのはコピーしたものだけ。
大元からコピー先にファイルを共有するので。
削除したらジャンクションを利用して大元からコピー先にtesterフォルダとExpertsフォルダをジャンクションリンクを設定。
コマンドプロンプトを利用してジャンクションを設定
こんな感じ
mklink /J C:\Users\hogehoge\MT4_alpari\MT4_alpari_2\MQL4\Experts C:\Users\hogehoge\MT4_alpari\MQL4\Experts & mklink /J C:\Users\hogehoge\MT4_alpari\MT4_alpari_3\MQL4\Experts C:\Users\hogehoge\MT4_alpari\MQL4\Experts & mklink /J C:\Users\hogehoge\MT4_alpari\MT4_alpari_4\MQL4\Experts C:\Users\hogehoge\MT4_alpari\MQL4\Experts & mklink /J C:\Users\hogehoge\MT4_alpari\MT4_alpari_5\MQL4\Experts C:\Users\hogehoge\MT4_alpari\MQL4\Experts & mklink /J C:\Users\hogehoge\MT4_alpari\MT4_alpari_6\MQL4\Experts C:\Users\hogehoge\MT4_alpari\MQL4\Experts & mklink /J C:\Users\hogehoge\MT4_alpari\MT4_alpari_7\MQL4\Experts C:\Users\hogehoge\MT4_alpari\MQL4\Experts & mklink /J C:\Users\hogehoge\MT4_alpari\MT4_alpari_8\MQL4\Experts C:\Users\hogehoge\MT4_alpari\MQL4\Experts
このジャンクションを利用してコピー先に大元のExpertsを利用する事が出来ます。
大元のMT4のExpertsにEAいれたらコピー先のMT4でも利用出来るようになります。
ショートカットリンクでは出来ませんので注意。
mklink /J C:\Users\hogehgoe\デスクトップ\MT4_alpari\MT4_alpari_2\tester C:\Users\hogehgoe\デスクトップ\MT4_alpari\tester & mklink /J C:\Users\hogehgoe\デスクトップ\MT4_alpari\MT4_alpari_3\tester C:\Users\hogehgoe\デスクトップ\MT4_alpari\tester & mklink /J C:\Users\hogehgoe\デスクトップ\MT4_alpari\MT4_alpari_4\tester C:\Users\hogehgoe\デスクトップ\MT4_alpari\tester & mklink /J C:\Users\hogehgoe\デスクトップ\MT4_alpari\MT4_alpari_5\tester C:\Users\hogehgoe\デスクトップ\MT4_alpari\tester & mklink /J C:\Users\hogehgoe\デスクトップ\MT4_alpari\MT4_alpari_6\tester C:\Users\hogehgoe\デスクトップ\MT4_alpari\tester & mklink /J C:\Users\hogehgoe\デスクトップ\MT4_alpari\MT4_alpari_7\tester C:\Users\hogehgoe\デスクトップ\MT4_alpari\tester & mklink /J C:\Users\hogehgoe\デスクトップ\MT4_alpari\MT4_alpari_8\tester C:\Users\hogehgoe\デスクトップ\MT4_alpari\tester
Expertsと同じくtesterもジャンクションでリンクさせておきます。
ちゃんとジャンクション出来ているとコピー先のフォルダにこんな感じのフォルダが出来ます。
今回はここまで次回rubyプログラムで設定ファイルを作成して一括で8つのMT4を動かして一括で複数の通貨ペアをバックテスト。させる予定。予定。予定。書くのが面倒になってきたw書ききれるかな。。。