Programming master school

今回の記事は、無料で入手できるMT4のサインツールを利用して、ナンピン系EAを作ってみました。

サインツールを利用すると、簡単にEAを作ることが出来ます。なぜなら、売買ロジックをほぼ考えなくて済むからです。

しかし、「MT4でバックテストができない原因はフォルダの容量オーバー!?」の記事で紹介した際は、全てのサインでトレードすると利益を出すことは出来ませんでした。

今回は、同じサインツールを利用した同じEAを、ナンピン系EAにする為に少しコードを加えました。

さて、その結果はどうなったでしょうか?こうご期待!

この記事はこんな方にオススメです。
☑売買ロジックが思いつかなく先へ進めない方
☑EAの作成に興味のある方
☑ナンピン系EAに興味のある方
☑サインツールでEAを作成したい方
☑所有している矢印サインツールをナンピン系EA化したい方

ナンピン系EA(自動売買)とは?

「ナンピン」とは、例えば、現在115円でドル円の買いポジションを1個保有しているとします。

予想に反して下がってしまい、114円になったとします。ここで買い増しのポジションを1個追加します。この、逆行したときにポジションを増すことを「ナンピン」と言います。

なぜナンピンを行うかというと、(115円+114円)÷2ポジション=114.5円となり、平均取得価格を下げることができますので、利益になりやすくなります。

この様に、ポジションを保有中に設定した水準まで逆行した場合、自動で「ナンピン」をし、相場が予想した方向に戻った際に、設定したpips(または利益額)に達したら自動で「決済」を行ってくれるEAの事を「ナンピン系EA」と言います。

今回の例では、「買い」ですが、もちろん「売り」方向でも可能です。買い方向を「買いナンピン」、売り方向を「売りナンピン」などと言う場合があります。

ナンピン系EAのメリット

ナンピンEAのメリットは、前述した通り、逆行した場合に「平均取得価格」を下げて、予想した方向に戻った場合は、利益になりやすく、負けにくくなります。

損切りの設定をしないことが多いので、全てのポジションを決済した際は、トータルプラスになります。

ナンピンEAのデメリット

ナンピン系EAのデメリットは、大きく逆行したした場合は、大きな含み損を抱えてしまう為、口座破産になる可能性が高くなります。

上手な利益決済や、損切り設定をするなど、しっかりした資金管理をしないと、ある意味「コツコツドカーンEA」となってしまう可能性もあります。その為、検証はとても重要になってきます。

「ナンピン系EA」についてより詳しく知りたい方は、下記のサイトがとても参考になります。

ナンピン系EAの作り方

今回のナンピン系EAは前述した通り、サインツールの矢印を利用します。その為にまずは、サインが出た際に自動で注文が入る必要があります。

私の入会しているスクールでは、サインツールをEAにする為のコードをダウンロード出来ますので、今回はこのコードを利用して作成します。

ダウンロードしたコードは、ナンピン系ではありませんので、ナンピン系に若干コードを変更する必要があります。

ナンピン系にする為のコードも、以前下記の記事で紹介致した勉強会で、講師の先生が作って下さったコードがダウンロード可能です。そして、これらのコードをコピペして作っていきます。

先生に作って頂いたこのコードが無ければ、今回のEA作成は無理でした。誠に感謝いたします!

理解出来ないところは、カリキュラムの動画を何度も観たり、下記の記事の様にPrint関数を利用して作り上げました。

ナンピン系EAの作り方は、下記の動画も参考にしました。興味があれば是非視聴してみてください。

ナンピン系EAのロジック

今回のロジックは、無料で頂いたサインツール「GM-CROSS」を利用しエントリーするようにしています。

「GM-CROSS」は、GMMAを利用して矢印のサインを出すサインツールになります。

「GM-CROSS」の出したサイン(矢印)でエントリーして、指定のPipsで決済、指定のpips幅だけ逆行したらナンピンを行うEAになにます。

矢印の出方など詳しくは、下記で登録すると確認することが出来ます。

ナンピン系EAは無限マーチンがいい?

潤沢な資金があれば無限マーチンの方が勝つ確率は高くなります。しかし、場合によっては大きな含み損を抱えるため、それに耐えられるメンタルも必要です。

マーチンする際の倍率や通貨ペア、業者のレバレッジにもよりますが、1000通貨スタートとして10~15ポジション位で、含み損と証拠金を合わせて100万円を越える場合もあります。

資金管理やポジション管理が出来れば、損切り設定は必要ありません。しかし、無計画な、無限ナンピン、無限マーチンはオススメ致しません。

ナンピン系EAは両建て?片建て?

[両建て]とは、同じ通貨ペアの「買い」と「売り」の両方のポジションを同時に保有することです。

今回のEAで例えると、「EURUSD」のポジションを「買い」と「売り」のポジションを保有ことになります。

ポジション数や枚数は関係なく、とにかく同じ通貨ペアの「買い」と「売り」のポジションを同時に保有していれば両建てとなります。

理論的には、「買い」を1000通貨と「売り」を1000通貨のように、どちらの枚数も同じであれば、価格がどちらの方向に動いても、その時点の利益(または損失)の変化が無くなります。

業者によっては、両建て分の証拠金が片側("買い"、"売り"がそれぞれ1000通貨保有している場合、1000通貨だけの証拠金)だけで済む場合が多いです。その為、少ない証拠金でトレードが出来るので戦略の幅が広がります。

しかし、決済タイミングが悪いと損失になる可能性が高くなります。そのことから、両建て戦略は難しいとされているのが一般的です。

逆に、「買い」又は「売り」のどちらか片方だけのポジションしか保有していないことを、[片建て]と言います。

今回作成したEAは、両建てか片建てか悩みましたが、今回のEAは「片建て」にしました。

理由は単純で、「まず、片建てから始めて、いろいろと試してから両建ても考えてみよう!」と思ったからです。

今回は片建てのEAですので、両建て、片建てのどちらが良いのかはまだ分かりません。今後、EAの改良等を行って検証していきます。

SignToEAでナンピン系EA化

今回利用するコードは、前述の通りスクールで頂けるサインツールをEAにする為のコード(以下SignToEA)を利用してナンピン系EAを作りました。

SignToEAは、サインツールの出す矢印を利用してEA化することができる、とても便利なEAです。(スクール版のSignToEAは、簡易版です。)

私のように、「売買ロジックが分からないのでどんなEAを作ったらいいのか悩む!」と先に進めない方にはとても有益です。

なぜなら、エントリータイミングはサインツールを基本にするので、利益が出るかは別として、取りあえずトレード出来るEAは簡単に作れます。

スクール版のSignToEAはMQLコードでダウンロード可能ですので、自身で編集が可能です。

編集可能ですので、バックテスト繰り返して、「どのサインを有効にするか」などを決め、じっくりと煮詰めていくことが出来ます。

この様な作業を繰り返していると、少しずつプログラミングの理解が進みます。

興味がある方は、下記の動画のコードと似ていますので、動画を視聴してコードを書いても良いと思います。

「自分で編集するのは面倒だ!もっと簡単にサインツールをEA化したい!」と思われている方は、とても多機能で魅力的な、こちらの「SignToEA」を検討してみてはいかがでしょうか?

注)スクール版のSignToEAとは違います。ご注意下さい。

ナンピン系EAの検証や最適化

EA作成が完了したら、設定通りにトレードしているか、短期間で動作確認をします。その後長期間での検証や最適化を行っていきます。

今回のEAの動作確認は済みましたので、次のステップの検証を行います。

サインだけでトレードした場合の検証結果

最初は、「GM-CROSS」が出すサインだけでトレードした場合の検証結果です。設定は以下の通りです。

・証拠金 -------------- 100万円
・通貨ペア ------------ EURUSD
・時間足 --------------- 5分
・期間 ----------------- 2000.01.01~2021.12.31
・スプレッド ---------- 30(3pips)
・初期LOT ------------- 0.01
・利確 ------------------ 8pips
・損切り ---------------- なし
・マーチン -------------- あり
・ナンピン幅 ------------ 30pips
・最大ポジション数 ----- 10

検証結果は下記になります。

始めは順調に右肩上がりで利益を出していましたが、2004年11月に破産しました。

利確幅やナンピン幅などいろいろと設定を変更しましたが、結果的にはどこかで破産してしまいました。

結果からこのEAは、「GM-CROSS」が出すサインだけでトレードした場合、ナンピン系EAでは利益が出せないことが分かりました。

注)他の通貨ペアでは検証していませんので、他の通貨ペアなら利益が出る可能性はあります。

サイン+MAでトレードした場合の検証結果

サインだけでトレードした場合の結果が良くなかったので、4時間足のMAの傾きと同じ方向に出た矢印でトレードする設定に変更しました。証拠金などの設定は、前回と全て同じです。

検証結果は下記になります。

今度は破産すること無く最後までトレード出来ました。利益は、2,881,475円です。21年で約3倍の利益ですが、まずは、破産せずに、最後までトレード出来たことが嬉しいです。

因みに、このEA設定のままで、1年毎の検証も行ってみました。(毎年100万円の証拠金で検証)
2007年のみが、約10万円のマイナスで、他の年は平均10万円の利益になりました。結構安定している感じです。

今回は検証しませんでしたが、複利で行った場合はもっと利益が出る可能性もあります。

EAの最適化

サイン+MAの設定が、良い結果になりましたので、「サイン+MA」の方で最適化を行ってみました。

結果は下記からダウンロードしてください。

一番良い最適化で、¥65,391,570になっています。この金額だけみると「このEAはいいかも!今すぐ実践だ!」と思ってしまいそうです。

しかし、一番良い設定で1年毎の検証を行うと、2003年、2004年、2005年と3年連続で破産しています。

2003年は、9月に150回目のトレードで破産。2004年は1月に15回目のトレードで破産。2005年に至っては1月7日にたった10回目のトレードで破産しています。(いずれも証拠金100万円スタート)

仮にタイミング悪く2005年にトレードを実践した場合、新年早々破産してしまい、憂鬱な年になるのが目に見えます。

しかもこの設定は、1年毎の検証結果、22年間で7回も口座破産してしまいました。

この様に、長期間で結果が良かったとしても1年毎で見ると、3年連続で100万円の証拠金を失ってしまったり、何度も口座破産を繰り返すEAの場合があります。このようなEAは不安で、私は全く使用する気になりません。

ですので、最適化を行った後は1年毎に検証を行って、ご自身にあった設定を見つけるのがいいです。

自作でEAが作れるようになると、自身が納得出来るまで検証や変更を行えるのは、とても大きなメリットです。

<余談>
この記事を作成中に、[EURGBP]で最適化を行ってみました。

プロフィットファクターが全体的に高いです。プロフィットファクターは「総利益÷総損失」で求めますので、[EURGBP]でトレードした場合は[EURUSD]に比べて損失額が小さく利益を出せることになります。

このことから、「総利益」は少なくなりますが、「総損失」が小さいので、[EURGBP]の方が精神的に安心できる可能があります。

このように、他の通貨ペアで「検証」や「最適化」を行うことも、いろいろな結果が出て楽しいですし、自作の良いところですね。

ナンピン系EAの注意点

ナンピン系EAはその性質から、大きな含み損になる可能性があります。

検証のトレード履歴を確認すると、大きな含み損のまま数か月間トレードしない期間もありました。

検証を繰り返して、どれくらいの含み損になるか、その頻度が自身に許容出来るのか、などの確認して自身にあった設定みつけていく必要があります。

その後、トレード設定が決まったら、1年毎の検証も行った方がいいです。

理由は、前述した通りたとえ22年間通した場合の検証でプラスであっても、1年毎で検証すると大きくマイナスしている年があったり、連続して破産している年があったり、その逆で大きくプラスしている年もあったります。

大きなプラスになった年は、利益金額に応じて税金を多く支払いう必要があります。海外の業者でトレードした場合は国内業者よりも多くの税金を支払う可能性もあります。

大きな損失があった年の場合、海外業者で取引した場合は3年間の損失の繰り越し出来ませんので注意が必要です。

先のケースの場合、2003~2005年の損失は、2006年に大きな利益が出た際は、2003~2005年の損失は差し引きされず、2006年の利益に税金がかかります。

注)国内業者で損失が出ても、確定申告を行わないと損失の繰り越しは出来ません。

この様なことを考慮すると、大きな利益と損失を繰り返す設定より、毎年安定した利益が出る設定の方が精神的に安心出来ると私は考えています。

ナンピン系EA(自動売買)は勝てるのか?サインツールを利用した作り方を解説!まとめ

今回は、サインツールを利用してナンピン系EAを作成しました。

なんと言っても最大のメリットは、売買ロジックをほぼ考えなくてEAが作れることです。

ロジックをあれこれ悩んで先へ進めなくなるより、少しでも進めることが出来ます。まずは、EAを作ってみて、そこからいろいろな展開や発想が生まれます。

私は、今後このEAを「”両建て”にしてみたり、”他の通貨ペア”や”他のサインツール”で検証してみたい!」との発想に至りました。

現在、EA作りでロジックに迷っていて、先へ進めていない方は、私のようにサインツールを利用してみてはいかがでしょうか?


 

Programming master school
おすすめの記事