더블 이동 평균 가격 점프 전략


생성 날짜: 2023-11-21 14:28:35 마지막으로 수정됨: 2023-11-21 14:28:35
복사: 0 클릭수: 586
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

더블 이동 평균 가격 점프 전략

개요

이 전략은 RSI 지표를 통해 과매매를 판단하고, 빠른 라인, 중간 라인, 느린 라인을 결합한 트렌드 판단 시스템으로, 가격이 점프할 때 포지션을 구축할 기회를 판단한다.

전략 원칙

  1. RSI를 통해 과매매를 판단하는 방법
  • RSI 변수는 14주기로 설정되어 있습니다.
  • 초판은 30이고, 초판은 70입니다.
  1. 세 개의 다른 기간의 SMA 평균을 사용하여 추세를 판단합니다.
  • 9주기 SMA를 나타내는 단기 트렌드입니다.
  • 50주기 SMA의 중간선은 중기 추세를 나타냅니다.
  • 느린 선은 200주기 SMA로, 장기적인 경향을 나타냅니다.
  1. 빠른 라인에서 중간 라인을 통과하고 RSI 지표가 과매매 할 때 추가로 입금하십시오.

  2. 하위 라인이 중간 라인을 통과하고 RSI 지표가 과매매를 표시하면 공백으로 입금하십시오.

  3. 입시 가격의 4%로 정지 손실을 설정합니다

  4. 이윤을 얻는 방법은 20%를 막고, 가격이 계속 상승하면 15%를 막고, 순차적으로 포지션을 종료하는 것입니다.

우위 분석

  1. 세 개의 다른 기간의 SMA 평균선을 사용하여 다른 기간의 추세 변화를 판단 할 수 있습니다.
  2. RSI를 사용하여 과매매하지 않은 지역에서 포장을 피하십시오.
  3. 세트 정지 은 전략 포지션 주기를 증가시키고 포지션의 평균 수익을 증가시킵니다.

위험 분석

  1. 세 개의 평행선이 잘못된 신호를 보내는 확률
  2. ‘조작’ ‘조작’ ‘조작’ ‘조작’
  3. 가격 변동이 큰 주식을 위한 적절한 주식을 선택해야 합니다.

전략 최적화 방향

  1. 평균선과 RSI의 변수를 수정하여 입출력 기회를 최적화 할 수 있습니다.
  2. 다른 지표들을 추가할 수 있습니다. 예를 들어 candle 형태를 필터링하여 전략의 정확도를 높일 수 있습니다.
  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")