슈퍼트렌드 LSMA 롱 전략


생성 날짜: 2023-12-18 10:43:14 마지막으로 수정됨: 2023-12-18 10:43:14
복사: 0 클릭수: 902
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

슈퍼트렌드 LSMA 롱 전략

개요

슈퍼 트렌드 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)