슈퍼 트렌드 LSMA 장기 전략

저자:차오장, 날짜: 2023-12-18 10:43:14
태그:

img

전반적인 설명

슈퍼 트렌드 LSMA 장기 전략은 슈퍼 트렌드 지표와 LSMA 이동 평균을 결합한 장기 전략이다. 주식 및 암호화폐와 같은 장기 트렌딩 시장에 적합하며 더 큰 시간 프레임에서 더 잘 작동합니다.

전략 논리

이 전략의 거래 규칙은 다음과 같습니다.

긴 진입 신호: 슈퍼 트렌드 지표가 긴 신호를 주고 닫기 가격이 LSMA 이동 평균보다 높을 때 긴 진출을 합니다.

긴 출구 신호: 슈퍼 트렌드 지표가 짧은 신호를 표시하면 긴 포지션을 닫습니다.

즉, 슈퍼 트렌드는 전체 트렌드 방향을 결정하는 데 사용되며, LSMA는 특정 입구 지점을 결정하는 데 사용됩니다.

이점 분석

이 전략은 트렌드 추종과 이동 평균을 결합한다. 큰 트렌드를 포착하고 이동 평균을 사용하여 잘못된 신호를 필터링하여 함락되는 것을 피할 수 있다. 단일 트렌드 지표 또는 이동 평균을 사용하는 것과 비교하면 더 나은 위험 통제를 갖는다.

또한, 슈퍼 트렌드 자체는 약간의 차질을 가지고 있습니다. LSMA의 평형 기능과 결합하면 시장 소음을 효과적으로 필터링하고 가짜 브레이크에 의해 오해되는 것을 피할 수 있습니다.

위험 분석

이 전략의 가장 큰 위험은 트렌드 반전 지점을 정확하게 결정할 수 없다는 것입니다. 슈퍼 트렌드 및 LSMA의 지연으로 인해 트렌드가 변하면 손실이 확대 될 수 있습니다. 적시에 스톱 로스를 사용하여 위험을 제어해야합니다.

또한 매개 변수 설정은 전략 성능에도 영향을 미칩니다. ATR 매개 변수 또는 요소 매개 변수가 잘못 설정되면 슈퍼 트렌드의 효과는 손상됩니다. LSMA 기간이 너무 짧게 설정되면 필터링 효과가 떨어지고 소음에 취약합니다. 따라서 매개 변수 최적화는 중요합니다.

최적화 방향

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

  1. 기계 학습 알고리즘을 사용하여 다른 시장 환경에 더 잘 맞게 매개 변수를 자동으로 최적화합니다.

  2. 스톱 로스 메커니즘을 추가합니다. 손실이 미리 설정된 스톱 로스 수준에 도달하면 의무 처분입니다.

  3. 포지션 관리 모듈을 추가합니다. 주요 트렌드가 형성되면 포지션을 적절히 증가시키고 트렌드가 종료되면 포지션을 줄입니다.

  4. 트렌드 반전 위험을 피하기 위해 변동성 지표, 부피 지표 등 더 많은 필터링 지표를 추가하십시오.

  5. 단순한 슈퍼 트렌드 대신에 딥 러닝 모델을 사용하여 트렌드를 판단하여 트렌드 결정이 더 지능적으로 이루어집니다.

결론

슈퍼 트렌드 LSMA 장기 전략은 트렌드 추적 지표와 이동 평균 지표의 장점을 통합합니다. 더 긴 시간 동안 큰 그림을 파악하고 이동 평균을 사용하여 소음을 필터링 할 수 있습니다. 매개 변수 최적화, 스톱 로스 메커니즘, 더 강력한 리스크 제어 모듈을 통해 이 전략의 수익성과 리스크 제어 기능을 더욱 향상시킬 수 있으며 매우 실용적인 정량 전략입니다.


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

//@version=4
strategy(title = "Supertrend LSMA long Strategy", overlay = true,  pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.1)


atrPeriod = input(14, "ATR Length")
factor = input(3, "Factor")

//Time
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2031, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = time >= startDate and time <= finishDate

//LSMA
lengthx = input(title="Length LSMA", type=input.integer, defval=101)
offset = 0//input(title="Offset", type=input.integer, defval=0)
src = input(close, title="Source")
lsma = linreg(src, lengthx, offset)



[_, direction] = supertrend(factor, atrPeriod)

if(time_cond)
    if change(direction) < 0 and close > lsma
        strategy.entry("long", strategy.long)
    
    if change(direction) > 0 //and close < lsma
        strategy.close("long")
        //strategy.entry("short", strategy.short)

//strategy.close("long",when=close<lsma)
//strategy.close("short",when=change(direction) < 0 )

    
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

더 많은