RSI와 SMA를 기반으로 한 단기 거래 전략


생성 날짜: 2024-02-01 10:35:30 마지막으로 수정됨: 2024-02-01 10:35:30
복사: 0 클릭수: 607
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

RSI와 SMA를 기반으로 한 단기 거래 전략

개요

이 전략의 이름은 단기 RSI와 SMA의 비율 변화이다. 이 전략은 RSI와 이동 평균과 같은 일반적인 기술 지표를 사용하여 거래의 입출구를 결정한다. RSI는 0에서 100 범위의 운동 지표이며, 시장의 과매매 과매매 현상을 나타낼 수 있다. SMA는 간단한 이동 평균이며, 가격의 단기 및 장기 동향을 반영할 수 있다. 이 전략은 이 두 지표를 기반으로 입출장 신호를 구성하고, 재측은 더 나은 효과를 얻을 수 있음을 보여준다.

전략 원칙

RSI가 50보다 크면 다단계 신호로 간주한다. 이는 시장이 다단계로 균형을 이루는 영역에 있음을 나타냅니다. 9일 SMA가 100일 SMA보다 높으면 단기 트렌드가 장기 트렌드보다 낫다는 것을 나타냅니다. 또한, 단기 9일 SMA의 상대 가격 변화가 6% 이상이면 단기 트렌드가 가속된다는 것을 나타냅니다.

이미 많은 지분을 보유하고 있다면, 이 전략은 패러폴리 라인 스톱로스를 사용하여 수익을 잠금합니다. 그것은 설정된 비율에 따라 손실을 따라 스톱하며, 가격이 회수될 때 포지션을 탈퇴합니다.

우위 분석

이 전략은 트렌드 지표와 오버 바이 오버 셀 지표를 결합하여, 비교적 명확한 트렌드가 나타나면 진입할 수 있으며, 또한 시장이 반전되고 있는 기간을 회피하여 거래의 위험을 크게 줄인다. 중지 손실 전략은 또한 수익을 잠금하여 트렌드 반전이 있을 때 수익이 완전히 증발하지 않도록 할 수 있다.

재검토 결과, 이 전략은 보다 명확한 단기 경향에서 수익을 낼 수 있으며, 더 효과적이다.

위험 분석

이 전략은 RSI와 SMA와 같은 지표에 의존하고 있으며, 이 지표들은 어느 정도의 지연성을 가지고 있다. 갑작스러운 사건이 시장의 급격한 역전으로 이어질 때, 이 전략은 제 시간에 퇴출할 수 없으며, 큰 손실을 초래할 수 있다.

또한, 높은 주파수 거래는 더 높은 거래 비용을 부담합니다. 거래 주파수가 너무 높다면, 축적 된 거래 비용은 또한 이익에 영향을 미칩니다.

최적화 방향

이 전략은 진입 및 출구 신호를 결정하기 위해 더 많은 지표를 결합하는 것을 고려할 수 있습니다. 예를 들어, 거래량 지표를 추가하여 가짜 돌파구를 피하십시오.

또한, 거래 종류, 주기 변수를 최적화하여 최적의 변수 조합을 찾을 수 있다. 또한, 높은 주기를 사용하여 트렌드 방향을 결정하고, 낮은 주기를 사용하여 입주를 결정하는 횡단주기 거래를 고려할 수 있다.

요약하다

이 전략은 단기 RSI와 SMA 퍼센트 변화 을 종합하여 RSI와 SMA와 같은 일반적인 기술 지표를 사용하여 단기 거래 전략을 구성합니다. 그것은 명확한 단기 추세를 잡을 수 있습니다. 이윤을 잠금하는 데에도 손해를 입는 동시에 이윤을 잠금합니다. 이 전략은 고주파 거래를 좋아하는 투자자에게 적합하지만 시장의 급격한 역전 위험을 경계해야 합니다. 이 전략은 더 나은 효과를 얻을 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-01-24 00:00:00
end: 2024-01-31 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/
// © Coinrule

//@version=5
strategy("Short Term RSI and SMA Percentage Change",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=100,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 5, 1, 0, 0)
notInTrade = strategy.position_size <= 0

//==================================Buy Conditions============================================

//RSI
length = input(14)
rsi = ta.rsi(close, length)
buyCondition1 = rsi > 50

//MA
SMA9 = ta.sma(close, 9)
SMA100 = ta.sma(close, 100)
plot(SMA9, color = color.green)
plot(SMA100, color = color.blue)
buyCondition2 = (SMA9 > SMA100)

//Calculating MA Percentage Change
buyMA = (close/SMA9)
buyCondition3 = buyMA >= 0.06

if (buyCondition1 and buyCondition2 and buyCondition3 and timePeriod) //and buyCondition
    strategy.entry("Long", strategy.long)

//==================================Sell Conditions============================================

// Configure trail stop level with input options
longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=5) * 0.01
shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=5) * 0.01

// Determine trail stop loss prices
longStopPrice = 0.0
shortStopPrice = 0.0

longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - longTrailPerc)
    math.max(stopValue, longStopPrice[1])
else
    0

shortStopPrice := if strategy.position_size < 0
    stopValue = close * (1 + shortTrailPerc)
    math.min(stopValue, shortStopPrice[1])
else
    999999
    
strategy.exit('Exit', stop = longStopPrice, limit = shortStopPrice)