이중 이동 평균 가격 점프 전략

저자:차오장, 날짜: 2023-11-21 14:28:35
태그:

img

전반적인 설명

이 전략은 RSI 지표를 사용하여 과잉 구매 및 과잉 판매 조건을 결정하고, 빠른, 중간 및 느린 이동 평균 라인을 사용하여 트렌드 판단 시스템을 결합하여 가격이 급등할 때 긴 또는 짧은 포지션을 여는 기회를 식별합니다.

전략 원칙

  1. RSI 지표를 사용하여 과반 구매 및 과반 판매 조건을 결정합니다.

    • RSI 매개 변수는 14 기간으로 설정됩니다.
    • 과잉판매가 30점, 과잉구매가 70점
  2. 트렌드를 결정하기 위해 다른 기간의 세 개의 SMA 라인을 사용하십시오.

    • 패스트 라인은 9주기 SMA로 단기 트렌드를 나타냅니다.
    • 중간 선은 중장기 트렌드를 나타내는 50주기 SMA입니다.
    • 슬로우 라인은 200주기 SMA로 장기 트렌드를 나타냅니다.
  3. 빠른 라인이 중간 라인을 넘어서고 RSI 지표가 과잉 판매를 나타낼 때, 길게 가십시오

  4. 패스트 라인이 중간 라인 아래를 넘어가고 RSI 인디케이터가 과잉 구매를 표시하면 짧은 라인으로 이동합니다.

  5. 스톱 로스는 입시 가격의 4%로 설정됩니다.

  6. 이윤 취득은 대량으로 이루어집니다. 먼저 20%의 이윤을 취득하고, 가격 상승이 계속됨에 따라 15%를 취득하고, 점진을 점진적으로 종료합니다.

이점 분석

  1. 다른 기간의 세 개의 SMA 라인을 사용하면 다른 시간 프레임에 걸쳐 트렌드 변화를 판단 할 수 있습니다.
  2. RSI 지표의 사용은 과잉 구매/ 과잉 판매 영역 이외의 포지션을 개설하는 것을 피합니다.
  3. 래치 수익 취득 증가 보유 기간 및 전략의 평균 이익

위험 분석

  1. 3개의 이동평균선에서 나오는 잘못된 신호의 확률
  2. 채용을 할 때 부적절한 롯데 이익의 위험
  3. 높은 가격 변동이 있는 적절한 도구를 선택해야 합니다.

최적화 방향

  1. 입력 및 출구를 최적화하기 위해 이동 평균 및 RSI의 수정 매개 변수를 테스트 할 수 있습니다.
  2. 정확성을 향상시키기 위해 촛불 패턴 등을 필터 다른 지표를 추가 할 수 있습니다
  3. 더 이상 위험을 제어하기 위해 동적으로 손실을 추적 할 수 있습니다.

요약

이 전략은 이동 평균 지표와 과잉 구매/ 과잉 판매 지표 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")

더 많은