移動平均傾向追跡戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-29 11:46:15
タグ:

img

概要

これはトレンドベースの定量的な取引戦略です.主に異なる期間の3つの移動平均線を使用し,ATR指標と組み合わせて,市場のトレンドを追跡し,エントリーと終了のタイミングを決定するのに役立ちます.

原則

この戦略は9日 (短期),15日 (中期),24日 (長期) の3つの移動平均線を使用している.そのうちの9日線と15日線は,トレンド方向とエントリータイミングを決定するために使用され,24日線は,利益とストップロスを決定するために使用されている.同時に,戦略にはATR指標も組み込まれており,移動平均線を動的に調整し,市場の変動により良く適応する.

具体的には,短期移動平均線が中期移動平均線を超越し,閉店価格が短期移動平均線より高くなると,トレンドが出現し始めていることを示し,この時点でロングポジションを確立することができる.短期移動平均線が長期移動平均線を下回り,閉店価格が長期移動平均線を下回ると,トレンド逆転を意味し,既存のポジションはストップ損失のために閉鎖するか,ショートポジションを開始することができます.

さらに,この戦略は,トレンド方向を直感的に表示するためにバーの色も使用します. 短期線が中期線の上にある場合,バーは緑色,長期線の下にある場合,赤色です.

利点

  1. 異なる期間の3つの移動平均線を組み合わせることで,トレンド方向をより正確に判断できます.
  2. 移動平均線のATRベースの動的調整を適用すると,不安定な市場によりうまく適応できます
  3. 長期・短期ストップ・ロスト/収益メカニズムを設定することで リスクを効果的に管理できます
  4. バール色の視覚効果は,効果的なパターン信号を形成し,取引行動をより明確にする

リスク と 最適化

  1. 範囲限定市場では誤った信号を生む傾向がある
  2. パラメータの設定が正しくない場合 (例えば,期間のパラメータ) は,取引が過剰にされ,良いエントリー機会が逃れられる可能性があります.
  3. 音量,MACDなどなどの入力信号の他のフィルターを組み込むことを検討します.
  4. 最適なパラメータを見つけるために,異なるパラメータ組み合わせをテストすることができます

結論

一般的に,これは比較的堅牢なトレンドフォロー戦略である.リスク管理のためのストップ損失/利益取りメカニズムを設定しながら,中長期のトレンドを効果的に把握することができる.しかし,戦略はパラメータと市場状況に敏感であり,より多くの市場環境に適応するためにさらなる最適化が必要である.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun

//@version=4
strategy("Chaloke System Strategy",overlay=true)

P1=input(9,title="ShortTerm Period")
P2=input(15,title="MidTerm Period")
P3=input(24,title="LongTerm Period")
P4=input(5,title="Invesment Term")
P5=input(5,title="ATR Period")
Barcolor=input(true,title="Barcolor")

Sm=2*P5/10
ATRX=Sm*atr(P4)
S=ema(close,P1)-ATRX
M=ema(close,P2)-ATRX
Lg=ema(close,P3)-ATRX

Sht=iff(close==highest(close,3),S,ema(close[1],P1)-ATRX)
Mid=iff(close==highest(close,3),M,ema(close[1],P2)-ATRX)
Lng=iff(close==highest(close,3),Lg,ema(close[1],P3)-ATRX)

colors=iff(Sht>Mid and close > Sht ,color.green,iff(close < Lng or Sht<Lng,color.red,color.black))

plot(Sht,"Short",color=color.green,linewidth=2)
plot(Mid,"Middle",color=color.black,linewidth=2)
plot(Lng,"Long",color=color.red,linewidth=2)

barcolor(Barcolor ? colors :na)
   
long =  crossover(Sht,Mid) and close > Sht
short = crossunder(Sht,Lng) or close < Lng

if long
    strategy.entry("Long", strategy.long, comment="Long")
    
if short
    strategy.entry("Short", strategy.short, comment="Short")

alertcondition(long, title='Long', message='Chaloke System Alert Long')
alertcondition(short, title='Short', message='Chaloke System Alert Short')

もっと