
이 전략은 여러 가지 기본 형태 지표의 조합을 사용하여 급격한 반전의 시점을 식별하고, 트렌드를 추적하는 스톱 손실 전략을 취하며, 스톱 손실을 초과하는 수익을 목표로합니다.
이 전략은 아래의 몇 가지 지표에 기초하여 하위 반전을 판단합니다.
노로의 BottomSensivity: K선에서 특정 바닥 형태가 나타나는지 판단한다.
확실성 의지 지수 ((CVI): 판정 다공적 정신이 전환에 직면했다.
궁극적 지표 ((UCS): 초하락이 평균선에서 벗어난 상황을 판단한다.
수익률 지표 (RSI): 과매매 상황을 판단한다.
형태 조합: 형, 도각 등 여러 가지 밑형 형태를 포함한다.
이 전략은 여러 개의 하위 지표 조합을 사용하며, 전략 매개 변수 설정의 하위 형태 수를 충족시키면 구매 신호를 발생시킨다. 가짜 브레이크를 필터하기 위해 전략은 또한 RSI 지표 판단을 추가하여 과매매 할 때만 구매를 유발한다.
사용자는 각 하위 판단 지표의 사용과 파라미터를 사용자 정의 할 수 있으며, 높은 유연성을 구현할 수 있습니다. 또한, 전략은 SMA 일률적인 필터를 추가하여 추세 아래에서 더 많은 것을 피합니다.
여러 지표들을 활용하여 확실성을 높여라.
다양한 품종에 맞게 사용자 정의 가능한 지표 변수
SMA 평선 필터링, 상위점 회피
적색 K선으로만 접속할 수 있고, 위험도 낮아진다.
팝업 창 경보, 실시간 감시
다중 지수 조합 판단이 바닥을 놓쳤을 수도 있습니다.
밑바닥이 항상 뒤집을 필요는 없습니다.
거래량이 역전을 뒷받침할 수 있는지에 주목해야 합니다.
다양한 품종에 적응하기 위해 지표 변수 구성을 최적화
포지션 관리를 늘리고, 포지션을 늘림으로써 비용 절감
더 많은 손실을 방지하는 전략과 추세에 따른 손실을 방지하는 전략
이 전략은 다중 지표 판단을 최대한 활용하여 밑바닥 식별 정확도를 높이고, 트렌드 추적을 통해 스톱 로즈 로킹 수익을 통해 위험을 효과적으로 제어 할 수 있습니다. 그러나 거래량이 역전 추세를 뒷받침 할 수 있는지에 대해서는 여전히 주의해야 합니다. 사용자는 다양한 시장 환경에 적응하기 위해 품종 특성에 따라 매개 변수를 최적화 할 수 있습니다.
/*backtest
start: 2022-10-11 00:00:00
end: 2023-10-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// the original indicator is Noro's BottomSensivity v0.6
//@version=4
strategy("Noro's BottomSensivity v0.6 strategy + rsi + Alarm", shorttitle="Bottom 0.6 StRsiAlarm", overlay=true)
overSold = input(35)
overBought = input(70)
botsens = input(defval = 3, minval = 1, maxval = 4, title = "Bottom-Sensivity")
smalen = input(defval = 25, minval = 20, maxval = 200, title = "SMA Length")
bars = input(defval = 3, minval = 2, maxval = 4, title = "Bars of Locomotive")
useloc = input(true, title = "Use bottom-pattern Locomotive?")
usepin = input(true, title = "Use bottom-pattern Pin-bar?")
usecvi = input(true, title = "Use bottom-indicator CVI?")
useucs = input(true, title = "Use bottom-indicator UCS?")
usevix = input(true, title = "Use bottom-indicator WVF?")
usersi = input(true, title = "Use bottom-indicator RSI?")
usered = input(false, title = "Only red candles?")
usesma = input(true, title = "Use SMA Filter?")
showsma = input(false, title = "Show SMA Filter?")
//SMA Filter
sma = sma(close, smalen)
colsma = showsma == true ? red : na
plot(sma, color = colsma)
//VixFix method
//Start of ChrisMoody's code
pd = 22
bbl = 20
mult = 2
lb = 50
ph = .85
pl = 1.01
hp = false
sd = false
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDev = mult * stdev(wvf, bbl)
midLine = sma(wvf, bbl)
lowerBand = midLine - sDev
upperBand = midLine + sDev
rangeHigh = (highest(wvf, lb)) * ph
rangeLow = (lowest(wvf, lb)) * pl
//End of ChrisMoody's code
//Locomotive mmethod
bar = close > open ? 1 : close < open ? -1 : 0
locob = bar == 1 and bar[1] == -1 and bar[2] == -1 and (bar[3] == -1 or bars < 3) and (bar[4] == -1 or bars < 4) ? 1 : 0
//PIN BAR
body = abs(close - open)
upshadow = open > close? (high - open) : (high - close)
downshadow = open > close ? (close - low) : (open - low)
pinbar = open[1] > close[1] ? (body[1] > body ? (downshadow > 0.5 * body ? (downshadow > 2 * upshadow ? 1 : 0 ) : 0 ) : 0 ) : 0
//CVI method
//Start of LazyBear's code
ValC=sma(hl2, 3)
bull=-.51
bear=.43
vol=sma(atr(3), 3)
cvi = (close-ValC) / (vol*sqrt(3))
cb= cvi <= bull ? green : cvi >=bear ? red : cvi > bull ? blue : cvi < bear ? blue : na
bull1 = cvi <= bull
bear1 = cvi >= bear
bull2 = bull1[1] and not bull1
bear2 = bear1[1] and not bear1
//End of LazyBear's code
//UCS method
//Start of UCS's code
ll = lowest(low, 5)
hh = highest(high, 5)
diff = hh - ll
rdiff = close - (hh+ll)/2
avgrel = ema(ema(rdiff,3),3)
avgdiff = ema(ema(diff,3),3)
mom = ((close - close[3])/close[3])*1000
SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0
SMIsignal = ema(SMI,3)
ucslong = SMI < -35 and mom > 0 and mom[1] < 0 ? 1 : 0
//End of UCS's code
//RSI method
//Chris Moody's code
up = rma(max(change(close), 0), 2)
down = rma(-min(change(close), 0), 2)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsib = rsi < 10 ? 1 : 0
//Chris Moody's code
//sum
locobot = useloc == false ? 0 : locob
vixfixbot = usevix == false ? 0 : wvf >= upperBand or wvf >= rangeHigh ? 1 : 0
cvibot = usecvi == false ? 0 : bull2 == true ? 1 : 0
ucsbot = useucs == false ? 0 : ucslong == 1 ? 1 : 0
rsibot = usersi == false ? 0 : rsib
pinbot = usepin == false ? 0 : pinbar
score = vixfixbot + locobot + cvibot + ucsbot + rsibot + pinbot
//arrows
bottom = usered == false ? usesma == false ? score >= botsens ? 1 : 0 : high < sma and score >= botsens ? 1 : 0 : usesma == false ? score >= botsens and close < open ? 1 : 0 : high < sma and score >= botsens and close < open ? 1 : 0
plotarrow(bottom == 1 ? 1 : na, title="Buy arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
data = bottom == 1
plotchar(data, char=" ", text="BUY!", location=location.belowbar, color=green, size=size.small)
//Market buy and exit
strategy.entry("BUY!", strategy.long, when =(bottom == 1) and(rsi(close,14)<overSold))
strategy.close("BUY!", when = (crossunder(rsi(close,14), overBought)))
alarm = bottom == 1 and(rsi(close,14)<overSold)
alertcondition(alarm == 1,title="BUY+RSI",message="BUY+RSI")