이 전략은 STOCH.RSI, RSI, 듀얼 전략, CM 윌리엄스 지표 및 화폐 흐름 지표 (MFI) 를 포함한 여러 지표를 결합하여 시장 변동을 정확하게 파악하고 장기/단기 기회를 찾을 수 있습니다. 주식 가격이 지원 또는 저항 수준에 접근 할 때 거래 신호를 생성 할 수 있습니다. 여러 지표와 교차 검증의 장점을 통합함으로써이 전략은 잘못된 신호를 효과적으로 줄이고 신뢰성을 향상시킬 수 있습니다.
STOCH.RSI는 스토카스틱 오시레이터와 상대적 강도 지수 (RSI) 의 강점을 결합하여 역전 기회를 탐지하기 위해 과반 구매/ 과반 판매 수준을 표시합니다.
RSI는 부가적인 확인으로 과잉 구매/ 과잉 판매 조건을 평가합니다.
이중 전략은 거래 신호를 생성하기 위해 스톡과 RSI 사이의 교차를 결정합니다.
CM 윌리엄스 인디케이터는 퍼센틸 밴드를 계산합니다. 밴드에서 반등하는 것은 시장 반전을 나타냅니다. 변동과 반전을 판단하는 데 도움이됩니다.
돈 흐름 지수 (MFI) 는 자금 흐름을 평가하고 Stoch.RSI와 RSI와 함께 신호를 검증하여 품질을 향상시킵니다.
요약하자면, Stoch.RSI, RSI, 듀얼 전략, CM 윌리엄스 및 MFI를 결합함으로써이 전략은 과잉 구매 / 과잉 판매 수준을 효과적으로 결정하고 반전 지점을 찾아 품질 신호를 생성 할 수 있습니다. 여러 지표에 의한 교차 검증은 신뢰성을 향상시키고 잘못된 신호를 줄입니다.
이 전략의 주요 장점은 다음과 같습니다.
여러 지표의 조합은 검증을 통해 신호 품질을 향상시키고 잘못된 신호를 줄입니다.
STOCH.RSI, RSI 및 MFI는 과잉 구매/ 과잉 판매 구역과 시장 전환점을 효과적으로 감지합니다.
CM 윌리엄스는 시장의 변동과 반전을 판단하는 데 도움이되는 퍼센틸 범위를 계산합니다.
이중 전략은 따라하기 쉬운 간단한 거래 신호를 생성합니다.
다양한 시장에 적응할 수 있는 다양한 최적화 가능한 매개 변수로 매우 사용자 정의 가능합니다.
주의해야 할 몇 가지 위험 요소:
복잡한 멀티 인디케이터 계산은 높은 컴퓨팅 전력을 요구하며, 고주파 거래에 적합하지 않습니다.
부적절한 매개 변수 조정은 신호 품질을 악화시킬 수 있습니다. 매개 변수는 개인적인 스타일에 맞아야 합니다.
반전 신호가 늦어질 수 있습니다. 더 많은 지표가 트렌드 판단에 도움이 될 수 있습니다.
높은 거래 빈도는 자본 활용도가 떨어질 수 있습니다.
해결책:
강력한 터미널을 사용하고 매개 변수를 최적화하세요.
최적의 개인 매개 변수를 찾기 위해 광범위하게 백테스트합니다.
더 많은 지표들을 추가해서 미리 추세를 파악할 수 있습니다.
거래당 손실을 제한하기 위해 Stop Loss와 같은 리스크 제어 메커니즘을 최적화합니다.
이 전략은 다음과 같은 측면에서 개선될 수 있습니다.
최적의 조합을 찾기 위해 지표 매개 변수를 최적화합니다.
부피와 이익 요인 같은 지표를 추가하여 주식 선택을 향상시킵니다.
더 많은 트렌드 라인, 볼링거 밴드 등을 포함하여 지원/저항 수준을 예측합니다.
스톱 로스, 시장 진입 필터를 추가해 위험을 조절합니다.
매개 변수는 특성에 따라 다른 제품과 시간대에 따라 다릅니다.
이 전략은 STOCH.RSI, RSI, 듀얼 전략, CM 윌리엄스 및 MFI를 포함한 여러 지표를 정확하게 결합하여 시장 반전을 찾습니다. 크로스 검증은 신호 품질을 향상시키고 잘못된 신호를 감소시킵니다. 매개 변수 최적화 및 추가 필터와 같은 추가 개선은 안정적이고 실용적인 거래 시스템을 만들 수 있습니다.
/*backtest start: 2023-10-31 00:00:00 end: 2023-11-30 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ ////////////////////////////////////////////////////////////////////////// //// STOCHASTIC_RSI+RSI+DOUBLE_STRATEGY+CM_WILLIAMS_VIX_FIX+MFI //////// ////////////////////////////////////////////////////////////////////////// // This is a simple combination of integrated and published scripts, useful // if you don't have a PRO account and want to bypass the 3 indicators limit. // It includes: // 1) Stoch.RSI // 2) Relative strenght index (RSI) // 3) Stochastic + RSI, Double Strategy (by ChartArt) // 4) CM_Williams_Vix_Fix Finds Market Bottoms (by ChrisMoody) // 5) Monetary Flow Index (MFI) // For more details about 3) and 4) check the original scripts. //@version=3 // @author GianlucaBezziccheri strategy(title="Stoch.RSI+RSI+DoubleStrategy+CMWilliamsVixFix+MFI", shorttitle="Stoch.RSI+RSI+DoubleStrategy+CMWilliamsVixFix+MFI") ///STOCH.RSI/// smoothK = input(3, minval=1, title="Stochastic %K Smoothing") smoothD = input(3, minval=1, title="Stochastic %K Moving Average") lengthRSI = input(14, minval=1, title="RSI Lenght") lengthStoch = input(14, minval=1, title="Stochastic Lenght") RSIprice = close rsi1 = rsi(RSIprice, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) plot(k, color=blue, linewidth=2) plot(d, color=silver, linewidth=2) h0 = hline(80) h1 = hline(20) fill(h0, h1, color=purple, transp=78) ///RSI/// up = rma(max(change(RSIprice), 0), lengthRSI) down = rma(-min(change(RSIprice), 0), lengthRSI) rsi2 = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) plot(rsi2, color=fuchsia, linewidth=2) band0 = hline(70) band1 = hline(30) fill(band0, band1, color=purple, transp=100) ///OVERBOUGHT-OVERSOLD STRATEGY/// StochOverBought = input(80, title="Stochastic RSI overbought") StochOverSold = input(20, title="Stochastic RSI oversold") ks = sma(stoch(close, high, low, lengthStoch), smoothK) ds = sma(k, smoothD) RSIOverBought = input( 70 , title="RSI overbought") RSIOverSold = input( 30 , title="RSI oversold") vrsi = rsi(RSIprice, lengthRSI) if (not na(ks) and not na(ds)) if (crossover(ks,ds) and k < StochOverSold) if (not na(vrsi)) and (crossover(vrsi, RSIOverSold)) strategy.entry("LONG", strategy.long, comment="LONG") if (crossunder(ks,ds) and ks > StochOverBought) if (crossunder(vrsi, RSIOverBought)) strategy.entry("SHORT", strategy.short, comment="SHORT") ///CM WILLIAMS VIX FIX/// pd = input(22, title="LookBack Period Standard Deviation High") bbl = input(20, title="Bollinger Band Length") mult = input(2.0 , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up") lb = input(50 , title="Look Back Period Percentile High") ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%") pl = input(1.01, title="Lowest Percentile - 1.10=90%, 1.05=95%, 1.01=99%") hp = input(false, title="Show High Range (Based on Percentile and LookBack Period)?") sd = input(false, title="Show Standard Deviation Line?") 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 col = wvf >= upperBand or wvf >= rangeHigh ? lime : gray plot(hp and rangeHigh ? rangeHigh : na, title="Range High Percentile", style=line, linewidth=4, color=orange) plot(hp and rangeLow ? rangeLow : na, title="Range High Percentile", style=line, linewidth=4, color=orange) plot(wvf, title="Williams Vix Fix", style=columns, linewidth = 4, color=col, transp=85) plot(sd and upperBand ? upperBand : na, title="Upper Band", style=line, linewidth = 3, color=aqua) ///MONETARY FLOW INDEX length4 = input(title="MFI Length", defval=14, minval=1, maxval=2000) src4 = hlc3 upper4 = sum(volume * (change(src4) <= 0 ? 0 : src4), length4) lower4 = sum(volume * (change(src4) >= 0 ? 0 : src4), length4) mf4 = rsi(upper4, lower4) plot(mf4, color=yellow, style=line, linewidth=2, title="Monetary Flow Index") overbought=hline(70, title="MFI Overbought", color=yellow) oversold=hline(30, title="MFI Oversold", color=yellow) fill(overbought, oversold, color=#9915ff, transp=100)