하락 추세에서 단기 거래 전략

저자:차오장, 날짜: 2023-11-07 17:06:59
태그:

img

전반적인 설명

이 전략은 하락 추세를 활용하여 이동 평균 및 RSI 지표에 기초하여 단위 포지션을 점차적으로 구축합니다. 하락 시장에서 이익을 목표로합니다.

전략 논리

클로즈 가격은 100일 간직 이동 평균 이하이고 RSI는 30보다 높을 때, 쇼트한다. 그 다음 엔트리 가격보다 3% 높게 스톱 로스를 설정하고 엔트리 가격보다 2% 낮게 이윤을 취한다. 더 넓은 스톱 로스는 불필요한 스톱을 피하기 위해 더 많은 변동성을 허용한다. 가격이 스톱 로스를 초과하거나 이윤을 취하하는 밑으로 떨어질 때 포지션을 닫는다.

코인룰 플랫폼에서, 순차적으로 포지션을 구축하기 위해 여러 개의 순차적인 판매 주문을 설정하십시오. 하락 추세가 지속되면 포지션 크기를 증가하십시오. 주문 사이의 시간 간격을 설정하는 것도 전체 포지션 크기를 제어하는 데 도움이됩니다.

각 거래는 스톱 로스 오더와 수익 오더와 연결되어 있습니다. 비율은 미드 캐프 코인에 최적화되어 있습니다. 특정 코인에 따라 조정할 수 있습니다. 트렌드와 함께 거래 할 때, 스톱 로스 및 수익 비율은 1:1.5처럼 작동 할 수 있습니다.

엔트리 가격 이상 3%의 스톱 로스 진입 가격보다 2% 낮은 수익을 취합니다. 조금 더 큰 스톱 로즈는 더 많은 변동성을 허용합니다.

이점 분석

  • MA는 추세 방향을 잘 판단하고, 추세 추세를 적시에 파악합니다.
  • RSI 필터는 맹목적으로 짧은 것을 피합니다.
  • 단계적 위치 구축 통제는 더 나은 위험/이익 비율로 위험을 최대화합니다.
  • 손해를 멈추고 수익을 취하는 것은 각 거래에 대한 내구성을 보장합니다.

위험 분석

  • 급격한 V 반전이 큰 손실로 이어질 수 있습니다.
  • 스톱 손실 및 수익을 조정하기 위해 가격을 면밀히 모니터링해야합니다.
  • 지점 크기를 제어하기 위해 레버리지는 합리적이어야 합니다.
  • 불안한 시장에서 일시 중단 전략은 불필요한 손실을 피합니다.

최적화 방향

  • 다른 매개 변수와 함께 테스트 MA
  • 다른 매개 변수와 함께 RSI 조합을 테스트
  • 리스크-상금 최적화를 위해 스톱 로스 및 수익률을 조정합니다.
  • 위치 크기를 제어하기 위해 명령어 사이의 다른 시간 간격을 테스트

요약

이 전략은 MA와 RSI를 기반으로 하락 추세를 효과적으로 포착합니다. 점진적 위치 구축은 위험을 제어하고 스톱 로스 및 영업이익은 내구성을 보장합니다. 스톱 로스 / 영업이익 매개 변수를 조정하여 위험 보상 비율을 더 최적화합니다. 매개 변수 및 리스크 통제에 대한 개선이 가능합니다. 그러나 전반적으로 탄탄한 단기 단기 전략입니다.


/*backtest
start: 2022-10-31 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
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=4
strategy(shorttitle='Short In Downtrend',title='Short In Downtrend Below MA100', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 10,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2019, 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"

//MA inputs and calculations
inSignal=input(50, title='MASignal')

MA= sma(close, inSignal)

// RSI inputs and calculations
lengthRSI = input(14, title = 'RSI period', minval=1)
RSI = rsi(close, lengthRSI)


//Entry 
strategy.entry(id="short", long = false, when = close < MA and RSI > 30)

//Exit
shortStopPrice  = strategy.position_avg_price * (1 + 0.03)
shortTakeProfit = strategy.position_avg_price * (1 - 0.02)

strategy.close("short", when = close > shortStopPrice or close < shortTakeProfit and window())


plot(MA, color=color.purple, linewidth=2)


더 많은