
待ちに待ったこの日が来ました!
昨年から取り組んでいたオリジナルEAの制作ですが、幾度の試行錯誤を繰り返しついに完成しました。
自分の頭の中にあるロジックだったり取引ルールをプログラミングでコード化するのは想像より難しく、コンパイルが成功しても動作に不具合が出たり、想定とは違う取引になっていたり何度も挫折しそうになりました。
ですが「EA」ってRPGゲームみたいで攻略心をくすぶられるんですよね。
自分が選んだEA(キャラクター)でチーム(ポートフォリオ)を組み、ダンジョン(相場)を攻略して、報酬(利益)を得る。
そのEAが1から自分で作ったものを使えるってめっちゃ特別な感じがしませんか!?
私は昨年1年間EA運用をしてきて「いつか自分のつくったEAで資産運用をしたい」という思いがどんどん強くなりました。
インジゲーターやオシレーターを使い取引判断を行う優秀なロジックのEAはたくさんありますが、私の理想とするEAは「戦略」を軸に稼働していくEAです。
勝率が高いトレードを自動再現するために作られた従来のEAとは違い、理論的に組み立てられた出口が明確化されたEA。
そんな、他では見たことのない仕様の完全オリジナルEAの詳細をここで紹介させていただこうと思います。
EA『クラフター』の概要
まず今回リリースするEAの名前は
『クラフター』
と名付けました。
名前の由来は、このEAのメイン機能を表現したRPGゲームで登場するクラフターというジョブ(役職)から取ってきました。
クラフターというキャラクターはクラフトを得意とする役職で、「モノを作り出す」「新たに生み出す」ことをスキルに持ちます。
制作したEA「クラフター」の得意分野も『モノを新たに作り出す』ことにあります。
クラフターはパラメーター内で設定した条件を満たすと、ポジションの『損出し』を行います。
「損切り」ではないですよ!『損出し』です。(詳しくは後述します)
そして、損出し後に新たなポジションを生み出し、強化して保有します。
更にその強化されたポジションも条件を満たせば更に強化されたポジションを作り出し保有する2段階クラフトトレードを行う、他では絶対見たことのないロジックを組み込みました。
またクラフターはインジゲーターやオシレーターなどでエントリー判断を行うEAでもありません。
グリッドトレードを主軸として、『戦略』を計画して稼働するタイプのEAです。
ですのでクラフターは受け取ってMT4にセットしたらすぐ稼働できるというものでもないです。
稼働前に利用ユーザー様自身が戦略を考えて、パラメーターに戦略をセットして初めて稼働できるEAです。
稼働後は戦略にもよりますが、「数年先まで完全放置」なんてことも不可能ではなく、長い期間パートナーとして寄り添ってくれるEA になるでしょう。
ここでいう「戦略」というのは
・稼働する範囲(レート〇〇~レート〇〇)はどこか?
・買い範囲はどこか?売り範囲はどこか?
・範囲内にエントリーポイントは何個設定するか?
・何pips間隔でエントリーするか?
・何ロットで行くか?
・ポジションをクラフトするタイミングはいつか?
などを事前に考えないといけません。
もちろんみんながみんな簡単に戦略を考えれるなんてことは思ってません。むしろ簡単に考えれたらみんな負けることが無いですよね。
戦略は奥が深くどれが正しいとかもないので、今回は一例として私の考えた戦略も後述紹介します。
それを参考に自分でも考えてみて、クラフターと冒険に出発していただけたらと思います。
上記のようにクラフターにはもう一つのメインとなる機能『取引範囲指定機能』というのが実装されています。
スイングトレード用として制作をしたので、長期間の放置可能を前提に取引(トレード)を行っても良いエリアをパラメーター内で指定できるようにしています。
また、その取引許可範囲は「買い」と「売り」を区別して設定できます。
こうすることで何が良いのか?
・・・
それは「ハーフ&ハーフ戦略」が可能になるということ!!
私の場合は過去数年の相場を見て最安値・最高値のレートを確認し、過去数年のレンジを取引許可範囲とする。
↓
ただ数年単位のレンジだと広いので買いも売りもトレードしていたら必要資金もかなりかかる。
↓
レンジの半分から下側は買いエントリーのみ、上側は売りエントリーのみのハーフ&ハーフ戦略なら必要資金も半分で済む。
と、資金効率の面にも大活躍します。
ローリスクEAとして制作しましたが、使い方によっては爆益EAにも覚醒できる、まさに『使用者の戦略』次第で無限の可能性を秘めたEAになります。
ではクラフターの詳細を見ていきましょう。
EA「クラフター」の詳細
次にクラフターに組み込んだ機能について細かく説明していきます。
推奨通貨ペア
クラフターは長期間のレンジ相場で戦うEAとして制作しました。
ですので稼働するのは為替通貨ペアを推奨しています。
逆に長期に見て右肩上がり相場のGOLDでの稼働は少し難しいと考えています。
ですが、戦略次第では高利回りを生み出せそうなのでコッソリ検討もしています。
今のところAUDNZDでの運用で制作しました。
推奨資金
長期的に放置運用をするのであればまとまった資金は欲しいですが、マイクロ口座なら戦略次第では5万円以下でも十分稼働できます。
ロジックでエントリー判断をする仕様ではないので、他社のEAで公開されている「〇万円=0.01ロット」のような表現は難しいです。
クラフターには3種類のポジションが存在する
クラフターはどんどんポジションを生まれ変わらせていきます。
なのでポジションの種類は全部で3種類に区分されます。
①基本となるグリッド形式にエントリーする『通常ポジション』
②通常ポジションを有利な位置で強化して生まれ変わらせた『エンチャントポジション』
③エンチャントポジションの早期回復を目的として最終進化をさせた『リペアブーストポジション』
【通常ポジション】
通常ポジションはたくさん持って、機会損失を無くしコツコツ利益を積み重ねていく役割を目的としています。基本的にはこのポジションで稼いでいきます。
そのため非マーチン仕様にし、維持率の悪化を軽減させています。
また、ナンピンはしていきますが一つ一つのポジションは独立し、段数が増えたとしても設定した利確pipsに到達したポジションから決済していく仕組みになっています。

こうすることでナンピンEAの「あと少しで反転利確だったのにー!」というもどかしいストレスが無くなり、利益が取れる時は全て取るという機会損失面を攻略しました。
【エンチャントポジション】
エンチャントポジションは通常ポジションを一定数保有すると生成されるポジションです。
パラメーターではエンチャントポジションにする通常ポジション数を設定することができ、例えば「10」と設定していた場合↓
1~9個までは普通にポジションを保有していきます。
10個目のポジションを保有するタイミングで、これまで保有してきた通常ポジション(1~9個目のポジション)が自動で一括で損切りされ、本来10個目の通常ポジションがエントリーする位置で1~9+(10)ポジションの合計ロットのポジションが新規エントリーされます。
(ロット設定が0.01設定だった場合 0.01×10ポジ=0.1ロット)

この新規エントリーするポジションにエンチャント(マーチン倍率)を付与したポジションがエンチャントポジションです。
先ほど「損切りされ」といいましたが、正確には『損出し』になります。
『損出し』とは、よく投資家が年末に節税対策で行ったり、ポートフォリオの見直しで使う戦略ですが、クラフターの場合は「損失のあるものを一旦損切りを行い有利な位置で同数量を持ち直す」という戦法です。
通常ポジションではマーチンがかかっていないためポジションが貯まるとなかなかそれまでのポジションが決済されないことがあります。
そこでポジションを有利な位置でまとめて持ち直す+マーチン倍率を掛けて、本来それまでに保有したポジションが全て利確するよりも早い段階でそれまでのポジションを解消する役割を果たしてくれます。

「損出しした時に損失が出る(確定する)じゃないか!」と思われた方もいるでしょう。
そこもきちんと考えています。
エンチャントポジションの利確ポイントは以下のようになります。
損出しした全ポジションが本来得るはずだった利確pips(金額)+確定損切額+手数料
これにより損出し分の損切り金額はきちんと回収できて、損出しを行ったポジションが本来得る予定だった利益も獲得。
なおかつ有利な位置とマーチン倍率の効果で、通常ポジション時より早い段階でポジションの解消もできるという旨味爆上げの戦略です。
【リペアブーストポジション】
リペアブーストポジションとは、エンチャントを一定数保有すると生成されるポジションです。
こちらもパラメーター内でリペアブーストポジションにするエンチャントポジション数を設定することができます。
リペアブーストポジションが生成される際は、指定したエンチャントポジション数の損出しが行われ生成(エントリー)されます。
早期利確を目的としたエンチャントポジションも相場によっては抵抗できず複数保有してしまう場合があるでしょう。
そういったときは更に早期利確を目指すリペアブーストポジションを使います。
仕様はエンチャントポジションと同じですが通常ポジションにマーチンを既にかけているエンチャントポジションをひとまとまりのロットで保有し、更にマーチンをかけるので保有ロット数は多くなります。
しかし、ロット数が多いということはちょっとした反転で本来得るはずだった利益に到達することが可能ということ、つまり損出ししたエンチャントポジションの利確ポイントまでの距離より、格段に近いレートでポジションの解消ができるのでまさにリペア(回復)のブーストと言えるでしょう。
【各ポジションのエントリーイメージ】
言葉だけではイメージし辛いと思うので簡単な図解も用意しました。
3種類のポジションの保有の仕方は以下のようになります。
●通常ポジションは、パラメーター内で設定したエントリー間隔でエントリーしていきます。(逆行時・巡行時)

●エンチャントポジションはパラメーターで設定した数値まで通常ポジションが貯まったら、損出しが行われエンチャントポジションが生成されます。

エンチャントポジションがエントリーされた後も相場が逆行していった場合は、再び通常ポジションが設定どおりにエントリーされ、設定数通常ポジションを再保有したら2つ目のエンチャントポジションが入ります(以降も同様)

●リペアブーストポジションは、パラメーターで設定した数値のエンチャントポジションを保有したらそれらを損出しし、リペアブーストポジションが生成されます。

リペアブーストポジションを保有後も相場が逆行した際は、通常ポジションからまたエントリーしていきます。

トレード範囲は自分で決める
第二のメイン機能は、「取引許可範囲」を自分で決めることができるということです。
取引許可範囲とは、「相場がこのレートからこのレートの間にいる時だけエントリーしていいよ!」という設定です。
指定したレートから相場が出た場合は自動でエントリーが停止されます。(ポジションの巡行方面に出た場合は決済は行います)
この機能の目的は「完全放置」運用を行うために組み込みました。
過去数年の相場を見て計画した取引する範囲(レンジ)は広く今後もそのレンジ内で相場が推移する可能性は高いです。
なので基本的には相場状況なんて頻繁に確認しないのが今回の戦略の本質です。
ロスカットレートを決めてスタートするこのクラフターはほったらかし運用になるでしょう。(ゲームでいうと放置プレイで勝手にレベル上がっていく(利益がコツコツ貯まっていく)ジャンルのEAです)
ですが万が一、長期にわたり生成された相場のレンジ上限・下限の分厚いレジサポラインをブレイクされてしまったら、相場は大きく荒れてしまい、予期せぬ動きになります。
その時に相場を見ていなくてもエントリーが止まっていたらロスカットレートまでに気付き何かしらの対策は打てる時間は十分あると思います。
そしてこの「取引範囲指定機能」は上記の概要項目でもお話しましたが『買いエリア』『売りエリア』を別々に設定できます。
上記ではハーフ&ハーフについて説明していますが、実は・・・
★買いと売りの取引許可範囲を同じレンジレートに設定すると「両建て」の戦略が使えます。
★買いと売りの取引許可範囲を1部同じレンジレートに被せると「コアレンジ」の戦略が使えます。(ハーフ&ハーフのレンジ中心が両建てエリアになっている)
このように戦略の幅が広がる重要機能になります。
クラフターAUD/NZD戦略
私が今回提案したい戦略は以前、当ブログで公開しているAUDNZD戦略をクラフターバージョンにした内容です。
AUDNZDは長期に渡り安定的なレンジを生成し、その幅も他の通貨ペアに比べると狭め。
相場の動きは活発でグリッド系トレードを好むトレーダーに人気の通貨ペアになります。
私も長年AUDNZDでグリッドトレードをしてきて、その安定感にハマった一人になります。
取引を行うレンジはこの戦略通りで設定します。

コアレンジは直近で上に抜けて、レンジに戻って、を繰り返しているので
・もう少しレンジ全体の位置を上げる
・様子を見てコアレンジは稼働しない
・気にせずこのまま使う
いろいろと戦略の選択肢はあるので、自分の好みで組み立ててみてください。
バックテスト結果
私は他の配布者さんのEAを使うかどうか検討する際に、公開されているバックテスト結果で見る項目はドローダウンを一番注目しています。
自分の許容範囲で扱えるかどうかの判断をするためです。
ですが今回制作したクラフターはドローダウンがいくら膨らんだかなんて私にとってはあまり意味を持たないんですね(事前にロスカットレートが分かっているので破綻タイミングの目安が付いているから)
だから「バックテスト結果は公開しなくて良いかなぁ~」って考えていました。
でもやっぱり客観的に考えると他人が作ったEAでどんな結果か公開されてないって怪しくて使えないし、使っていただくにしても対応が失礼だな!と考え直しバックテスト結果もきちんと公開しようと決意しました。
注意点としては、ヒストリカルデータはFXTF社のものを使っているため品質は低いです。そのため正確性の観点では「これが真のデータだ!」とは言い切れないのでご了承ください。今後バックテストの品質も良いものをきちんと準備していきます。
戦略計画シートに基づく結果
まずはじめに公開するバックテスト結果は、戦略計画シートで出したデータを素直にパラメーターにした結果です。

バックテストでは資金は多めにした方が良いと聞いたことがあるので初期資金は100万円スタートにしました。(シートで出た必要資金は661969円でした)
【パラメーター条件】
■ロット=0.01(1000通貨)
■エントリー間隔=5pips
■利確幅=20pips
2022~2024年の3年間の運用期間のデータです。
・純益 = 809183円
・プロフィットファクター = 1.81
・最大DD = 186048円(10.37%)
・総取引回数 = 6064回
この結果を見て正直な感想は「DDは低いが利率も低い!」でした。
3年で80万円の利益。月利で言うと約3.4%です。
私的には最低でも月利5%は欲しいところ・・・
考えていたところ重大なミスに気付きました。
それは上記でも解説した「最悪のパターンでの資金でスタート」したということです。
指定したレンジのポジションを全て保有しながらロスカットレートまで到達はほぼ無いと言いながらその設定でバックテストを行ってしまっていました。
シートの金額はあくまで全ポジション保有しても大丈夫という意味合いなので、最初から用意する必要はないんですよね。
いざという時の資金なのでこれでやってしまうと効率が悪くなります。
実践を考えたバックテスト
ということに気付き実践を考えた時、「私だったら」という設定でバックテスト
【設定】
運用資金=30万円
ロット=0.03(3000通貨)
エントリー間隔=5pips
利確幅=20pips
エンチャントポジション変換数=15
リペアブーストポジション変換数=3
エンチャントポジションマーチン倍率=1.5
リペアブーストポジションマーチン倍率=1.5
■■■ 結果 ■■■

期間は同じ2022~2024年の3年間です。
30万円が→300万円まで増えました。
更にこのMT4のバックテスト結果を詳細に分析するツール「QuantAnalyzer」を使ってみてみると以下のデータが分かります。(「$」と表記されていますが数字は日本円です)

TOTAL PROFIT(最終的に残った利益)
2788734円
OF TRADES(総トレード回数)
6342回
SHARPE RATIO(リスクとリターンの比率)
0.04
PROFIT FACTOR(プロフィットファクター)
1.92
RETURN/DD RATIO(純損益とドローダウンの割合・値が大きいほどリスクに対して利益が見込める)
13.43
WINNING PERCENTAGE(勝率)
72.69%
DRAWDOWN(ドローダウン)
207638円
%DRAWDOWN(ドローダウンの割合)
28.64%
DAILY AVG PROFIT(1日の平均利益)
2575円
MONTHLY AVG PROFIT(月の平均利益)
77464円
AVERAGE TRADE(1トレードの平均利益)
439円
ANNUAL %/MAX DD %(1年のドローダウンとマックスドローダウンの割合)
4.1
R EXPECTANCY(R期待値、タープ期待値)
0.25R
R EXPECTANCY SCORE(R期待値スコア)
529.7R
SQN SCORE(EAの品質評価値)
33.51
〈公式での公開評価表〉
1.6~平均以下
2.0~平均
2.5~良い
3.0~優秀
5.1~最高
7.0~聖杯
Wins/Losses Ratio(勝ち数と負け数の割合)
2.66
Payout Ratio(Avg Win/Loss)(平均利益と平均損失の割合)
0.72
Average#of Bars in Trade(1トレードのローソク足の平均数)
0
AHPR(平均保有期間利回り)
0.04
Z-Score(トレードの従属性)
-71.98
正の数字なら=勝ち負けを繰り返すロジック
負の数字なら=勝ちor負けが連続するロジック
Z-Probability(Z-Scoreの信頼度)
99.9%
Expectancy(期待値)
439.72
Deviation(標準偏差)
8248円
Exposure(価格の変動リスク)
48
Stagnation in Days(停滞期・取引無し期間)
37日
Stagnation in %(停滞期の割合)
3.42%
#of Wins(勝ちトレード数)
4610回
#of Losses(負けトレード数)
1732回
#of Cancelled/Expired(トレードのキャンセル、期限切れの数)
0回
Gross Profit(全利益)
5828333円
Gross Loss(全損失)
-3039598円
Average Win(平均利益)
1264円
Average Loss(平均損失)
-1754円
Largest Win(最大勝ち)
197206円
Largest Loss(最大負け)
-118088円
Max Consec Wins(最大連勝数)
153回
Max Consec Losses(最大連敗数)
28回
Avg Consec Wins(平均連勝数)
37回
Avg Consec Loss(平均連敗数)
14回
Avg #of Bars in Wins(勝ちトレードのローソク足の平均数)
0
Avg # of Bars in Losses(負けトレードのローソク足の平均数)
0
■■月別の収支も確認することができます■■

2022年= +1127387円
2023年= +1150385円
2024年= +510961円
直近の2024年ではリペアブーストポジションが発動し、その際の損出しで一時的にマイナス月も発生していますが、見てほしいのはその後。
リペアブーストポジションが利確した際は、損出しの損失額を回収しているので収入が大きくなっていることが確認できます。
含み損を大きく抱える前に損出しを行い、先に損失を確定させているので、初期証拠金(今回は30万円でのデータ)以上のDDを抱えることも起こっていませんね。
以上の結果から私なりのクラフター運用は3パターンのモードで自分の運用をしていけば良いと思います
①堅実モード
戦略計画シートの金額で地に足付いた本当の資産運用を行う。
(最終的にはこのモードにしたい)
②効率モード
戦略計画シートの必要資金より少ない資金でスタートし運用するが、危険となればすぐシート内の資金を入金できる余裕をもって稼働する。
③冒険モード
利回り重視でシート資金以下で運用。危険になっても入金する資金はないが、レンジ内で推移してくれれば利益だけでシートの資金まで目指せる。(リスクは高いのでおすすめはしません)
ちなみにこれとは別にコアレンジ側も稼働すると思うので、伸びしろはまだあるという。
・本サイトで提供する情報は教育や参考のためであり、特定の金融商品や投資手法の利益を保証するものではありません。
・サイト内の全情報は、あくまで一般的な情報提供を目的としており、特定の金融商品やサービスの購入、利用を推奨するものではありません。
・投資判断にあたっては、独立した専門家の意見を参考にすることをお勧めします。
・本ウェブサイトの情報は、投資助言、投資活動の推奨を目的としたものではありません。
・当ツールは日本居住の方を対象として、海外ブローカーへの勧誘を目的としておらず、新規で口座開設を行う方にはツールの提供を行っておりません。
・掲載されている情報を元に、運用の結果生じた損害の全部若しくは一部について、弊社は一切の責任及び負担を負わないものとします。
