노로는 이동 평균 스톱 로스 전략을 변경했습니다.

저자:차오장, 날짜: 2024-01-30 15:49:34
태그:

img

전반적인 설명

노로 이동 평균 스톱 러스 전략 (Noro Shifted Moving Average Stop Loss Strategy) 은 트렌드를 따르는 전략이다. 3일 간 간단한 이동 평균 라인을 계산하고, 그 위에 긴 라인과 그 아래의 스톱 러스 라인을 주어진 비율로 설정한다. 또한 수익 라인을 설정한다. 이는 트렌드가 시작될 때 포지션을 개척하고, 트렌드가 역전될 때 중지할 수 있다.

전략 논리

이 전략의 핵심은 3일 간 간단한 이동 평균 라인 ma를 계산하는 것입니다. 그 다음 엔트리에 대한 긴 라인을 얻기 위해 ma 위에 비율 lo가 추가됩니다. 가격이 긴 라인을 넘을 때 긴 포지션은 열립니다. ma 아래에 비율 sl가 줄여 스톱 로스 라인 스톱을 얻습니다. 가격이 스톱 아래로 떨어지면 포지션은 중단됩니다. 또한 현재 평균 보유 가격보다 비율로 설정된 수익 라인을 취합니다. tp

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

  1. 3일 간편 이동평균 mA를 계산
  2. 긴 선 길이는 = ma + ma * lo%
  3. 수익 라인 취득 = 현재 평균 보유 가격 + 현재 평균 보유 가격 * tp%
  4. 스톱 로스 라인 스톱 = 현재 평균 보유 가격 - 현재 평균 보유 가격 * sl%

이것은 ma 벤치마크와 구성 가능한 비율에 기초하여 엔트리, 취득 및 스톱 로스 라인을 설정하는 트렌드 다음 전략을 구축합니다.

이점 분석

이 전략의 가장 큰 장점은 트렌드를 자동으로 추적 할 수 있다는 것입니다. 패턴 인식이 필요하지 않고 상승 추세를 잡기 위해 길고 추세를 잡기 위해 짧게 이동함으로써 트렌드를 잡습니다. 이윤을 취하고 손실을 멈추는 것을 추가하면 트렌드가 종료되면 자동으로 중단하여 인기를 제한 할 수 있습니다.

또 다른 장점은 유연한 매개 변수 조정입니다. 장기, 수익을 취하고 손실을 멈추는 비율을 변경함으로써 포지션 사이즈와 손실을 멈추는 거리를 쉽게 제어 할 수 있습니다.

위험 분석

이 전략의 가장 큰 위험은 미끄러짐이다. 스톱 오더가 스톱 손실에 사용되므로 급격히 떨어지는 시장 가격에서는 주문이 완료되기 전에 스톱 손실 이하로 떨어질 수 있습니다. 이것은 재앙적 인 손실로 이어질 수 있습니다.

또 다른 위험은 잘못된 매개 변수 때문에 너무 자주 출입하고 출입하여 수수료 비용을 증가시키는 것입니다.

최적화 방향

전략은 다음과 같은 방법으로 최적화 될 수 있습니다.

  1. 스리프 리스크를 피하기 위해 스톱 오더 대신 리미트 오더를 사용

  2. 위치 크기를 설정하여 거래 빈도를 줄이면서 원활하게 확장

  3. 트렌드 탐지 필터를 추가하여 트렌드가 아닌 시장에서 잘못된 신호를 피합니다.

  4. 최적의 조합을 찾기 위해 매개 변수 설정을 최적화

결론

노로 이동 평균 스톱 로스 전략은 트렌드 다음 전략으로 간단하고 실용적입니다. 이 전략은 수익을 취하고 손실을 멈추는 위험을 제어하는 트렌드를 자동으로 추적 할 수 있습니다. 가장 큰 위험은 잠재적인 미끄러움과 파라미터 최적화에서 과도하게 빈번한 거래에서 발생합니다. 스톱 로스 기술을 개선하고 파라미터 최적화함으로써 전략을 더욱 견고하게 만들 수 있습니다.


/*backtest
start: 2023-12-30 00:00:00
end: 2024-01-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//2019
//Noro

//@version=4
strategy("Stop-loss", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
lo = input(-5.0, title = "Long-line, %")
tp = input(5.0, title = "Take-profit")
sl = input(2.0, title = "Stop-loss")

//SMA
ma = sma(ohlc4, 3)
long = ma + ((ma / 100) * lo)

//Orders
avg = strategy.position_avg_price
if ma > 0
    strategy.entry("Long", strategy.long, limit = long)
    strategy.entry("Take", strategy.short, 0, limit = avg + ((avg / 100) * tp))
    strategy.entry("Stop", strategy.short, 0, stop = avg - ((avg / 100) * sl))
    
//Cancel order
if strategy.position_size == 0
    strategy.cancel("Take")
    strategy.cancel("Stop")

//Lines
plot(long, offset = 1, color = color.black, transp = 0)
take = avg != 0 ? avg + ((avg / 100) * tp) : long + ((long / 100) * tp)
stop = avg != 0 ? avg - ((avg / 100) * sl) : long - ((long / 100) * sl)
takelinecolor = avg == avg[1] and avg != 0 ? color.lime : na
stoplinecolor = avg == avg[1] and avg != 0 ? color.red : na
plot(take, offset = 1, color = takelinecolor, linewidth = 3, transp = 0)
plot(stop, offset = 1, color = stoplinecolor, linewidth = 3, transp = 0)

더 많은