ボトムハンター戦略 (Bottom Hunter strategy) は,仮想通貨の短期取引戦略である.この戦略は,ダウントレンド中にボトムを認識することによって適切なエントリーポイントを特定する.
この戦略は底盤を特定するために複数の技術指標を組み合わせます.特に,底部逆転信号を判断するためにMACD指標,過売状態を決定するためにRSI指標,価格が下線以下にあるかどうかを決定するためにボリンジャーバンドを使用します.すべての条件が満たされると購入信号が生成されます.
まず,戦略は底を判断するためにMACD分散を使用する.いわゆる分散は,MACD指標が新しい低点を作らない間,価格が新しい低点を作ることを意味します.この状況は取引量の弱まりを表し,通常は差し迫ったトレンド逆転を予告します.
第二に,戦略は,RSI指標が31.1以下であることを要求する.
最後に,ストラテジーは,閉じる価格がボリンジャー帯の中央線を下回ることを要求します.これは価格が通常の範囲を下回ったことを示し,それによって購入する機会がより良くなります.
上記の条件がすべて同時に満たされた場合,戦略は購入信号を生成し,ポジションを確立します.
ボトムハンター戦略には以下の利点があります
この戦略にはいくつかのリスクもあります:
上記のリスクに対応して,リアルタイムストップ損失追跡,パラメータ範囲の調整等を最適化するために使用できます.
戦略は以下の方向で最適化できる:
ボトムハンター戦略は,過剰なリターンを達成するためにキーボトムで購入する.ボトムを決定する論理は堅牢であり,偽信号を避けるために複数のフィルター条件を組み合わせている.適切なパラメータチューニングとストップ損失制御により,この戦略は短期仮想通貨取引で良好なパフォーマンスを発揮することができます.
/*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)