
이 글은 간단한 이동 평균을 기반으로 한 트렌드 추적 전략을 자세히 분석합니다. 이 전략은 여러 시간 프레임의 평행선 조합을 사용하여 거래 신호를 생성합니다.
이 전략은 동시에 21일, 50일, 100일, 200일 간단한 이동 평균을 사용한다. 가격이 이 평균선을 돌파할 때 구매 및 판매 신호를 발생시킨다. 또한, 전략은 Donchian 채널을 이용해서 가격이 20일과 55일에서 가장 높은 가격이나 가장 낮은 가격을 돌파할 때 보충 거래 신호를 발생시킨다. 이 전략은 트렌드가 더 뚜렷한 시장에 적합하며, 여러 시간 프레임으로 트렌드를 고정하여 수익을 창출한다.
핵심 원칙은 여러 평행 시간 프레임을 사용하여 트렌드 방향을 판단하는 것입니다. 구체적으로, 전략은 4 개의 다른 시간 길이의 간단한 이동 평균을 사용합니다: 21 일, 50 일, 100 일 및 200 일. 이러한 평행선의 시간 범위는 단기에서 장기까지 확대되어 다양한 수준의 트렌드를 식별합니다.
단기평균선 상에서 장기평균선을 통과할 때 구매 신호가 발생한다. 이는 시장 추세가 전환되어 상향 통로로 들어갈 수 있음을 나타냅니다. 단기평균선 아래에서 장기평균선을 통과할 때 판매 신호가 발생한다. 이것은 시장 추세가 역전되기 시작하여 하향 통로로 들어갈 수 있음을 나타냅니다.
또한, 전략은 Donchian 통로를 사용하여 거래 신호를 보충한다. 즉, 가격이 20일 또는 55일 최고/최저 가격을 돌파했을 때, 구매/판매 신호를 유발하여 트렌드 수익을 고정한다.
종합적으로, 이 전략은 평행선 이론과 Donchian channel을 결합하여, 다중 시간 프레임으로 트렌드 방향을 판단하며, 전형적인 트렌드 추적 전략에 속한다.
위험을 해결하기 위한 해결책:
이 글은 다중 시간 프레임 이동 평균과 Donchian 통로에 기반한 간단한 트렌드 추적 전략을 상세히 분석한다. 이 전략은 다양한 길이의 평균 선의 조합을 사용하여 트렌드 방향을 판단한다. 원칙은 간단하고 명확하며 쉽게 구현된다. 동시에, 전략의 장점, 가능한 위험 및 후속 최적화 아이디어도 분석된다.
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Trend Following", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 10)
maxIdLossPcnt = input(1, "Max Intraday Loss(%)", type=float)
entryLong = false
entryShort = false
// strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)
if (close > highest(high[1], 20))
strategy.entry("Long fast", strategy.long)
entryLong = true
if (close < lowest(low[1], 20))
strategy.entry("Short fast", strategy.short)
entryShort = true
if (close > highest(high[1], 55))
strategy.entry("Long slow", strategy.long)
entryLong = true
if (close < lowest(low[1], 55))
strategy.entry("Short slow", strategy.short)
entryShort = true
len1 = input(21, minval=1, title="21 SMA")
src1 = input(close, title="21 SMA")
out1 = sma(src1, len1)
plot(out1, title="21 SMA", color= white)
len2 = input(50, minval=1, title="50 SMA")
src2 = input(close, title="50 SMA")
out2 = sma(src2, len2)
plot(out2, title="50 SMA", color= blue)
len3 = input(100, minval=1, title="100 SMA")
src3 = input(close, title="100 SMA")
out3 = sma(src3, len3)
plot(out3, title="100 SMA", color= orange)
len4 = input(200, minval=1, title="200 SMA")
src4 = input(close, title="200 SMA")
out4 = sma(src4, len4)
plot(out4, title="200 SMA", color= green)