노로 밴드 트렌드 팔로잉 전략


생성 날짜: 2023-09-18 13:57:31 마지막으로 수정됨: 2023-09-18 13:57:31
복사: 3 클릭수: 679
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 노로에서 자체 제작한 파동대 지표에 기반하여 트렌드 방향을 판단하고 특정 규칙과 결합하여 거래 신호를 생성하는 트렌드 추적 전략이다. 가격 파동대 돌파구가 발생했을 때 거래 신호를 생성한다. 또한 보조 지표인 CryptoBottom과 결합하여 신호 품질을 향상시킨다.

전략 원칙

  1. 노로파역을 계산한다. 사용자 정의 주기에 따라 최근 최고점과 최저점을 계산하고 중선과 상하 궤도를 계산한다.

  2. 트렌드 방향을 판단한다. 가격이 상반선의 위쪽에 있는 것은 부양이며, 하반선의 아래쪽에 있는 것은 하락이다.

  3. 거래 신호를 생성한다. 부진이 있을 때, 가격이 하차할 때 구매 신호를 생성한다. 하락이 있을 때, 가격이 하차할 때 판매 신호를 생성한다.

  4. CryptoBottom을 통합한다. 보조 지표 CryptoBottom이 신호를 발산할 때 구매 기회를 증가시킨다.

  5. 포지션 개설 규칙. 사용자는 단지 다단계 거래 또는 공백 거래만을 선택할 수 있습니다. 선택하지 않으면 전체 포지션 거래입니다.

  6. 노로 파도 띠를 그리기. 파도 띠를 그리는 것을 표시하거나 숨길 수 있다.

우위 분석

  1. 노로파는 트렌드 방향에 대해 잘 판단한다.

  2. 파장 돌파를 결합하여 신호를 생성하여 가짜 돌파를 피할 수 있다.

  3. CryptoBottom은 구매 신호의 질을 향상시킵니다.

  4. “이런 일을 할 수 있는 유일한 방법은 ‘일단’이나 ‘일단’을 하는 것이다.

  5. 매개 변수는 다른 주기들에 적응할 수 있다.

위험 분석

  1. 파라미터를 잘못 설정하면 파장 판단이 무효가 될 수 있다.

  2. 은 신호가 지연되고 있다.

  3. CryptoBottom은 완전히 신뢰할 수 없습니다.

  4. “이런 일을 하면, 어떤 기회도 놓칠 수 있다”.

  • 위험 1은 변수 최적화를 통해 최적의 설정을 찾을 수 있다.

  • 위험 2는 다른 지표와 함께 확인될 수 있습니다.

  • 위험 3은 CryptoBottom의 효과를 확인하는 것이 필요합니다.

  • 위험 4은 단지 과잉 또는 공백의 이익 효과를 평가해야 합니다.

최적화 방향

  1. 노로파에 대한 다양한 변수의 영향을 테스트한다.

  2. 노로파 대안으로 다른 을 시도해보세요.

  3. 손해 방지 전략을 평가하십시오.

  4. 테스트는 단지 과잉 또는 빈 작업의 효과에 관한 것입니다.

  5. CryptoBottom의 최적화 파라미터를 .

요약하다

이 전략은 노로파를 통해 트렌드 방향을 판단하고, 브레이크 신호와 결합하여 거래 기회를 창출한다. CryptoBottom은 구매 효과를 향상시킨다. 변수 최적화 및 중지 손실은 이 전략을 더욱 개선할 수 있다.

전략 소스 코드
/*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)