バックテスト基礎

MQL5の `CopyTicks` 関数を使って、インジケーターに頼らずローソク足のプライスアクションを分析する

移動平均線やRSIなどのインジケーターは、すべて「過去の価格データ」を平滑化した計算結果であるため、相場の急変に対して必ず「遅れ(ラグ)」が生じます。 このラグを排除し、「今この瞬間の買い圧力と売り圧力のどちらが強いか(プライスアクション・オーダーフロー)」を直接分析するには、MQL5の CopyTicks() 関数を用いて、ミリ秒単位の生のティック(Ask

Read this for この数字を、運用できるかの判断材料にする。

PF、勝率、最大DD、取引回数は単独では判断しません。期間、条件、崩れ方とセットで読みます。

Category バックテスト基礎

tick data / backtest

MQL5の CopyTicks 関数を使って、インジケーターに頼らずローソク足のプライスアクションを分析する

結論

移動平均線やRSIなどのインジケーターは、すべて「過去の価格データ」を平滑化した計算結果であるため、相場の急変に対して必ず「遅れ(ラグ)」が生じます。 このラグを排除し、「今この瞬間の買い圧力と売り圧力のどちらが強いか(プライスアクション・オーダーフロー)」を直接分析するには、MQL5の CopyTicks() 関数を用いて、ミリ秒単位の生のティック(Ask/Bid)の変動速度や方向をEA内部で配列として取得し、独自の計算を回す必要があります。これはHFT(高頻度取引)やスキャルピングEAの根幹となる技術です。

なぜEA運用で重要か

例えば、雇用統計などの重要な指標発表時、チャートのローソク足が形成される前に、ティックは数秒間に数百回も上下に暴れます。 インジケーターベースのEAは「1分足が確定してから」や「移動平均線がクロスしてから」しか判断できないため、エントリーした頃には既に相場の波は終わっています。しかし、CopyTicks で生のデータを監視しているEAなら、「過去1秒間のティックの80%が上昇(Bidの更新)だった」という事実を検知し、インジケーターが反応するよりはるか前に「買い」の判断を下すことができます。

仕組み・条件

CopyTicks() の基本的な使い方とデータ構造:

MqlTick tick_array[]; // ティックデータを格納する構造体配列

// 最新のティックを100件取得
int copied = CopyTicks(_Symbol, tick_array, COPY_TICKS_ALL, 0, 100);

if(copied > 0)
{
    // 最新のティック(tick_array[copied-1])と過去のティックを比較
    double latest_bid = tick_array[copied-1].bid;
    double old_bid    = tick_array[0].bid;
    
    // 短時間(100ティック間)の急激な価格変動(モメンタム)を計算
    double price_change = latest_bid - old_bid;
    
    // 分析ロジックへ...
}

このように、MqlTick 構造体には time_msc(ミリ秒タイムスタンプ)、bidaskvolume などの生情報が詰まっており、これを自由に加工できます。

バックテストやリアル運用で壊れるポイント

どう確認するか

ティックベースのEAをテストする際は、MT5のストラテジーテスターでモデルを必ず**「すべてのティック」ではなく「すべてのティック(リアルティックに基づく)」**に設定してください。 通常の「すべてのティック」は、1分足データからMT5が適当に生成した「偽物のティック(擬似ティック)」であるため、モメンタム分析のテスト結果が全くアテになりません。

自分の検証スタンス

私はインジケーターの遅れを嫌うため、スキャルピングEAの開発ではこの CopyTicks を重宝しています。 ただ、純粋な価格変動だけでなく、「AskとBidの差(スプレッド)が、この100ティックの間にどう変動したか」という『業者の裏側の動き(流動性の枯渇サイン)』を監視するフィルターとして使うことが多いです。インジケーターが相場の「形」を見るものだとすれば、ティック分析は相場の「心電図」を見るようなものです。

関連して読む

Backtest reading この数字を、運用できるかの判断材料にする。

PF、勝率、最大DD、取引回数は単独では判断しません。期間、条件、崩れ方とセットで読みます。

参照した公式情報

免責

本記事は個人の検証メモであり、投資助言ではありません。バックテスト結果は将来の成績を保証しません。海外FXや自動売買には、法規制・レバレッジ・スプレッド拡大・約定遅延・スリッページなどのリスクがあります。条件は変わるため、最新情報は各公式ページで確認してください。