この戦略は,日中のハンマー逆転パターンを,次の緑色のキャンドルと組み合わせて,潜在的な上向きの機会を見つける.ハンマー逆転パターンが現れ,次のキャンドルは緑色の上向きのキャンドルであるとき,戦略はロングポジションを開く.ストップロスはハンマーキャンドルの底に設定され,利益はエントリー価格の1.5倍に設定される.
ハンマーパターン (hammer pattern) は,ダウントレンドの終わりに現れる一般的なテクニカルパターンで,トレンド逆転の到来をシグナルにします.典型的なハンマーパターンは以下の特徴を持っています.
ハンマーパターンが確認されると,次のキャンドルが緑色の上向きキャンドルで,低値がハンマーキャンドルの低値よりも高くなった場合,上昇信号が形成され,ロングポジションが入力されます.リスクを制御するためにストップロスはハンマーキャンドルの低値に設定され,収益を収めるためにはエントリー価格の1.5倍に設定されます.
日中のハンマー逆転パターンの長戦略は,ハンマーパターンの逆転特性を完全に利用し,次の緑色のキャンドルの確認と組み合わせて,2つの連続したキャンドルパターンをベースにバリーシグナルを形成する.同時に,戦略はリスク露出を制御し,高いリスク報酬比を維持するために固定リスク報酬比を使用する.しかし,戦略のパターンの定義は比較的単純で,他の技術指標からの検証が欠けているため,実用的なアプリケーションでは高い信号失敗率に直面する可能性があります.また,ストップ損失が比較的近く設定されているため,戦略は高いシングル損失の問題にも直面しています.将来,戦略は,全体の安定性と収益性を高めるために信号確認とリスク制御の観点からさらに最適化され改善されることができます.
/*backtest start: 2023-03-09 00:00:00 end: 2024-03-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Hammer Pattern and Follow-Up Green Candle Strategy", overlay=true) // Detecting a Hammer candle isHammer() => bodySize = math.abs(close[1] - open[1]) lowerWickSize = open[1] - low[1] upperWickSize = high[1] - open[1] // For a red candle, the upper wick is from the open to the high bodyIsSmall = bodySize <= (high[1] - low[1]) * 0.3 // Body is less than 30% of the entire candle range lowerWickIsLong = lowerWickSize >= bodySize * 2 // Lower wick is at least twice the body length noUpperWick = upperWickSize == 0 or high[1] <= open[1] * 1.01 // No upper wick or very small close[1] < open[1] and bodyIsSmall and lowerWickIsLong and noUpperWick // Check if the current candle is green with no or small tail isGreenWithNoSmallTail() => close > open // Entry condition entryCondition = isHammer() and isGreenWithNoSmallTail() and low >low[1] // Calculate stop loss and take profit levels stopLossLevel = low[1] profitTargetLevel = close * 1.5 //Calculate position bodySize positionSize = 50000 / close // Execute strategy if (entryCondition) strategy.entry("Hammer Buy", strategy.long,qty=positionSize) strategy.exit("Take Profit / Stop Loss", "Hammer Buy", stop=stopLossLevel, limit=profitTargetLevel)