매도 과다 RSI 추격 전략


생성 날짜: 2023-09-26 16:11:55 마지막으로 수정됨: 2023-09-26 16:11:55
복사: 1 클릭수: 737
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 RSI 지표를 사용하여 암호화폐가 초하 상태에 있는지 판단하고, RSI가 30보다 낮으면 초하로 간주하고, 이 때 구매하고, 그 다음에는 스톱로스 및 스톱 프라이즈를 설정하고, 스톱 프라이즈에 도달하면 스톱로스를 판매하고, 스톱 프라이즈에 도달하면 스톱 프라이즈를 판매한다.

전략 원칙

  1. 이 전략은 RSI 지표를 사용하여 진입 시기를 판단한다. RSI 지표는 가격 변화의 속도와 폭을 계산하여 자산이 과매매되거나 과매매되는지 판단하는 기술 분석 지표이다. RSI 값은 0에서 100 사이이며, 일반적으로 RSI가 70보다 높으면 과매 지역이며, RSI가 30보다 낮으면 과매 지역이다.

  2. RSI 지표가 30보다 낮을 때, 과하로 판단하여, 더 많은 것을 구입하고 입장을 열 수 있습니다.

  3. 포지션을 개시한 후 스톱로스 및 스톱 가격을 설정한다. 스톱로스 가격은 입시 가격의 1% 미만이고, 스톱 가격은 입시 가격의 7% 이상이다.

  4. 만약 가격이 스톱 손실 가격보다 떨어지면, 스톱 손실을 입는다. 만약 가격이 스톱 손실 가격을 넘으면, 스톱 출전을 한다.

전략적 강점 분석

  1. RSI 지표 판단을 통해 오버박스를 판단하여 구매 시점을 결정합니다. 가격이 낮은 지점으로 떨어질 때 구매하여 더 나은 입시 가격을 얻을 수 있습니다.

  2. 스톱 손실을 설정하면 단편 손실을 제어할 수 있다. 스톱 손실의 폭은 작고, 일정 회개를 견딜 수 있다.

  3. 스톱을 설정하면 수익을 잠그고, 상승률을 놓치지 않습니다. 스톱의 폭이 커지면 수익이 최대화됩니다.

  4. 이 전략은 철회 통제력이 강하고 위험성이 낮습니다.

전략적 위험 분석

  1. RSI 지표가 오버하우스 신호를 발하는 것은 가격 반전을 의미하지 않으며, 계속 하락하여 스톱로스를 초래할 수 있다.

  2. 스톱패스는 너무 작아, 회귀가 너무 커지면 초 스톱패스가 발생할 수 있다.

  3. 이 경우, 상장률이 너무 커서 상장기 전에 상장하면 상장 기간이 너무 길어질 수 있습니다.

  4. 이 전략은 부진한 시점에 큰 손실을 초래할 수 있다.

전략 최적화 방향

  1. 다른 지표와 결합하여 RSI 오버박스 신호를 확인하고 잘못된 신호를 피한다. 예를 들어 KDJ 지표 등이다.

  2. 다양한 화폐의 변동에 따라 적절한 스톱로스 스톱 幅을 설정할 수 있다.

  3. 다른 시간 주기에서의 파라미터 설정을 테스트하여 최적의 파라미터 조합을 찾을 수 있다.

  4. 포지션 크기는 피드백 결과에 따라 최적화 할 수 있습니다.

요약하다

이 전략은 전반적으로 비교적 안정적인 초하위추적 전략이다. RSI 지표를 이용하여 초하위 구매를 판단하여 상대적으로 낮은 위치에 입장을 세울 수 있다. 위험을 제어하고 수익을 잠금하기 위해 스톱로스 을 설정한다. 이 전략은 후퇴를 조절할 수 있으며, 긴 라인 입장에 적합하다.

전략 소스 코드
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 15m
basePeriod: 5m
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/
// © brodieCoinrule

//@version=4
strategy(shorttitle='Oversold RSI with tight SL',title='Oversold RSI with tight SL Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100



// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
oversold= input(30)


//Entry 
strategy.entry(id="long", long = true, when = RSI< oversold and window())

//Exit
Stop_loss= ((input (1))/100)
Take_profit= ((input (7)/100))

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())