こんにちは!Tぼーいです。
前回記事の特典では「自作サインツール(インジケーター形式)」でサインの出方やロジックの透明性を体験していただきました。
今回はさらに一歩進んで、EA(エキスパートアドバイザー)形式で「自動バックテスト」を体験できるサンプルを公開します。
これにより、MT4のストラテジーテスターで“取引回数・勝率”が自動集計されるので、
こちらをベースに「自作ロジックの本当のパフォーマンス」を誰でも手軽に数字で確認できます。
1. サンプルEAコード
//+------------------------------------------------------------------+
//| 簡易バックテストサンプルEAコード.mq4 |
//| Copyright 2025, Tぼーい |
//+------------------------------------------------------------------+
#property copyright "Copyright 2025, Tぼーい"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| バイナリーオプション用・移動平均クロスEA(詳細コメント付き) |
//+------------------------------------------------------------------+
// --- パラメータ設定(ユーザーが自由に変更可能) ---
input int FastMAPeriod = 5; // 短期移動平均線の期間
input int SlowMAPeriod = 20; // 長期移動平均線の期間
input double Payout = 1.85; // ペイアウト率(参考値、損益計算には未使用)
// --- 集計用変数 ---
double totalWins = 0; // 勝ち回数
double totalLosses = 0; // 負け回数
//+------------------------------------------------------------------+
//| EAの初期化処理(最初に一度だけ実行される) |
//+------------------------------------------------------------------+
int OnInit() {
// 初期化成功時は0を返す
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| EAの終了時処理(バックテスト終了時に実行される) |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
int total = (int)(totalWins + totalLosses); // 総トレード数(明示的キャストでワーニング回避)
if (total > 0) {
double winrate = (totalWins / total) * 100.0;
Print("総トレード数: ", total,
" 勝ち: ", totalWins,
" 負け: ", totalLosses,
" 勝率: ", DoubleToString(winrate,2), "%");
}
}
//+------------------------------------------------------------------+
//| 毎足(新しいバーができたとき)に実行されるメイン処理 |
//+------------------------------------------------------------------+
void OnTick() {
// --- 同じバーで複数回処理しないための工夫 ---
static datetime lastBarTime = 0;
if (Time[0] == lastBarTime) return; // 既に処理済みなら何もしない
lastBarTime = Time[0];
// --- 前足と現在足の移動平均値を取得 ---
double fastMA_prev = iMA(NULL,0,FastMAPeriod,0,MODE_SMA,PRICE_CLOSE,1); // 前足の短期MA
double slowMA_prev = iMA(NULL,0,SlowMAPeriod,0,MODE_SMA,PRICE_CLOSE,1); // 前足の長期MA
double fastMA = iMA(NULL,0,FastMAPeriod,0,MODE_SMA,PRICE_CLOSE,0); // 現在足の短期MA
double slowMA = iMA(NULL,0,SlowMAPeriod,0,MODE_SMA,PRICE_CLOSE,0); // 現在足の長期MA
// --- ゴールデンクロス:短期MAが長期MAを下から上へクロスした瞬間 ---
if (fastMA_prev < slowMA_prev && fastMA > slowMA) {
// コールエントリー(上昇予想):次の足で判定
// シグナル足の終値 < 次足の終値なら勝ち
bool win = Close[1] < Close[0];
if (win) totalWins++;
else totalLosses++;
}
// --- デッドクロス:短期MAが長期MAを上から下へクロスした瞬間 ---
if (fastMA_prev > slowMA_prev && fastMA < slowMA) {
// プットエントリー(下降予想):次の足で判定
// シグナル足の終値 > 次足の終値なら勝ち
bool win = Close[1] > Close[0];
if (win) totalWins++;
else totalLosses++;
}
}
※軽量で最低限の機能のみを搭載したものになります。
実際の講義で扱うものの10%の内容になります。
2. 体験手順
①EAコードを「MetaEditor」で新規作成し、MT4の「Experts」フォルダに保存。
②「ストラテジーテスター」でこのEAを選択。
③通貨ペア・期間・パラメータを設定し、バックテストを実行。
④テスト終了後、「エキスパート」タブに勝率やトレード履歴が自動集計されて表示される。
※「勝率やサイン回数の自動集計」はEA形式だからこそ可能です。
インジケーター形式(PLC2特典)との違いをぜひ体感してください。
3. 結果の読み方・最適化のヒント
今回体験した「移動平均クロスだけ」の単純ロジックでは、ペイアウト率1.85倍で損益分岐点(約54%)を安定して超えるのは正直かなり難しいのが現実です。
実際、僕自身もこのシンプルなロジックだけで“勝ち続ける”ことはできませんでした。
なぜ単純ロジックでは勝てないのか?
どうすれば「利益が出る仕組み」に進化できるのか?
本講義では、
●「複数ロジックの組み合わせ」
●「パラメータの最適化」
●「相場環境ごとの条件分岐」
●「リペイント対策や検証サイクルの徹底」
など、“本当に勝率を上げるための具体的な工夫”を体系的に解説します。
「数字で納得できるバイナリートレード」を実現するには、
“自作ロジックを進化させる技術”が不可欠です。
「単純な移動平均クロスで勝てない理由」や「利益が出る仕組みの作り方」を、ぜひ本講義で一緒に学びましょう!
4.料金・費用対効果・限定特典
最後に改めてプログラミング講義の価格についてお知らせします!
ローンチ特価:136,000円(通常170,000円→20%OFF/8月31日23:59まで)
※本講義の実践には、高精度バックテスト用ツール(16,500円程度)が別途必要です。
ROIシミュレーション例
今だけの限定特典
●12ヶ月間の追加動画無償アップデート
●6ヶ月間の質問・コード添削サポート
●サポート期間終了後の継続学習プランもご用意
申込締切:8月31日23:59まで/9月以降は198,000円に改定予定
5.最後に――「数字で納得」できるトレードをあなた自身の手で
ここまで読んでいただきありがとうございます。
「勝てる仕組み」を自分で作り、根拠あるトレードができるようになる――
それは、誰かのツールに頼るのではなく、「自分で検証し、納得して選択できる力」を持つことです。
このEA体験は、その“最初の一歩”にすぎません。
本講義では、あなたが本当に「数字で納得」できるバイナリートレードを実現できるよう、全力でサポートします。
今こそ、「自分で選び、検証し、勝てる仕組みを作る」側に回りませんか?