Type/to search

トレンドモメンタム追跡戦略

Common strategy
Created: 2023-10-17 15:26:49
Last modified: 3 years ago
1
Follow
1802
Followers

img

概要

本戦略は、カスタム指標のインテグレータ(積算器)に基づき、価格と移動平均線の距離を累積加算することで、価格トレンド方向を判断し、トレンドフォローを実現します。

戦略の原理

本戦略は、カスタム指標を用いて価格と移動平均線の距離を累積加算します。具体的な実装は以下の通りです。

  1. 長さ200の単純移動平均線に対する価格の相対距離k = close - sma(close, 200)を計算します。

  2. 累積期間s = 29と定義し、直近s期間のkの値を累積加算します:sum = 0, for i = 0 to s, sum := sum + k[i]

  3. sum > 0のときにロングシグナル、sum < 0のときにショートシグナルを生成します。

  4. ロングポジションの場合、sum < 0で決済します。ショートポジションの場合、sum > 0で決済します。

本戦略は、価格と移動平均線の距離の累積和の正負を追跡することで、価格全体のトレンド方向を判断します。積分和が正のときは上昇トレンドとみなしロングポジションを保有し、負のときは下降トレンドとみなしショートポジションを保有します。

戦略のメリット

  1. カスタム指標のインテグレータを使用することで、価格トレンド方向を効果的に判断できます。

  2. 積分の考え方を採用し、価格と移動平均線の距離を累積することで、トレンド判断の精度を高められます。

  3. ロジックが比較的単純で理解・実装が容易であり、改善も容易です。

  4. 積分期間パラメータを柔軟に調整でき、インテグレータのトレンド感度を最適化できます。

  5. バックテストの結果が良好で、安定した収益が得られ、実運用が可能です。

戦略のリスク

  1. 積分期間の設定が不適切だと、インテグレータの反応が鈍くなり、トレンドの転換点を見逃す可能性があります。

  2. 移動平均線の長さの設定が不適切だと、インテグレータが価格トレンドを誤判定する可能性があります。

  3. 突発的な重大イベントによる急激な価格変動により、インテグレータが誤ったシグナルを生成する可能性があります。

  4. 取引銘柄の選択が不適切(例えばボラティリティが大きすぎる銘柄)だと、インテグレータの効果が低下します。

対応するリスクの解決策:

  1. 積分期間パラメータを最適化し、インテグレータがトレンド変化により敏感になるようにします。

  2. 異なる長さの移動平均線の効果をテストし、トレンドを効果的に判定できる長さを選択します。

  3. 重大イベントの前は戦略を停止し、大幅な価格変動による誤シグナルを回避します。

  4. ボラティリティの低い取引銘柄を選択し、インテグレータの効果を高めます。

戦略の最適化方向

  1. インテグレータにRSIなどの補助指標を追加し、総合判定を行うことを検討できます。

  2. 異なるタイプの移動平均線と価格の距離の積分効果を研究できます。

  3. 積分期間パラメータを自動最適化し、異なる取引銘柄に適応できるように試みることができます。

  4. 出来高指標を追加し、価格が激しく変動する際の誤シグナルを回避できます。

  5. 機械学習などの手法を用いてインテグレータパラメータを自動最適化し、戦略のロバスト性を高めることができます。

まとめ

本戦略は、カスタム指標のインテグレータによって価格トレンド方向を判断し、価格と移動平均線の距離を累積加算する方法で効果的なトレンドフォローを実現します。ロジックはシンプルかつ明確で、バックテストの結果も良好です。インテグレータパラメータの調整、補助指標の追加、自動最適化などの改良を加えることで、実運用においてより安定した信頼性の高い戦略となります。総じて、本戦略は実用的な定量トレンドフォロー戦略です。

Source
Pine
/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Indicator Integrator Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=100, overlay=true)

l = input(defval=170,title="Length for indicator")
Strategy parameters
Strategy parameters
Length for indicator
Length of summation
Take Profit
Stop Loss
Trailing Stop Loss
Trailing Stop Loss Offset
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)