
노로 평평 이동 평균선 중지 전략은 트렌드 추적 전략이다. 3일 간소 이동 평균을 계산하고, 상단과 아래에 개시선과 중지선으로 비율을 추가한다. 동시에 중지 지점을 설정한다. 이렇게하면 트렌드가 시작될 때 포지션을 열고, 트렌드가 역전될 때 손실을 멈출 수 있다.
이 전략의 핵심은 3일 간소 이동 평균 ma 를 계산하는 것이다. 그리고 ma 위에는 1퍼센트의 lo를 개장선 long로 더하고, 가격이 상공할 때 더한다. ma 아래에는 1퍼센트의 sl를 중지선 stop로 빼고, 가격이 하위에서 중단할 때 중단한다. 동시에 정지선 take를 설정하고, 가격이 정지선에 도달했을 때 중단한다.
계산 규칙은 다음과 같습니다.
이렇게 하면 ma를 기준으로 설정할 수 있는 비율을 사용하여 개시선, 정지선, 상쇄선 등의 트렌드 추적 전략을 구축할 수 있습니다.
이 전략의 가장 큰 장점은 트렌드를 자동으로 추적할 수 있다는 것입니다. 중간에 있는 트렌드를 포착할 수 있는 방법은 상위 형태를 판단할 필요 없이 상위, 하위, 상하를 선택하는 것입니다. 그리고 스톱 스톱 손실 설정과 함께 트렌드가 끝날 때 자동으로 중지하여 너무 큰 반전을 방지할 수 있습니다.
또 다른 장점은 매개 변수가 유연하게 조정될 수 있다는 것이다. 포지션 개시선, 정지선, 그리고 정지선의 비율 변수를 조정함으로써 포지션 규모와 정지 공간을 자유롭게 제어할 수 있다.
이 전략의 가장 큰 위험은 거대한 슬라이드들이 형성될 수 있다는 것이다. 이 전략은 오프라인 거래이기 때문에 가격이 급격히 떨어질 때 막상 가격을 훨씬 뛰어넘는 거래가 발생할 수 있다. 이는 투자자에게 엄청난 손실을 초래할 것이다.
또 다른 위험은 잘못된 변수 설정으로 인해 너무 자주 출장하고 거래 빈도와 수수료 부담이 증가할 수 있다는 것입니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
노로 평평선평평평선정지전략은 간단하고 실용적인 트렌드 추적 전략이다. 그것은 트렌드 추적을 자동으로 실행할 수 있으며, 스톱 스톱 손실 설정과 함께 위험을 효과적으로 제어한다. 이 전략의 가장 큰 위험은 큰 슬라이드 포인트를 유발할 수 있으며, 파라미터를 잘못 설정하여 너무 자주 거래되는 것이다.
/*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)