FXリアルトレード FX自動売買

FXテクニカル指標の検証結果まとめ|Pythonで設定・期間を徹底検証

本ページにはプロモーションが含まれています。

FXでは、SMAやEMA、RSI、MACDなど、さまざまなテクニカル指標が使われています。

ただし、一般的によく使われている設定だからといって、必ずしもすべての通貨ペアや相場で同じように機能するとは限りません。

そこで本ブログでは、Pythonを使って実際の過去データを検証し、テクニカル指標ごとにどの設定が良い結果になったのかを確認しています。

主に以下のようなポイントを検証しています。

  • テクニカル指標の期間や設定値を変えると結果はどう変わるのか
  • LONG・SHORTで成績に違いがあるのか
  • 通貨ペアによって有効な設定が変わるのか
  • 合計pipsやPF、取引回数などの成績はどうなるのか

本記事では、これまでに検証したテクニカル指標の結果をまとめています。

各項目では検証結果を簡単に紹介し、詳しい検証条件や通貨ペアごとの結果については、それぞれの個別記事で確認できるようにしています。

気になるテクニカル指標があれば、ぜひ詳細記事もあわせて確認してみてください。

1. SMA(単純移動平均線)の検証結果

SMAでは、USDJPY・EURJPY・GBPJPY・EURUSD・AUDUSDの5通貨を対象に、短期SMA10種類×長期SMA10種類の100通りをLONG・SHORTそれぞれで検証しました。

短期SMAは5〜50、長期SMAは60〜500の範囲で組み合わせ、合計pipsだけでなく、PF・最大DD・直近6か月の成績・周辺設定の安定性なども含めて評価しています。

各通貨・売買方向で最も評価が高かった設定は以下のとおりです。

通貨方向短期SMA長期SMAPF
USDJPYLONG351001.3274
USDJPYSHORT30601.1305
EURJPYLONG45601.1046
GBPJPYLONG45601.2168
AUDUSDLONG25601.0626

※EURJPY SHORT・GBPJPY SHORT・EURUSD LONG・EURUSD SHORT・AUDUSD SHORTは、今回設定した基準を満たす設定がありませんでした。

検証結果を見ると、すべての通貨・売買方向で共通して使えるSMA設定はありませんでした。

一方で、LONGでは長期SMA60付近が上位に入るケースが多く、EURJPYでは短期SMA45・長期SMA60、GBPJPYでも短期SMA45・長期SMA60が最も高い評価となりました。

特にUSDJPY LONGでは、短期SMA35・長期SMA100がPF1.3274となり、周辺設定でも比較的安定した成績が確認できました。

反対に、EURUSDではLONG・SHORTともに正式な候補がなく、同じSMAクロスでも通貨や売買方向によって結果が大きく異なることが分かりました。

各通貨のTOP設定や合計pips・最大DD・直近6か月の成績を含めた詳しい検証結果は、以下の記事で紹介しています。

2. EMA(指数平滑移動平均線)の検証結果

EMAでは、USDJPY・EURJPY・GBPJPY・EURUSD・AUDUSDの5通貨を対象に、短期EMA10種類×長期EMA10種類の100通りをLONG・SHORTそれぞれで検証しました。

短期EMAは5〜50、長期EMAは60〜500の範囲で組み合わせ、合計pipsだけでなく、PF・最大DD・直近6か月の成績・周辺設定の安定性なども含めて評価しています。

各通貨・売買方向で最も評価が高かった設定は以下のとおりです。

通貨方向短期EMA長期EMAPF
USDJPYLONG45751.3731
GBPJPYLONG52001.1381

※USDJPY SHORT・EURJPY LONG/SHORT・GBPJPY SHORT・EURUSD LONG/SHORT・AUDUSD LONG/SHORTは、今回設定した基準を満たす設定がありませんでした。

検証結果を見ると、正式な候補が見つかったのはUSDJPY LONGとGBPJPY LONGのみでした。

特にUSDJPY LONGでは、100設定中89設定が足切り条件を通過し、最も評価が高かった短期EMA45・長期EMA75は、全期間で+2,756.9pips、PF1.3731となりました。

GBPJPY LONGでは、短期EMA5・長期EMA200が最も高い評価となり、PF1.1381、利益÷最大DDは1.959でした。

一方で、GBPJPYは足切り条件を通過した設定が7つのみで、USDJPYほど広い範囲で安定した結果にはなっていません。

また、EURUSDでは全期間と直近6か月でLONG・SHORTの傾向が変わる結果も確認できました。

このことから、EMAについてもすべての通貨に共通する最適な期間があるわけではなく、通貨・売買方向ごとに期間設定を検証することが重要だと考えられます。

各通貨のTOP設定や合計pips・最大DD・直近6か月の成績を含めた詳しい検証結果は、以下の記事で紹介しています。

3. RSI(相対力指数)の検証結果

RSIでは、USDJPY・EURJPY・GBPJPY・EURUSD・AUDUSDの5通貨を対象に、RSI期間6種類・RSI水準5種類・TP/SL5種類を組み合わせ、LONG・SHORTそれぞれで検証しました。

合計では1,500ケースを比較し、合計pipsだけでなく、PF・最大DD・平均損益・取引回数なども含めて評価しています。

各通貨・売買方向で最も評価が高かった設定は以下のとおりです。

通貨方向RSI期間水準TP/SLPF
USDJPYLONG2860/40100/101.4252
EURJPYLONG2160/40100/301.3155
GBPJPYLONG2860/40150/301.3774
EURUSDLONG580/20150/301.1753
AUDUSDLONG2865/35100/101.2829
AUDUSDSHORT980/20100/101.3235

※USDJPY・EURJPY・GBPJPY・EURUSDのSHORTは、今回設定した基準を満たす設定がありませんでした。

検証結果を見ると、一般的によく使われるRSI14・70/30がすべての通貨で最も良い結果になるわけではありませんでした。

USDJPY・EURJPY・GBPJPYのLONGでは、RSI21や28といった比較的長めの期間が上位となり、RSI水準についても60/40が複数の通貨で1位となっています。

一方、EURUSD LONGではRSI5・80/20、AUDUSD LONGではRSI28・65/35が最も高い評価となり、通貨によって適した期間や水準に違いが見られました。

また、今回の検証ではLONGの方が有力な設定が多い結果となっています。LONGでは5通貨すべてで候補が見つかりましたが、SHORTではAUDUSDの2設定のみが基準を満たしました。

このことから、RSIは期間や70/30などの水準だけで決めるのではなく、通貨・売買方向・TP/SLまで含めて検証することが重要だと考えられます。

各通貨のTOP設定や合計pips・最大DD・取引回数を含めた詳しい検証結果は、以下の記事で紹介しています。

4. MACD(移動平均収束拡散法)の検証結果

MACDでは、USDJPY・EURJPY・GBPJPY・EURUSD・AUDUSDの5通貨を対象に、31種類のMACD設定と10種類のTP・SLをLONG・SHORTそれぞれで検証しました。

合計では3,100ケースを比較し、合計pipsだけでなく、PF・最大DD・平均損益・取引回数なども含めて評価しています。

各通貨・売買方向で最も評価が高かった設定は以下のとおりです。

通貨方向短期EMA長期EMAシグナルTP/SLPF
USDJPYLONG82216150/101.4929
EURJPYLONG615980/101.3068
GBPJPYLONG6224100/201.2275
EURUSDLONG3203150/301.1952
EURUSDSHORT20306150/101.2035
AUDUSDLONG3153120/101.1759
AUDUSDSHORT162012180/101.1596

※USDJPY・EURJPY・GBPJPYのSHORTは、今回設定した基準を満たす設定がありませんでした。

検証結果を見ると、一般的によく使われるMACD12・26・9が、すべての通貨で最も良い設定になるわけではありませんでした。

USDJPY LONGでは8・22・16、EURJPY LONGでは6・15・9、GBPJPY LONGでは6・22・4と、JPY系のLONGでは定番より短めのMACD期間が上位となっています。

一方、EURUSDやAUDUSDではLONGだけでなくSHORTにも候補が見つかり、売買方向によって成績が良いMACD設定が異なる結果となりました。

このことから、MACDは定番の12・26・9だけに固定するのではなく、通貨・売買方向・TP/SLまで含めて設定を検証することが重だと考えられます。

各通貨のTOP5や合計pips・最大DD・取引回数を含めた詳しい検証結果は、以下の記事で紹介しています。

5. ボリンジャーバンドの検証結果

ボリンジャーバンドでは、USDJPY・EURJPY・GBPJPY・EURUSD・AUDUSDの5通貨を対象に、期間11種類・σ5種類・TP/SL10種類をLONG・SHORTそれぞれで検証しました。

合計では5,500ケースを比較し、合計pipsだけでなく、PF・最大DD・平均損益・取引回数なども含めて評価しています。

各通貨・売買方向でPFが最も高かった設定は以下のとおりです。

通貨方向期間σTP/SLPF
USDJPYLONG213.050/101.5108
USDJPYSHORT152.030/101.0652
EURJPYLONG153.080/201.4054
EURJPYSHORT303.050/101.1047
GBPJPYLONG1003.050/201.5693
GBPJPYSHORT102.550/301.1815
EURUSDLONG153.030/201.3387
EURUSDSHORT213.050/101.4693
AUDUSDLONG1003.030/201.3438
AUDUSDSHORT203.050/301.3561

検証結果を見ると、一般的によく使われる期間20・±2σが、すべての通貨で最も良い設定になるわけではありませんでした。

特に目立ったのは、PF1位となった10設定のうち8設定が3σだった点です。

USDJPY・EURJPYのLONGや、GBPJPY・EURUSD・AUDUSDの一部では、2σよりも外側まで価格が動いたあとにバンド内へ戻る条件の方が良い結果となりました。

一方で、GBPJPY SHORTでは期間10・2.5σ、USDJPY SHORTでは期間15・2σが上位となっており、すべての通貨・売買方向で3σが有効というわけではありません。

今回最もPFが高かったのは、GBPJPY LONGの期間100・3σ・TP50/SL20でPF1.5693でした。

このことから、ボリンジャーバンドは定番の期間20・2σだけに固定するのではなく、通貨・売買方向・期間・σ・TP/SLを組み合わせて検証することが重要だと考えられます。

各通貨のTOP5や合計pips・最大DD・取引回数を含めた詳しい検証結果は、以下の記事で紹介しています。

6. ADX(平均方向性指数)の検証結果

ADXでは、USDJPY・EURJPY・GBPJPY・EURUSD・AUDUSDの5通貨を対象に、ADX期間10種類・基準値10種類をLONG・SHORTそれぞれで検証しました。

1通貨・1方向につき100設定、合計では1,000ケースを比較し、合計pipsだけでなく、PF・最大DD・平均損益・取引回数なども含めて評価しています。

各通貨・売買方向でPFが最も高かった設定は以下のとおりです。

通貨方向ADX期間基準値PF
USDJPYLONG21151.2070
USDJPYSHORT28201.3768
EURJPYLONG35201.2931
EURJPYSHORT5501.1271
GBPJPYLONG5351.1518
GBPJPYSHORT21251.0635
EURUSDLONG5451.0707
EURUSDSHORT14301.3027
AUDUSDLONG7451.1364
AUDUSDSHORT35151.0516

検証結果を見ると、一般的によく使われるADX期間14・基準値20〜25が、すべての通貨で最も良い設定になるわけではありませんでした。

特に、通貨だけでなくLONG・SHORTによっても成績の良い期間・基準値が大きく異なっています。

たとえばUSDJPYでは、LONGが期間21・基準値15だったのに対し、SHORTでは期間28・基準値20が最も高いPFとなりました。

また、EURJPYではLONGが期間35・基準値20、SHORTが期間5・基準値50となっており、売買方向によって設定に大きな差があります。

今回最もPFが高かったのは、USDJPY SHORTのADX期間28・基準値20でPF1.3768でした。

一方、AUDUSD SHORTではPF1.0516と基準値に近い結果となっており、通貨によってADXの有効性にも差が見られました。

このことから、ADXは期間14・基準値20〜25だけに固定するのではなく、通貨・売買方向ごとに期間と基準値を分けて検証することが重要だと考えられます。

各通貨のTOP設定や合計pips・最大DD・取引回数を含めた詳しい検証結果は、以下の記事で紹介しています。

7. ATR(平均真の値幅)の検証結果

ATRでは、USDJPY・EURJPY・GBPJPY・EURUSD・AUDUSDの5通貨を対象に、ATR期間6種類・ATRフィルター3種類・TP/SL10種類をLONG・SHORTそれぞれで検証しました。

比較したのは合計2,400ケースで、合計pipsだけでなく、PF・最大DD・平均損益・取引回数なども含めて評価しています。

各通貨・売買方向でPFが最も高かった設定は以下のとおりです。

通貨方向ATR期間フィルターTP/SLPF
USDJPYLONG7高ボラ30%のみ100/501.5224
EURJPYLONG7高ボラ30%のみ80/201.5072
EURJPYSHORT14低ボラ50%除外50/101.2500
GBPJPYLONG20高ボラ30%のみ80/201.2394
GBPJPYSHORT28高ボラ30%のみ50/101.0756
EURUSDLONG20高ボラ30%のみ100/501.2000
EURUSDSHORT10高ボラ30%のみ100/501.1264
AUDUSDLONG7低ボラ30%除外50/101.1455
AUDUSDSHORT10高ボラ30%のみ50/101.5172

※USDJPY SHORTは、今回設定した基準を満たす設定がありませんでした。

検証結果を見ると、一般的によく使われるATR14が、すべての通貨で最も良い設定になるわけではありませんでした。

特に目立ったのは、「高ボラ30%のみ」のフィルターが多くの通貨・売買方向で上位となった点です。

USDJPY LONG・EURJPY LONG・GBPJPY LONG・EURUSD LONG/SHORT・AUDUSD SHORTでは、高ボラティリティの場面だけに絞った設定がPF1位となりました。

一方で、EURJPY SHORTでは「低ボラ50%除外」、AUDUSD LONGでは「低ボラ30%除外」が1位となっており、すべての通貨で高ボラ相場だけを狙えばよいわけではありません。

また、ATR期間も7・10・14・20・28と分かれており、ATR14だけに固定するよりも、通貨や売買方向ごとに期間とボラティリティ条件を調整することが重要だと考えられます。

今回特にPFが高かったのは、USDJPY LONGのATR7・高ボラ30%のみでPF1.5224、AUDUSD SHORTのATR10・高ボラ30%のみでPF1.5172でした。

各通貨のTOP5や合計pips・最大DD・TP/SLを含めた詳しい検証結果は、以下の記事で紹介しています。

検証したテクニカル指標を実際のFX取引で試すには

今回紹介したSMA・EMA・RSI・MACD・ボリンジャーバンド・ADX・ATRなどのテクニカル指標は、実際のFX取引でも利用できます

ただし、バックテストで成績が良かった設定でも、実際の取引で同じ結果になるとは限りません。

実際の相場では、スプレッドやスリッページ、相場環境の変化なども影響するため、まずは無理のない資金で試しながら確認することが重要です。

私が実際に利用している、または今後利用する予定のサービスは以下の2つです。

FXTF

引用:FXTF

FXTF は、私自身も口座を開設して実際に取引しています。

FXだけでなくノックアウトオプションなども利用でき、取引ツールとしてFXTF GXやMT4が用意されています。

今回検証したテクニカル指標を実際のチャートで確認したい方や、FX取引を始めてみたい方の選択肢の1つです。

私は実際にFXTFのノックアウトオプションも取引しており、口座開設から入金、実際の注文・決済までの流れを記事で紹介しています。

実際にFXTFを使ってみたい方は、以下から口座開設できます。

➡️ FXTFの口座開設はこちら(無料)

Fintokei

引用:リスクゼロで本格トレード!日本初プロップファーム【Fintokei】

【Fintokei】 は、自分の資金を直接使って通常のFX取引をするサービスとは異なり、一定の条件をクリアしながらトレードを行うプロップファームです。

私も今後、EAを使ってFintokeiへ挑戦する予定です。

今回紹介したテクニカル指標の検証結果も参考にしながら、売買ロジックやリスク管理を組み合わせたEAを作成し、実際のチャレンジで検証していく予定です。

そのため、通常のFX口座とは少し違った形で、自分のトレードルールやEAを試してみたい方には選択肢の1つとなります。

➡️ 【Fintokei】を詳しく見てみる

今後は、実際にFintokeiへ挑戦した結果についても別記事で紹介していきます。

なお、今回のバックテスト結果は将来の利益を保証するものではありません。

どちらを利用する場合でも、サービス内容や取引ルールを確認したうえで、自分に合った方法で利用してください。

まとめ

今回は、これまでPythonで検証してきたFXのテクニカル指標について、成績が良かった設定をまとめて紹介しました。

現在、主に以下の指標を検証しています。

  • SMA(移動平均線)
  • EMA(移動平均線)
  • RSI(買われすぎ・売られすぎ)
  • MACD(トレンド系指標)
  • ボリンジャーバンド
  • ADX(トレンドの強さ)
  • ATR(値動きの大きさ)

検証結果を見ると、一般的によく使われる定番設定が、すべての通貨や売買方向で最も良い結果になるわけではありませんでした。

また、同じテクニカル指標でも、通貨ペアやLONG・SHORTによって成績が大きく変わるケースも確認できています。

そのため、テクニカル指標を使う際は、定番設定をそのまま使うだけではなく、実際に使用する通貨や売買条件に合わせて検証することが重要です。

本記事では各指標の結果を簡単にまとめていますが、詳しい検証条件や通貨別の結果、Pythonスクリプトについては、それぞれの個別記事で紹介しています。

気になるテクニカル指標があれば、ぜひ各検証記事も参考にしてみてください。

今後も新しいテクニカル指標や設定を検証した際は、本記事へ順次追加していく予定です。

なお、今回紹介したバックテスト結果は、将来の利益を保証するものではありません。

実際の取引ではスプレッドやスリッページ、相場環境の変化なども影響するため、検証結果はあくまで設定を考える際の参考として活用してください。

-FXリアルトレード, FX自動売買