파생상품 기반 트렌드 전략

저자:차오장, 날짜: 2023-12-11 16:28:20
태그:

img

전반적인 설명

이 전략은 트렌드를 설정하기 위해 서로 다른 기간의 이동 평균의 조합을 사용하고 가능한 반전을 예측하기 위해 유한차분 파생 근사법을 사용합니다. 덜 변동적인 통화 쌍의 시간 차트에서 가장 잘 작동합니다.

전략 논리

이 전략은 20~40~80주기 간단한 이동평균을 동시에 사용합니다. 종료 가격이 이 3개의 이동평균보다 높을 때, 그것은 상승세로 정의됩니다. 종료 가격이 이 3개의 이동평균보다 낮을 때, 그것은 하락세로 정의됩니다. 가장 낮은 가격이 이 3개의 이동평균보다 높거나 가장 높은 가격이 이 3개의 이동평균보다 낮을 때만 트렌드가 확인됩니다.

가능한 반전 지점을 예측하기 위해 전략은 40주기 간단한 이동 평균의 첫 번째 파생의 유한차 분모 추정을 사용합니다. 첫 번째 파생이 긍정적 인 경우 안정적인 상승 추세를 나타냅니다. 첫 번째 파생이 부정적인 경우 안정적인 하락 추세를 나타냅니다.

구체적인 거래 규칙은 다음과 같습니다.

  1. 빠른 선이 중간 선 위에 있고 중간 선이 느린 선 위에 있고 첫 번째 파생값이 0이 되면, 긴 선으로 이동합니다.

  2. 빠른 선이 중간 선 아래와 중간 선이 느린 선 아래에 있고 첫 번째 파생값이 <0일 때, 짧은 선으로 이동합니다.

  3. 첫 번째 파생물 <= 0이 되면 긴 포지션을 닫습니다.

  4. 첫 번째 파생상태 >= 0이 되면 짧은 포지션을 닫습니다.

이점 분석

이 전략의 장점은 다음과 같습니다.

  1. 트렌드를 결정하기 위해 여러 이동 평균을 사용하는 것은 트렌드 판단을 더 신뢰할 수 있게 합니다.

  2. 파생상품의 반전점을 예측하는 것은 신속한 스톱 로스 및 더 작은 드라운드를 가능하게 합니다.

  3. 논리는 간단하고 이해하기 쉽고 초보자도 쉽게 이해할 수 있습니다.

  4. 트렌드를 따라 반전하는 거래만 함정에 빠지지 않고 더 높은 승률을 가지고 있습니다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 이동평균 조합은 범위에 묶인 시장에서 잘못된 신호를 줄 수 있습니다.

  2. 파생제 반전 신호는 지연할 수 있고 손실을 완전히 피할 수 없습니다.

  3. 잘못된 스톱 로스 설정은 손실을 증가시킬 수 있습니다.

이러한 위험을 해결하기 위해 우리는 이동 평균의 매개 변수를 최적화하고, 스톱 로스를 조정하고, 다른 지표와 결합하여 전략을 개선할 수 있습니다.

최적화 방향

이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. 이동 평균 기간을 최적화하여 다른 시장 조건에 더 잘 맞출 수 있습니다.

  2. EMA와 같은 다른 종류의 이동 평균을 시도해보세요.

  3. 변동성 지표를 사용하여 동적 스톱을 설정합니다.

  4. 거짓 신호를 피하기 위해 확인을 위해 다른 지표를 결합하십시오.

결론

이 이동 평균 조합 트렌드 전략은 트렌드 방향을 결정하기 위해 여러 이동 평균과 변동을 예측하기 위해 파생산을 사용하며 위험을 효과적으로 제어 할 수 있으며 중장기 거래에 적합합니다. 전략은 간단하고 최적화하기가 쉽고, 초보자도 트렌드 다음 전략을 배우고 연습하는 데 이상적입니다. 추가 최적화는 더 나은 결과를 위해 매개 변수를 다른 제품에 더 적응시킬 수 있습니다.


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

//@version=3
strategy("Big 3",overlay=true, default_qty_type=strategy.percent_of_equity)
 
// enter on Arrows
// take profit on touch with 80 SMA, gray, or at discretion
 
fast = sma(close,20)
mid = sma(close,40)
slow = sma(close,80)
 
plot(fast,linewidth=1)
plot(mid,linewidth=2)
plot(slow,linewidth=4)
 
isUptrend = close > fast and close > mid and close > slow
isDowntrend = close < fast and close < mid and close < slow
 
confirmed = (low > fast and low > mid and low > slow) or (high < fast and high < mid and high < slow)
deriv = 3 * mid[0] - 4 * mid[1] + mid[2]

stableUptrend = (fast > mid) and (mid > slow) and (deriv > 0)
stableDowntrend = (fast < mid) and (mid < slow) and (deriv < 0)
 
barcolor(isUptrend ? green : isDowntrend ? red : gray)
plotshape(not confirmed[1] and confirmed and isUptrend ? close : na,style=shape.arrowup,location=location.belowbar,color=green)
plotshape(not confirmed[1] and confirmed and isDowntrend ? close : na,style=shape.arrowdown,location=location.abovebar,color=red)

stop = na
//stop = input(1000, "Stop")


strategy.entry("long", strategy.long, when=(stableUptrend), stop=stop)
strategy.close("long", when=(deriv <= 0))

strategy.entry("short", strategy.short, when=(stableDowntrend), stop=stop)
strategy.close("short", when=(deriv >= 0))





더 많은