이 전략은 RSI 지표를 사용하여 과잉 구매 및 과잉 판매 조건을 결정하고, 빠른, 중간 및 느린 이동 평균 라인을 사용하여 트렌드 판단 시스템을 결합하여 가격이 급등할 때 긴 또는 짧은 포지션을 여는 기회를 식별합니다.
RSI 지표를 사용하여 과반 구매 및 과반 판매 조건을 결정합니다.
트렌드를 결정하기 위해 다른 기간의 세 개의 SMA 라인을 사용하십시오.
빠른 라인이 중간 라인을 넘어서고 RSI 지표가 과잉 판매를 나타낼 때, 길게 가십시오
패스트 라인이 중간 라인 아래를 넘어가고 RSI 인디케이터가 과잉 구매를 표시하면 짧은 라인으로 이동합니다.
스톱 로스는 입시 가격의 4%로 설정됩니다.
이윤 취득은 대량으로 이루어집니다. 먼저 20%의 이윤을 취득하고, 가격 상승이 계속됨에 따라 15%를 취득하고, 점진을 점진적으로 종료합니다.
이 전략은 이동 평균 지표와 과잉 구매/ 과잉 판매 지표 RSI를 결합한다. 거래 기회를 판단하는 동안 가격 트렌드 변화를 포착함으로써 일반적으로 사용되는 트렌드 추적 전략에 속한다. 추가 최적화와 향상된 승률은 매개 변수 테스트와 추가 보조 판단 지표를 통합함으로써 달성될 수 있다.
/*backtest start: 2023-11-13 00:00:00 end: 2023-11-20 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © syfuslokust //@version=4 strategy(shorttitle='CoinruleCombinedCryptoStrat',title='CoinruleCombinedCryptoStrat', overlay=true) // RSI inputs and calculations lengthRSI = 14 RSI = rsi(close, lengthRSI) //Normal oversold = input(30) overbought = input(70) //ALGO //oversold= input(26) //overbought= input(80) //sell pct SellPct = input(20) ExitPct = input(15) //MA inputs and calculations movingaverage_signal = sma(close, input(9)) movingaverage_fast = sma(close, input(50)) movingaverage_slow = sma(close, input(200)) movingaverage_mid= sma(close, input(100)) //Look Back inp_lkb = input(12, title='Lookback Long Period') inp_lkb_2 = input(2, title='Lookback Short Period') perc_change(lkb) => overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100 //Entry //MA bullish = crossover(movingaverage_signal, movingaverage_fast) //Execute buy strategy.entry(id="long", long = true, when = (RSI < oversold and movingaverage_fast < movingaverage_mid)) //when = crossover(close, movingaverage_signal) and movingaverage_signal < movingaverage_slow and RSI < oversold) //Exit //RSI Stop_loss= ((input (4))/100) longStopPrice = strategy.position_avg_price * (1 - Stop_loss) //MA bearish = crossunder(movingaverage_signal, movingaverage_fast) //Execute sell strategy.close("long", qty_percent = SellPct, when = RSI > overbought and movingaverage_fast > movingaverage_mid) //when = (crossunder(low, movingaverage_signal) and movingaverage_fast > movingaverage_slow and RSI > overbought) or (movingaverage_signal < movingaverage_fast and crossunder(low, movingaverage_fast)) or (low < longStopPrice)) //PLOT plot(movingaverage_signal, color=color.black, linewidth=2, title="signal") plot(movingaverage_fast, color=color.orange, linewidth=2, title="fast") plot(movingaverage_slow, color=color.purple, linewidth=2, title="slow") plot(movingaverage_mid, color=color.blue, linewidth=2, title="mid")