하위 어업 전략

저자:차오장, 날짜: 2024-01-18 15:44:10
태그:

img

전반적인 설명

바닥 낚시 전략은 전형적인 낮은 구매 및 높은 판매 전략이다. 그것은 과판점을 식별하기 위해 RSI 지표를 활용하고 가격이 어느 정도 떨어지면 낮은 가격으로 토큰을 축적하기 위해 구매 신호를 발산한다. 가격이 리바운드되면 RSI 출구 문턱을 설정하여 이익을 실현한다. 이 전략은 중장기 보유에 적합하다. 그것은 불안정한 시장에서 잘못된 브레이크를 효과적으로 필터링하고 보유의 비용 기반을 최적화 할 수 있다.

전략 논리

이 전략은 주로 RSI 지표에 의존하여 과판 조건을 식별합니다. RSI 지표의 정상적인 범위는 0에서 100입니다. RSI 지표가 설정된 35의 입력 문턱 이하로 떨어지면 구매 신호가 발급됩니다. RSI 지표가 설정된 65의 출구 문턱 이상으로 다시 상승하면 판매 신호가 발급됩니다. 이것은 낮은 구매와 높은 판매를 구현하기 위해 트렌드 반전 지점에서 적시에 입출과 출구를 허용합니다.

또한, RSI 지표와 결합된 조건을 형성하기 위해 전략에는 100 기간 간단한 이동 평균도 도입됩니다. RSI가 과판 구역에 들어갈 때 가격이 이동 평균 이하로 떨어질 때만 구매 신호가 활성화됩니다. 이것은 일부의 잘못된 브레이크를 필터링하고 불필요한 거래를 줄이는 데 도움이 될 수 있습니다.

전략 의 장점

  • 반전 시점에 입력을 위해 RSI를 사용하여 과판 및 과입 지점을 효과적으로 식별하여 더 나은 비용 기반을 얻습니다.

  • 이동 평균과 결합하여 잘못된 신호를 필터링하고, 정점에 구매하는 것을 피하십시오.

  • 중장기 보유에 적합하며, 잠재적인 상승 추세를 발견할 수 있습니다.

위험 과 해결책

  • 어떤 지연이 있고, 아마도 빠른 역전 기회를 놓칠 수도 있습니다.

    • 지표 반응 속도를 높이기 위해 RSI 계산 기간을 적절히 단축합니다.
  • 다른 시장에서 더 많은 손익분기점 또는 손실성 폐쇄가 발생할 수 있습니다.

    • 이동 평균 기간을 조정하거나 이동 평균을 제거
    • 적당하게 RSI 입력 및 출력 매개 변수를 느슨하게

최적화 방향

  • 다른 동전과 시간 프레임에서 테스트 매개 변수 최적화

  • MACD, 볼링거 밴드 등과 같은 다른 지표를 조합해보세요.

  • RSI 매개 변수 또는 이동 평균 매개 변수를 동적으로 조정합니다.

  • 위치 사이즈 전략을 최적화

요약

바닥 낚시 전략은 전반적으로 견고하고 실용적인 낮은 구매 및 높은 판매 전략입니다. RSI와 이동 평균과 함께 두 배 필터링을 통해 잘못된 신호를 효과적으로 억제하고 최적화된 매개 변수로 낮은 비용 기반을 얻을 수 있습니다. 동시에 지표 매개 변수를 적절히 최적화하고 위치 전략을 조정하면 자본 사용 효율이 높아질 수 있습니다.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 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=4
strategy(shorttitle='Optimized RSI Strategy',title='Optimized RSI Strategy - Buy The Dips (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, 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"



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

RSI_entry = input(35, title = 'RSI Entry', minval=1)
RSI_exit = input(65, title = 'RSI Close', minval=1)

//Calculate Moving Averages
movingaverage_signal = sma(close, input(100))

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

//Exit
//RSI
strategy.close("long", when = RSI > RSI_exit and window())

plot (movingaverage_signal)


더 많은