이중 이동 평균 스톱 손실 전략

저자:차오장, 날짜: 2023-11-15 15:44:48
태그:

img

전반적인 설명

이 전략은 이중 이동 평균에 기반한 스톱 로스 전략이다. 두 개의 이동 평균을 사용하며, 하나는 주요 이동 평균이며, 하나는 스톱 로스 라인이다. 가격이 주요 이동 평균보다 높을 때, 긴 거리로 이동한다. 가격이 스톱 로스 라인의 아래에 있을 때, 긴 포지션을 닫는다. 가격이 주요 이동 평균보다 낮을 때, 짧은 거리로 이동한다. 가격이 스톱 로스 라인의 위에 있을 때, 짧은 포지션을 닫는다. 그것은 장과 짧은 가격을 동적으로 조정함으로써 스톱 로스를 달성하고 이익을 취한다.

전략 논리

이 전략은 SMA 함수를 사용하여 길이 len의 간단한 이동 평균을 주요 이동 평균 라인 ma로 계산합니다. 그 다음 사용자 입력된 긴 스톱 손실 비율 elpercent 및 짧은 스톱 손실 비율 espercent에 따라 긴 스톱 손실 라인 el 및 짧은 스톱 손실 라인 es를 계산합니다. 구체적인 공식은:

el = ma + (ma * elpercent / 100) es = ma + (ma * espercent / 100)

여기서 elpercent와 espercent는 주요 이동평균선에서 오프셋된 비율을 나타냅니다.

이것은 우리에게 세 개의 라인을 제공합니다. 주 이동 평균 mA, 긴 스톱 손실 라인 el, 짧은 스톱 손실 라인 es.

이 전략의 거래 논리는 다음과 같습니다.

닫기 가격이 긴 스톱 로스 라인 (el) 이상이라면 긴 포지션을 열고 닫기 가격이 짧은 스톱 로스 라인 (es) 이하인 경우 긴 포지션을 닫습니다.

닫기 가격이 짧은 스톱 로스 라인 에스 아래라면, 짧은 포지션을 개척합니다. 닫기 가격이 긴 스톱 로스 라인 엘 위에 있다면, 짧은 포지션을 닫습니다.

전략 의 장점

  1. 이중 이동 평균을 사용하여 스톱 로스 및 수익 포인트를 설정하면 위험을 효과적으로 제어 할 수 있습니다.

  2. 주요 이동 평균의 길이 len 및 오프셋 비율 elpercent 및 espercent는 사용자 정의 할 수 있으며 다른 시장에 맞게 조정되고 잘 적응 할 수 있습니다.

  3. 스톱 로스 메커니즘은 손실을 시간적으로 줄이고 추가 손실을 피할 수 있습니다.

  4. 전략 논리는 간단하고 명확하고 이해하기 쉽고 실행하기 쉽고 초보자에게 적합합니다.

  5. 양방향 시장의 이점을 얻기 위해 길고 짧게 갈 수 있습니다.

위험 과 해결책

  1. 백테스트 과잉 적합성 위험. 이동 평균 전략은 백테스트 데이터를 과잉 적합시키는 경향이 있습니다. 실제 성능은 다를 수 있습니다. 해결책은 복잡한 라이브 시장에서 검증하고 그에 따라 매개 변수를 조정하는 것입니다.

  2. 스톱 손실이 너무 가까워지는 위험. 스톱 손실이 주요 이동 평균에 너무 가까워지면 단기 가격 변동에 의해 유발 될 수 있습니다. 이를 피하기 위해 스톱 손실 거리를 증가하십시오.

  3. 이방향 거래의 자본 압력. 길고 짧은 두 가지 모두 충분한 마진을 필요로합니다. 자본 압력을 조절하기 위해 포지션 크기를 줄이십시오.

  4. 매개 변수 최적화 위험. 최적의 매개 변수는 다른 시장 조건에 따라 크게 다릅니다. 매개 변수를 최적화하는 데 시간이 필요합니다. 매개 변수 최적화를 돕기 위해 기계 학습을 사용할 수 있습니다.

최적화 방향

  1. 시장 동향을 결정하고 결정을 개선하기 위해 더 많은 지표를 추가하는 것을 고려하십시오. 예를 들어, 부피 가격 지표, 변동성 지표.

  2. 시장 변화에 따라 이동 평균 길이와 스톱 로스 매개 변수를 자동으로 최적화합니다.

  3. 거래 도구에 대한 필터링을 추가하고, 명백한 트렌드만 거래합니다.

  4. 고정된 스톱 손실 대신 트레일링 스톱 손실을 고려하고 실시간 가격에 따라 스톱 손실을 조정하십시오.

  5. 패러미터 최적화를 위한 평가 시스템을 구축하여 백테스트 결과를 통해 최적의 패러미터 세트를 자동으로 찾습니다.

결론

이 전략의 전반적인 논리는 명확하고 이해하기 쉽다. 스톱 로스를 위해 이중 이동 평균을 사용하며 위험을 효과적으로 제어 할 수 있습니다. 전략은 사용자 정의 가능한 매개 변수 및 적응력과 같은 장점이 있지만 주의가 필요한 백테스트 오버피트 및 스톱 로스 거리 설정과 같은 위험이 있습니다. 추가 최적화로이 전략은 라이브 거래에 적합 한 효과적인 스톱 로스 전략이 될 수 있습니다. 알고리즘 거래 초보자에게 출발점으로 적합하며, 궁극적으로 독특한 거래 시스템을 형성하기 위해 연습을 통해 지속적으로 개선 될 수 있습니다.


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

//Noro
//2019

//@version=4
strategy(title = "Robot WhiteBox StopMA", shorttitle = "Robot WhiteBox StopMA", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
len = input(50)
src = input(ohlc4)
elpercent = input(5.0, minval = 0, maxval = 100, title = "Shift long, %")
espercent = input(-5.0, minval = -100, maxval = 0, title = "Shift short, %")
showlines = input(true, defval = true, title = "Show lines")
showbg = input(true, defval = true, title = "Show background")

//Levels
ma = sma(src, len)
el = ma + ((ma / 100) * elpercent)
es = ma + ((ma / 100) * espercent)

//Lines
colel = showlines ? color.lime : na
colma = showlines ? color.blue : na
coles = showlines ? color.red : na
plot(el, color = colel, offset = 1)
plot(ma, color = colma, offset = 1)
plot(es, color = coles, offset = 1)

//Background
trend = 0
trend := high > el[1] ? 1 : low < es[1] ? -1 : trend[1]
colbg = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na
bgcolor(colbg, transp = 80)

//Trading
if ma > 0
    strategy.entry("Long", strategy.long, needlong ? na : 0, stop = el)
    strategy.entry("Short", strategy.short, needshort ? na : 0, stop = es)

더 많은