MA ターニングポイント 長期・短期戦略

作者: リン・ハーンチャオチャン開催日:2024年1月17日 11:56:53
タグ:

img

概要

この戦略は,移動平均線のターニングポイントに基づいて,MA上向きターニングポイントでロングで,MA下向きターニングポイントでショートでトレンドを判断します.これは典型的なトレンドフォロー戦略です.

戦略原則

ストラテジーは,ストラテジーの分析のための価格として閉じる価格を得るために価格=セキュリティ (tickerid, period, close) を使用し,最初の平均線価格を得るためにma1長さの入力選択に基づいて SMAまたはEMAを計算します. roc1は,価格の1日間の変化率として定義されます. 値トレンドStrength1によって,平均線が有意な上昇または下落を判断します. roc1がトレンドStrength1を超えると, ma1upは平均線が上昇していることを示す,真実として定義されます. roc1がマイナストレンド以下であるとき, ma1downは平均線が落ちていることを示す,真実として定義されます. 平均線が上昇し,前日下がっていたときに長い信号が発行されます. 平均線が落ち,前日上昇していたときにショート信号が発行されます.

このように,戦略は,動向平均線のターニングポイントを利用して,株価の傾向変化を把握します.これは典型的なトレンドフォロー戦略に属します.

利点分析

この戦略の最大の利点は,トレンドを判断するために移動平均線のターニングポイントを利用することである.これは定量取引における比較的成熟した信頼性の高い技術分析方法である.具体的な利点は以下のとおりである.

  1. 移動平均値は,価格を平滑させ,傾向の逆転をより信頼的に識別するために一部のノイズをフィルターすることができます.

  2. 逆転の強度を決定するために変化率指標を組み合わせて偽のブレイクアウトを回避する.この戦略は,ターニングポイントを検出するだけでなく,変化率グラデントの値を設定し,移動平均値上の偽のブレイクアウトによって引き起こされる不必要な取引を回避することができます.

  3. 簡単なバックテスト最適化のためのシンプルなパラメータ設定.この戦略には,移動平均値とユーザーに理解しマスターすることが簡単なパラメータがいくつかあります.

リスク分析

この戦略の主なリスクは,

  1. トレンドフォロワーストラテジーは,上下を予測できない.この戦略は,トレンドフォロワーストラテジーは,トレンドのみをフォローすることができ,市場の上下を予測することができず,即時の逆転の機会を簡単に逃す.

  2. 移動平均の遅延問題 移動平均は価格変動を反映する一定の遅延があり,傾向逆転を特定するタイミングに影響を与える可能性があります.

  3. 前もって不適切なパラメータ最適化は結果に直接影響します.この戦略のパラメータ設定は,平均線の期間数や変化率グラデントの値のようなもので,戦略の利益,引き上げなどに直接影響し,慎重にテストおよび最適化する必要があります.

対応する解は次のとおりです.

  1. 他の指標を適切に組み合わせて 大きく上昇する波及を予測します

  2. テスト EMA と SMA の代わりに他の速い移動平均値.

  3. 最適なパラメータ設定を見つけるために複数最適化することが推奨されます.

オプティマイゼーションの方向性

この戦略は,次の方向でさらに最適化できます.

  1. 2番目の移動平均線を追加して金十字と死十字戦略を形成します.これはトレンドとフィルターノイズを決定するために二重移動平均間の関係を利用します.

  2. 移動平均のターニングポイントでのボリュームの変化を観察することで,ターニングポイントの信頼性をさらに確認できます.

  3. RSI や MACD などの他の技術指標の支援作用をテストする.これらの指標は,トレンドを決定し,移動平均のターニングポイントを組み合わせる戦略を形成するのに役立ちます.

  4. 複数の市場条件パラメータの最適化とスクリーニング. ブール市場,ベア市場,レンジバインド市場条件の下の組み合わせのためのパラメータ設定を別々にテストし最適化します.

  5. 機械学習方法を用いて,異なる市場環境におけるパラメータを動的に最適化し,動的な最適化のためにパラメータの安定性を評価します.

結論

概要すると,これは比較的成熟したトレンドフォロー戦略であり,いくつかの実用的な価値があります. 戦略のアイデアは単純で明確で,調整可能なパラメータがほとんどなく,理解しテストするのが簡単です. 同時に,トレンドフォローレイグなどの問題もあります. 他の指標と組み合わせ,状況に合わせてテストし最適化するか,戦略の安定性と実用的な効果をさらに高めるために動的パラメータ調整のメカニズムを導入することをお勧めします.


/*backtest
start: 2023-01-10 00:00:00
end: 2024-01-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MA Turning Point Strategy", overlay=true)
src = input(close, title="Source")

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(25, title="1st MA Length")
type1 = input("SMA", "1st MA Type", options=["SMA", "EMA"])

price1 = if (type1 == "SMA")
    sma(price, ma1)
else
    ema(price, ma1)

plot(series=price1, style=line,  title="1st MA", color=blue, linewidth=2, transp=0)

lookback1 = input(1, "Lookback 1")
roc1 = roc(price1, lookback1)

ma1up = false
ma1down = false
ma2up = false
ma2down = false

ma1up := nz(ma1up[1])
ma1down := nz(ma1down[1])
ma2up := nz(ma2up[1])
ma2down := nz(ma2down[1])

trendStrength1 = input(2.5, title="Minimum slope magnitude * 100", type=float) * 0.01

if crossover(roc1, trendStrength1)
    ma1up := true
    ma1down := false
    
if crossunder(roc1, -trendStrength1) 
    ma1up := false
    ma1down := true

longCondition = ma1up and ma1down[1]
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = ma1down and ma1up[1]
if (shortCondition)
    strategy.entry("Short", strategy.short)



もっと