쌍평평선 추적 전략은 쌍평선을 사용하여 가격 추세를 판단하는 추적 전략이다. 이 전략은 두 개의 다른 주기의 평선을 사용하여 추세 방향을 판단하고, 다중 하위 신호를 발산한다. 단기 주기 및 장기 주기 평균선이 같은 방향으로 있을 때, 트렌드가 확인된 것을 의미하며, 진입을 선택할 수 있다.
이 전략은 두 개의 평균선을 사용하여 가격 추세를 판단한다. 구체적인 원칙은 다음과 같다:
짧은 주기 p1과 긴 주기 p2의 중선 mid와 mid_2을 계산한다.
값이 중간선보다 높거나 낮다는 것을 판단하여 상승과 하락의 bool값을 얻습니다.
SMA를 통해 상승과 하락의 bool 값을 평평하게 하여, 단기 p1과 장기 p2 사이클의 트렌드 방향 trend와 trend_2를 판단한다.
트렌드와 트렌드_2가 동방향일 때, 더하거나 더 적은 신호를 발산한다.
다른 색의 기둥 모양으로 채워진 그래프는 트렌드 방향을 나타냅니다.
입시 시기는 단기 및 장기 주기 경향 방향이 일치할 때.
위는 쌍평균선 추적 전략의 핵심 논리를 구성한다. 쌍평균선 판단을 통해 일부 가짜 브레이크를 효과적으로 필터링 할 수 있다. 단기주기와 장기주기 트렌드 방향이 일치할 때, 가격 트렌드가 매우 명확하게 표시되며, 이때 입시 거래의 위험이 낮다.
이중 평선 추적 전략의 주요 장점은 다음과 같습니다.
이중 평형 판단을 사용하여 가짜 돌파구를 필터링하여 진출 시기를 더 안정적으로 만들 수 있습니다.
다른 주기적 평균선을 사용하여, 여러 시간 프레임의 추세를 판단할 수 있으며, 거래 신호를 더 정확하게 만듭니다.
단기 주기 및 장기 주기 평균선과 결합하여, 큰 트렌드를 파악하는 동시에, 일부 단기 선 회귀 기회를 잡을 수 있습니다.
전략 논리는 간단하고 명확하며, 이해하기 쉽고 구현하기 쉽고, 다양한 수준의 거래자가 사용할 수 있습니다.
맞춤형 평균선 주기, 시장에 따라 조정할 수 있는 매개 변수, 다른 품종과 거래 유형에 적합하다.
기둥 모양의 그래프로 트렌드 방향을 시각화하여 보다 직관적인 거래 힌트를 제공합니다.
이중 일률적 추적 전략에는 몇 가지 위험도 있습니다.
평균선 주기 설정이 맞지 않는 경우, 여러 번 포지션을 조정하여 거래 주파수와 슬라이드 포인트 비용을 증가시킬 수 있습니다. 주기 파라미터를 적절히 조정하거나 포지션 개설 필터링 조건을 추가 할 수 있습니다.
시장이 흔들리는 시기에 평행선이 교차하면 잘못된 신호가 발생한다. 다른 지표로 필터링하거나 포지션 관리 규칙을 추가할 수 있다.
돌파 짧은 라인 회귀는 놓칠 수 있다. 평균 라인 주기를 적절히 단축하거나, 다른 전략을 사용하여 짧은 라인 기회를 잡을 수 있다.
큰 트렌드가 돌출될 때, 잘못된 중지 설정은 더 큰 손실을 초래할 수 있다. 적절한 시간에 중지 위치를 조정하여 중지 포인트 아래에 지원이 있는지 확인한다.
이 전략은 기본적 요소를 고려하지 않고, 단지 기술적으로 추세를 판단한다. 사용자는 자신의 연구와 함께 이 전략을 사용해야 한다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
거래량, 동력 지표 등과 같은 다른 지표 필터링을 추가하여 불안정 기간 동안 무효 거래를 피하십시오.
적응형 평선주기를 채택하여, 시장 변화에 따라 자동으로 매개 변수를 조정합니다.
포지션 관리 모듈을 추가하여 트렌드 강도와 같은 규칙을 통해 특정 포지션 증가율을 안내합니다.
단독 손실을 제어하기 위해, 트레일링 스톱 또는 시간 스톱 모듈을 추가하십시오.
기계학습과 같은 기술을 고려하여 트렌드 정확도를 판단하고 진출 논리를 동적으로 조정하는 훈련을 통해
주요 사건과 같은 수익 발표와 같은 기본 요소를 포함하는 것을 고려하여 큰 규모의 상황을 피하십시오.
요약하자면, 쌍평선 추적 전략은 간단하고 실용적인 트렌드 판단 전략이다. 그것은 단기 및 장기 두 가지 시간 차원을 결합하여 트렌드를 식별하고, 진입 시기를 판단하는 데 매우 신뢰할 수 있으며, 대부분의 트렌드 추적 거래 거래자에게 적합하다. 물론, 이 전략에는 위험도 있습니다. 주의할 필요가 있으며, 사용자는 파라미터 최적화, 위험 제어 등에서 전략을 개선하여 실제 상황에 더 적합하게 만들 수 있습니다.
/*backtest
start: 2022-10-01 00:00:00
end: 2023-10-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// My Tradingview Scripts : https://bit.ly/2HKtr7k
strategy("UniDir Strategy", overlay=true, initial_capital=50000, default_qty_value=50000, default_qty_type=strategy.cash, slippage=3, commission_type=strategy.commission.percent, commission_value=0.075, pyramiding=0)
p1=input(14)
p2=input(21)
Price = close
mid = (highest(high, p1)+lowest(low, p1)) / 2
mid_2 = (highest(high, p2)+lowest(low, p2)) / 2
//Trend
up = Price > mid ? 1 : 0
up_2 = Price > mid_2 ? 1 : 0
down = Price < mid ? 1 : 0
down_2 = Price < mid_2 ? 1 : 0
trend = sma(up, 2) == 1 ? 1 : sma(down, 2) == 1 ? -1 : nz(trend[1])
trend_2 = sma(up_2, 2) == 1 ? 1 : sma(down_2, 2) == 1 ? -1 : nz(trend_2[1])
dir1=trend==1 ? lime : red
dir2=trend_2==1 ? lime : red
dir_all=trend==1 and trend_2==1 ? lime : red
top_p=plot(1)
hi_p=plot(0.4)
mid_p=plot(0.2)
lo_p=plot(0)
fill(hi_p,mid_p,color=dir1,transp=80)
fill(lo_p,mid_p,color=dir2,transp=80)
fill(top_p,hi_p,color=dir_all,transp=0)
// Entry
long_cond = trend==1 and trend_2==1
short_cond = trend==-1 and trend_2==-1
if long_cond
strategy.entry("Long",strategy.long)
if short_cond
strategy.entry("Short",strategy.short)