노로 밴드 트렌드

저자:차오장, 날짜: 2023-09-18 13:57:31
태그:

전반적인 설명

이 전략은 트렌드 방향을 결정하기 위해 사용자 지정 노로 밴드 지표를 사용하여 특정 규칙을 기반으로 거래 신호를 생성합니다. 가격은 밴드를 깨면 신호가 생성됩니다. 암호화 바닥 지표는 신호 품질을 개선하는 데도 사용됩니다.

전략 논리

  1. 노로 대역을 계산합니다. 사용자 기간에 따라 최근 높은, 낮은 것을 결정하고 중간선과 상부/하부 대역을 계산합니다.

  2. 트렌드 방향을 결정합니다. 상단보다 높은 가격은 상승 추세입니다. 하단보다 낮은 가격은 하향 추세입니다.

  3. 신호를 생성합니다. 상승 추세에서 가격이 하위 범위를 넘을 때 신호를 구매합니다. 하향 추세에서 가격이 상위 범위를 넘을 때 신호를 판매합니다.

  4. 암호화 바닥을 통합합니다. 암호화 바닥 신호가 발생하면 구매 기회를 추가합니다.

  5. 오픈 포지션 규칙 사용자들은 단편 또는 긴 거래를 선택할 수 있습니다. 선택 없이 양쪽을 거래합니다.

  6. 플롯 노로 밴드, 밴드 플롯을 표시하거나 숨길 수 있습니다.

장점

  1. 노로 밴드는 트렌드 방향을 효과적으로 결정합니다.

  2. 밴드 브레이크우트를 결합하면 잘못된 브레이크우트 신호를 피할 수 있습니다.

  3. 크립토바텀은 구매 신호의 품질을 향상시킵니다.

  4. 단지 긴 또는 짧은 거래에 맞게 조정할 수 있습니다.

  5. 조정 가능한 매개 변수는 다른 시간 프레임에 맞습니다.

위험성

  1. 부적절한 매개 변수는 대역 계산에 장애를 일으킬 수 있습니다.

  2. 탈출 신호는 지연이 있습니다.

  3. 크립토바텀은 완전히 신뢰할 수 없습니다.

  4. 한쪽만 거래하면 기회를 놓칠 수 있습니다.

  • 위험 1은 매개 변수 최적화를 통해 해결될 수 있습니다.

  • 위험 2는 다른 지표를 결합함으로써 개선 될 수 있습니다.

  • 리스크 3는 암호화 바닥의 성능을 검증해야 합니다.

  • 리스크 4는 일방 거래의 수익성을 평가해야 합니다.

더 나은 기회

  1. 노로 밴드에 대한 테스트 파라미터 영향.

  2. 노로 밴드 대신 다른 브레이크아웃 지표를 평가합니다.

  3. 스톱 로스 전략을 평가합니다.

  4. 단지 긴 또는 짧은 거래의 효과를 테스트합니다.

  5. 암호화 바닥의 매개 변수를 최적화해

결론

이 전략은 트렌드 및 브레이크아웃 신호를 시간 항목에 결정하기 위해 노로 밴드를 사용합니다. 암호화 바닥은 구매를 향상시킵니다. 매개 변수 최적화 및 정지는 전략을 더욱 정제 할 수 있습니다.


/*backtest
start: 2023-09-10 00:00:00
end: 2023-09-17 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Strategy v1.2", shorttitle = "NoroBands str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
color = input(true, "Use Color or bar")
usecb = input(true, "Use CryptoBottom")
needbb = input(true, defval = false, title = "Show Bands")
needbg = input(true, defval = false, title = "Show Background")
src = close

//Fast RSI
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//CryptoBottom
mac = sma(close, 10)
lencb = abs(close - mac)
sma = sma(lencb, 100)
max = max(open, close)
min = min(open, close)
//dn = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0

//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//dist
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma

//Trend
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 90)

//Signals
up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0
dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0 
up2 = close < open and lencb > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //CryptoBottom

longCondition = up == 1 or (up2 == 1 and usecb == true)
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)

더 많은