
이 전략은 래리 코너스의 고전적인 전략에 기초하여, 양평선 시스템을 사용하여 시장의 중·단선 흔들림을 포착하고, 과매도 지역에서 안심하기 위한 전략이다.
2주기 RSI 지표를 사용하여 주가가 초매 지역인지 판단하십시오.
긴 주기 평균선 ((200주기) 을 사용하여 큰 트렌드 방향을 판단하십시오. 가격이 긴 주기 평균선보다 높을 때만 포지션을 고려하십시오.
가격이 장기 평균선보다 높고 RSI 지표가 초매매선보다 낮을 때 시장 가격으로 단 하나 포지션을 더하십시오.
가격 상승이 단기 평균선 ((5주기) 을 돌파할 때, 시장 가격으로 평평하게 한단계 상승한다.
정책은 또한 다음과 같은 구성 옵션을 제공합니다.
RSI 파라미터: 주기 길이, 오버 바이 오버 세일 라인 위치.
평균선 변수: 길고 짧은 평균선 주기。
RSI 평균선 필터: RSI 평균선 판단을 추가하여 RSI 지표의 과도한 흔들림을 피하십시오.
스톱 손실 설정: 스톱 손실을 추가할 수 있습니다.
이중 동선 시스템을 사용하여 중장선 트렌드를 효과적으로 추적할 수 있다.
RSI 지표는 극심한 흔들림 속에서 최고의 출전 시점을 놓치지 않도록 한다.
다양한 변수 최적화에 적합하도록 조정할 수 있습니다.
rundown 해킹 전략, 쉽게 놓치지 마세요.
쌍평선 전략은 매개 변수에 민감하며, 최적의 효과를 얻기 위해 매개 변수를 최적화해야 한다.
무손실 설정에는 손실이 확대될 위험이 있다. 신중한 자금 관리가 필요하며, 단일 포지션 규모를 통제한다.
흔들리는 상황에서 가짜 돌파구가 있을 수 있고 손실 위험이 있다. 평균주기를 최적화하거나 필터로 다른 조건을 추가하는 것을 고려할 수 있다.
데이터 적합성을 재검토하는 위험. 전략의 안정성을 검증하는 데는 여러 시장에서 오랜 시간이 필요합니다.
RSI와 평균선의 파라미터 조합을 최적화하여 최적의 파라미터를 찾습니다.
거래량이 급격히 증가하는 것과 같은 다양한 입시 필터링 조건을 테스트하여 가짜 신호를 줄여줍니다.
단독 손실을 제어하기 위해 추적 스톱을 추가하십시오. 스톱 설정이 전체 수익에 미치는 영향을 평가해야합니다.
다른 포지션 보유 기간이 수익에 미치는 영향을 평가하고 최적의 포지션 보유 기간을 찾습니다.
더 긴 시간 주기 (예: 일계 레벨) 에서 전략의 안정성을 테스트한다.
이 전략은 양평선 트렌드 추적과 RSI 지표의 오버 바이 오버 셀 특성을 통합하여 전형적인 돌파구 시스템입니다. 매개 변수 최적화, 엄격한 자금 관리 및 안정성 검증을 통해 이 전략은 양적 거래의 강력한 도구가 될 수 있습니다. 그러나 거래자는 적합성 문제를 감지한 것에 대해 경계해야하며 실제에서 계속 조정하고 개선해야 합니다.
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("RSI Strategy", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
//Starter Parameters
length = input(title="RSI Lenght", defval=2)
overBoughtRSI = input(title="OverBought Level for RSI", defval=10)
shortLength = input(title="Short MA Length", defval=5)
longLength = input(title="Long MA Length", defval=200)
RuleMRSI=input(title="RSI Moving Average Filter", defval= true)
lengthmrsi=input(title="RSI Moving Average Length", defval=4)
overBoughtMRSI=input(title="OverBought Level for the Moving Average of the RSI", defval=30)
Rulestop=input(title="Apply Stop Loss", defval=false)
stop_percentual=input(title="% Stop Loss", defval=10)
//RSI
vrsi = rsi(close, length)
//Moving Averages
longma = sma(close,longLength)
shortma = sma(close,shortLength)
mrsi=sma(vrsi,lengthmrsi)
//Stop Loss
stop_level = strategy.position_avg_price*((100-stop_percentual)/100)
//Backtest Period
testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriod() => true
//Strategy
if testPeriod() and (not na(vrsi))
if (RuleMRSI==false) and (Rulestop==false)
if (vrsi<overBoughtRSI) and (close>longma)
strategy.entry("RsiLE", strategy.long , comment="Open")
if (close>shortma)
strategy.close_all()
if (RuleMRSI==true) and (Rulestop==false)
if (vrsi<overBoughtRSI) and (close>longma) and (mrsi<overBoughtMRSI)
strategy.entry("RsiLE", strategy.long , comment="Open")
if (close>shortma)
strategy.close_all()
if (RuleMRSI==false) and (Rulestop==true)
if (vrsi<overBoughtRSI) and (close>longma)
strategy.entry("RsiLE", strategy.long , comment="Open")
strategy.exit("RsiLE", stop = stop_level)
if (close>shortma)
strategy.close_all()
if (RuleMRSI==true) and (Rulestop==true)
if (vrsi<overBoughtRSI) and (close>longma) and (mrsi<overBoughtMRSI)
strategy.entry("RsiLE", strategy.long , comment="Open")
strategy.exit("RsiLE", stop = stop_level)
if (close>shortma)
strategy.close_all()