노로 이동 평균 손절매 전략


생성 날짜: 2024-01-30 15:49:34 마지막으로 수정됨: 2024-01-30 15:49:34
복사: 1 클릭수: 527
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

노로 이동 평균 손절매 전략

개요

노로 평평 이동 평균선 중지 전략은 트렌드 추적 전략이다. 3일 간소 이동 평균을 계산하고, 상단과 아래에 개시선과 중지선으로 비율을 추가한다. 동시에 중지 지점을 설정한다. 이렇게하면 트렌드가 시작될 때 포지션을 열고, 트렌드가 역전될 때 손실을 멈출 수 있다.

전략 원칙

이 전략의 핵심은 3일 간소 이동 평균 ma 를 계산하는 것이다. 그리고 ma 위에는 1퍼센트의 lo를 개장선 long로 더하고, 가격이 상공할 때 더한다. ma 아래에는 1퍼센트의 sl를 중지선 stop로 빼고, 가격이 하위에서 중단할 때 중단한다. 동시에 정지선 take를 설정하고, 가격이 정지선에 도달했을 때 중단한다.

계산 규칙은 다음과 같습니다.

  1. 3일 간소 이동 평균 (MA)
  2. 이 선의 길이는 ma+ma*lo%
  3. 정지선 take = 현재 지분 평균 가격 + 현재 지분 평균 가격 * 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)