바텀 헌터 전략


생성 날짜: 2024-02-06 09:26:54 마지막으로 수정됨: 2024-02-06 09:26:54
복사: 0 클릭수: 702
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

바텀 헌터 전략

개요

바닥 사냥꾼 전략은 디지털 화폐에 사용되는 단선 거래 전략이다. 이 전략은 하향 추세에서 바닥을 식별하여 적절한 구매 시점을 결정한다.

전략 원칙

이 전략은 여러 가지 기술적 지표를 결합하여 바닥을 식별합니다. 특히 MACD 지표를 사용하여 바닥의 반전 신호를 판단합니다. RSI 지표를 사용하여 과매매 상태를 판단합니다.

첫째, 이 전략은 MACD 지표의 의도적 분산을 사용하여 바닥을 판단한다. 의도적 분산이라 불리는 것은 가격 혁신이 낮고 MACD 지표는 혁신이 낮지 않은 것을 의미한다. 이러한 상황은 거래량이 약해지는 것을 나타내고, 일반적으로 다가오는 추세 반전을 예고한다.

두 번째, 전략은 RSI 지표가 31.1 이하로 요구됩니다. 30 이하의 RSI는 과매매 상태를 나타냅니다. 이것은 구매 기회를 제공합니다.

마지막으로, 이 전략은 종전 가격을 부린띠의 중간 궤도보다 낮게 요구한다. 이는 가격이 이미 정상적인 범위보다 낮아졌음을 의미하며, 따라서 구매에 더 좋은 기회를 제공한다.

위의 모든 조건이 동시에 충족되면, 이 전략은 구매 신호를 생성하여 좋은 위치를 구축한다.

우위 분석

바닥 사냥꾼 전략은 다음과 같은 장점이 있습니다.

  1. 다양한 지표를 사용하여 바닥을 판단하여 바닥을 정확하게 식별합니다.
  2. MACD 지표의 의도적인 분산을 사용하여 반전 신호를 판단하는 것은 숙련된 거래 기술입니다.
  3. 오버셀과 오동성을 판단하면서 가짜 돌파구를 피할 수 있습니다.
  4. 포지션 통제는 보수적이며, 중요한 지점에서만 포지션을 구축하여 과도한 거래를 피합니다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 시장이 더 추락할 수도 있고, 손실을 막기에는 무리가 있을 수도 있다.
  2. 다중 조건 조합으로 바닥을 판단하고, 일부 시나리오에서 바닥을 놓칠 수 있습니다.
  3. 전략의 성과에 영향을 미칠 수 있는 RSI의 마이너스와 같은 매개 변수를 수동으로 결정해야 합니다.

위와 같은 위험을 위해, 실시간 추적 스톱 로즈, 변수 간격 조정 등의 방법으로 최적화 할 수 있다.

최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 시장의 변동에 따라 유연하게 중지 위치를 조정하는 적응적 중지 메커니즘을 추가합니다.
  2. 구매 신호의 판단 조건을 테스트하고 최적화하여 최적의 매개 변수를 결정합니다.
  3. 기계 학습 알고리즘을 추가하고, 매개 변수 및 거래 규칙을 자동으로 인식합니다.
  4. 트렌드 판단 모듈을 추가하여 트렌드 시장에서 흔들리는 시장에 착각하는 것을 피하십시오.
  5. 거래량 변화와 같은 지표와 함께 바닥에 대한 판단력을 향상시킵니다.

요약하다

바닥 사냥꾼 전략은 중요한 바닥을 포획하여 추가 이익을 얻기 위해 구매합니다. 이 전략은 바닥을 판단하는 근거가 튼튼하며, 가짜 신호를 피하기 위해 여러 가지 필터링 조건을 결합합니다. 매개 변수가 적절하게 조정되면, 스톱 패스 컨트롤이 배치되면, 이 전략은 디지털 통화 시장의 단선 거래에서 좋은 효과를 얻을 수 있습니다.

전략 소스 코드
/*backtest
start: 2023-01-30 00:00:00
end: 2024-02-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MACD Divergence Strategy", shorttitle="Strategy: MACD Dive", overlay=true)

// MACD设置
fastLength = input.int(12, "Fast Length")
slowLength = input.int(26, "Slow Length")
signalSmoothing = input.int(9, "Signal Smoothing")

[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// 计算99日EMA均线
ema99 = ta.ema(close, 99)

// 计算RSI
rsiLength = input.int(14, title="RSI Length")
rsi = ta.rsi(close, rsiLength)

// 计算布林带中轨
length = input.int(20, "BB Length")
src = input(close, "Source")
mult = input.float(2.0, "BB StdDev")
basis = ta.sma(src, length)

// 买入筛选条件
priceLow = ta.lowest(low[1], 60)
macdLow = ta.lowest(macdLine[1], 60)
divergence = low < priceLow and macdLine > macdLow

allHighsBelowEma99 = true
for i = 0 to 14
    if high[i] > ema99
        allHighsBelowEma99 := false

rsiBelow = rsi < 31.1
priceDifference = (high - low) / low * 100

buySignal1 = divergence and allHighsBelowEma99 and rsiBelow
buySignal2 = high < ema99 and priceDifference >= 3 and close < open and high < basis 
buySignal3 = buySignal1 or buySignal2

// 定义一个变量来存储买入时的价格
var float buyPrice = na

// 买入逻辑
if buySignal3
    buyPrice := close // 存储买入时的价格
    strategy.entry("Buy", strategy.long)

// 止盈和止损条件
longTakeProfit = buyPrice * 1.1 // 止盈设为买入价格的1.2倍
longStopLoss = buyPrice * 0.98// 止损设为买入价格的0.99倍

// 应用止盈和止损
strategy.exit("Exit", "Buy", limit=longTakeProfit, stop=longStopLoss)
// 绘制买入信号
plotshape(series=buySignal3, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)