
이 전략은 브린라인과 RSI의 FNGU 수량 거래 전략으로, FNGU 이 주식만을 위한 긴 포지션 전략이다. 이 전략은 주로 브린라인 지표와 RSI 지표를 사용하여 주식의 과매매 상황을 식별하여 구매 및 판매 신호를 생성한다.
이 전략의 핵심 논리는 브린 라인 지표와 RSI 지표의 조합 사용에 기초한다.
첫째, 브린선은 세 개의 선으로 구성되어 있다. 중선, 상선, 하선. 중선은 n일 간소 이동 평균이며, 상선과 하선은 각각 중선의 k배의 양-무효 표준차이다. 가격이 상선이나 하선에 가까워지거나 닿을 때 주가가 과매매 상태에 들어간다는 것을 나타낸다.
이 전략에서, 부린 라인 중계 기간의 길이는 235일이며, 변수 k의 값은 2이다. 부린 라인 아래에서 가격이 낮거나 가격이 아래에서 위로 부린 중계 라인을 돌파할 때 구매 신호가 발생한다. 부린 라인 상에서 가격이 높을 때 판매 신호가 발생한다.
둘째, RSI 지표는 주식의 과매매 정도를 반영한다. RSI 70 이상은 과매매를, 30 이하는 과매매를 의미한다. 이 전략에서, RSI 파라미터 기간의 길이는 2 ᄂ이다.
이 전략에서, 부린 라인 지표와 RSI 지표가 결합되어 사용된다: RSI 지표가 초상도에서 돌파되고 동시에 가격이 부린 하위 라인을 넘어서거나 접촉할 때 구매 신호가 발생한다. RSI 지표가 초상도에서 돌파되고 가격이 부린 오프 라인을 넘어서면 판매 신호가 발생한다.
이 전략에는 다음과 같은 장점이 있습니다.
부린라인과 RSI를 결합하여 구매 및 판매 신호를 더욱 정확하고 신뢰할 수 있도록 합니다.
부린 라인을 사용하여 주식의 과매매 영역을 식별하고 RSI가 가짜 신호를 필터링하여 상호 보완합니다.
롱 포지션 거래만 하고, 공백 거래의 위험을 고려하지 않는다.
FNGU의 변동성이 높은 주식에는 최적화된 전략이 적용됩니다.
자동으로 손실을 멈추고 손실 위험을 줄입니다.
프로그래밍은 단순하고 명확하며, 이해하기 쉽고 수정하기 쉽습니다.
이 전략에는 다음과 같은 위험도 있습니다.
부린라인과 RSI는 모두 가짜 신호를 생성할 수 있으며, 경매에 쉽게 노출되어 신중한 거래가 필요합니다. 적절한 변수를 조정하거나 다른 지표를 추가하여 필터링 할 수 있습니다.
FNGU 주식은 그 자체로 변동성이 높으며, 부적절한 중지 설정은 손실을 증가시킬 수 있다. 적절히 느슨한 중지 범위를 해야 한다.
이 전략은 FNGU와 같은 높은 변동성 주식에만 적합하며, 다른 주식에는 적합하지 않으며, 다른 주식에 따라 변수를 조정해야 한다.
전략 매개 변수는 최적화되었지만 시장의 변화는 매개 변수가 더 이상 적용되지 않도록 만들 수 있으며, 지속적인 최적화에 주의가 필요합니다.
이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.
KDJ, MACD 등과 같은 다른 지표 조합을 추가하여 신호를 더 정확하게 만듭니다.
부린라인과 RSI의 매개 변수를 최적화하여 더 많은 종류의 주식에 적합합니다.
더 많은 데이터를 사용하여 거래 신호를 생성하는 기계 학습 모델 보조 의사 결정을 추가하십시오.
초주기 거래를 가능하게 하고, 더 높은 시간 차원의 데이터를 활용하여 신호를 생성한다.
감정 분석과 함께 소셜 데이터를 활용하여 거래 신호를 생성합니다.
다양한 파라미터 설정을 빠르게 테스트할 수 있는 양적 피드백 시스템을 개발한다.
이 전략은 긴 포지션 전략으로, 특히 FNGU와 같은 변동성이 큰 주식에 적합하다. 이 전략은 부린 라인 지표와 RSI 지표가 결합되어, 과매매 과매매 상황이 발생했을 때 거래 신호를 발생시키고, 주식 가격의 역전 기회를 잡기 위해 고안되었다. 이 전략의 최적화 공간은 여전히 넓고, 더 많은 연구와 더 나은 효과를 위해 개선할 가치가 있다.
/*backtest
start: 2023-12-29 00:00:00
end: 2024-01-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Bollinger + RSI + EMA, Double Strategy Long-Only (by EMKM)", shorttitle="1Min Killer", overlay=true)
///////////// RSI
RSIlength = input(2, title="RSI Period Length") // Adjusted RSI period length
RSIoverSold = 50
RSIoverBought = 50
price = close
vrsi = rsi(price, RSIlength)
///////////// Bollinger Bands
BBlength = input(235, minval=1, title="Bollinger Period Length") // Adjusted Bollinger period length
BBmult = 2
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
BBtarget38 = BBbasis + 0.38 * BBdev // Line at 38% of Bollinger Band width
BBtarget50 = BBbasis + 0.50 * BBdev // Line at 50% of Bollinger Band width
///////////// EMA
emaLength = input(20, title="EMA Period Length")
ema = ema(close, emaLength)
source = close
buyEntry = crossover(source, BBlower) or (close < BBlower and close > BBbasis) or (low < BBlower and close > BBbasis) // Add condition for low touching Bollinger Band
sellEntry = crossunder(source, BBupper)
///////////// Plotting
plot(BBbasis, color=color.aqua, title="Bollinger Bands SMA Basis Line")
plot(BBupper, color=color.silver, title="Bollinger Bands Upper Line")
plot(BBlower, color=color.silver, title="Bollinger Bands Lower Line")
plot(BBtarget38, color=color.blue, linewidth=2, title="SMA at 38% of BB width") // Line at 38%
plot(BBtarget50, color=color.green, linewidth=2, title="SMA at 50% of BB width") // Line at 50%
plot(ema, color=color.orange, title="EMA") // Plot EMA
///////////// RSI + Bollinger Bands Strategy
longCondition = crossover(vrsi, RSIoverSold) and buyEntry
sellCondition = crossunder(vrsi, RSIoverBought) and close > BBupper
close_long = close > BBbasis
close_short = close < BBbasis
if (not na(vrsi))
if longCondition
strategy.entry("Buy", strategy.long, qty=10, stop=BBlower, comment="Buy")
else
strategy.cancel(id="Buy")
if close_long
strategy.close("Buy")
if (sellCondition)
strategy.entry("Sell", strategy.short, qty=10, stop=BBupper, comment="Sell")
else
strategy.cancel(id="Sell")
if close_short
strategy.close("Sell")