Stratégie du chasseur de fond

Auteur:ChaoZhang est là., Date: 2024-02-06 09:26:54 Je suis désolé
Les étiquettes:

img

Résumé

La stratégie Bottom Hunter est une stratégie de trading à court terme pour les crypto-monnaies.

Principe de stratégie

Cette stratégie combine plusieurs indicateurs techniques pour identifier les fonds. Plus précisément, elle utilise l'indicateur MACD pour juger des signaux de renversement du fond, l'indicateur RSI pour déterminer le statut de survente et les bandes de Bollinger pour déterminer si le prix est en dessous du rail inférieur. Un signal d'achat est généré lorsque toutes les conditions sont remplies.

Premièrement, la stratégie utilise la divergence MACD pour juger du fond. La soi-disant divergence signifie que le prix fait un nouveau bas alors que l'indicateur MACD ne fait pas un nouveau bas. Cette situation représente un affaiblissement du volume des transactions et présage généralement un renversement de tendance imminent.

Deuxièmement, la stratégie exige que l'indicateur RSI soit inférieur à 31,1.

Enfin, la stratégie exige que le prix de clôture soit inférieur à la ligne médiane des bandes de Bollinger, ce qui indique que le prix est tombé en dessous de la fourchette normale, offrant ainsi une meilleure occasion d'achat.

Lorsque toutes les conditions ci-dessus sont remplies en même temps, la stratégie génère un signal d'achat et établit une position.

Analyse des avantages

La stratégie du chasseur de fond présente les avantages suivants:

  1. L'utilisation de plusieurs indicateurs pour déterminer le fond assure l'exactitude de l'identification du fond
  2. Utiliser la divergence MACD pour juger des signaux d'inversion est une technique de trading expérimentée
  3. Le fait de juger à la fois des survente et des anomalies évite le risque de fausses ruptures
  4. Contrôle des positions prudent, ne construisant que des positions à des points clés, évite une négociation excessive

Analyse des risques

Cette stratégie comporte également des risques:

  1. Le marché peut encore chuter sans un stop loss rapide
  2. La combinaison de plusieurs conditions pour juger du fond peut manquer le fond dans certains scénarios
  3. La détermination manuelle de paramètres tels que les seuils RSI peut affecter les performances de la stratégie

En réponse aux risques susmentionnés, le suivi en temps réel des stops de perte, l'ajustement des plages de paramètres, etc. peuvent être utilisés pour l'optimisation.

Directions d'optimisation

La stratégie peut être optimisée dans les directions suivantes:

  1. Améliorer le mécanisme d'arrêt de perte adaptatif pour ajuster de manière flexible la position d'arrêt de perte en fonction de la volatilité du marché
  2. Tester et optimiser les critères de détermination des signaux d'achat pour identifier les paramètres optimaux
  3. Améliorer les algorithmes d'apprentissage automatique pour identifier automatiquement les paramètres et les règles de négociation
  4. Ajout d'un module de jugement de tendance pour éviter d'entrer sur des marchés en consolidation pendant les marchés en tendance
  5. Incorporer des indicateurs supplémentaires tels que la variation du volume pour améliorer l'identification du fond

Résumé

La stratégie Bottom Hunter consiste à acheter des fonds clés afin d'obtenir des rendements excédentaires. La raison de la détermination du fond est solide, tout en combinant plusieurs conditions de filtrage pour éviter de faux signaux.


/*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)


Plus de