가격 하락 구매 전략 하락 추세에서 손실 중지

저자:차오장, 날짜: 2024-01-05 14:18:05
태그:

img

전반적인 설명

이 전략은 잠재적인 시장 트렌드 방향을 결정하기 위해 RSI 지표를 사용하고, 주요 지원 및 저항 영역을 식별하기 위해 볼린거 밴드 지표와 결합하여 트렌드 쇼크 시장에서 낮은 흡수 기회를 찾고 긴 포지션을 설정하고 과잉 구매 지역에서 이익을 얻습니다.

전략 논리

  1. 잠재적인 시장 트렌드 방향을 결정하기 위해 RSI 지표를 사용하십시오. RSI 40 이하는 시장이 상승세를 올릴 수있는 과반 판매 영역으로 간주됩니다. RSI 50 이상은 시장이 하락세를 올릴 수있는 과반 구매 영역으로 간주됩니다.

  2. 주요 지지 및 저항 영역을 식별하기 위해 볼링거 밴드 지표를 사용하십시오. 볼링거 밴드의 중간 대역은 이동 평균 가격 라인이며 상위 및 하부 대역은 가격의 표준 편차 채널을 형성합니다. 하부 대역에 접근하는 가격은 낮은 흡수 기회를 제공합니다.

  3. RSI가 <40이고 가격이 볼링거 하위 대역에 접근하면 긴 포지션을 설정하는 낮은 흡수 긴 기회로 결정됩니다.

  4. RSI >50 또는 이윤이 50%를 넘으면, 이윤을 취하고 손실을 줄이기 위해 긴 포지션을 닫습니다.

이점 분석

  1. RSI를 사용하여 잠재적인 시장 트렌드 방향을 결정하여 트렌드에 반대되는 거래를 피합니다.

  2. 정확한 입시 시기를 확인하고 볼링거 밴드와 결합하여 낮은 흡수 지점을 찾습니다.

  3. 트렌드 쇼크 방법론을 적용해서 함정에 빠지지 않도록 해야 합니다.

  4. 유연한 스톱 이익 및 스톱 손실 메커니즘으로 수익을 극대화합니다.

위험 분석

  1. 부적절한 볼링거 매개 변수는 지원 영역을 올바르게 찾을 수 없습니다.

  2. 트렌드 돌파 또는 잘못된 돌파는 과잉 구매 및 과잉 판매 판단에 오류를 초래할 수 있습니다.

  3. 부적절한 스톱 이익 및 스톱 손실 포인트 설정은 조기 종료 또는 손실 증가를 초래할 수 있습니다.

최적화 방향

  1. 지원 및 저항 영역을 더 정확하게 식별하기 위해 볼링거 매개 변수를 최적화하십시오.

  2. MACD와 KDJ 같은 다른 지표를 포함하여 잘못된 신호를 필터합니다.

  3. 손실을 최소화하면서 수익을 극대화하기 위해 동적으로 수익 중지 및 손실 중지 알고리즘을 최적화하십시오.

요약

이 전략은 잠재적인 트렌드 방향을 RSI와 결합하여 볼링거 밴드와 결합하여 지원 영역을 식별하여 낮은 구매 높은 판매를 실현합니다. 이것은 전형적인 트렌드 쇼크 전략입니다. 적절한 최적화로 신뢰할 수 있고 안정적인 수익성 양적 전략이 될 수 있습니다.


/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("price drop buy in", overlay=true, initial_capital=1000, max_bars_back=24)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"


///////////// RSI
RSIlength = input(60,title="RSI Period Length") 
RSIoverSold = 40
RSIoverBought = 50
price = close
vrsi = rsi(close, RSIlength)

smaLong = sma(close,80)
smaShort = sma(close,40)

///////////// Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Period Length")
BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev

longcondition = (price < BBlower and vrsi < RSIoverSold) 

    // vrsi < RSIoverSold

shortcondition = (RSIoverBought and strategy.openprofit > 50 )  or price > BBupper






if(longcondition)
    strategy.entry('buy', strategy.long, when = window())
    
if(shortcondition)
    strategy.entry('sell', strategy.short, when = window())



더 많은