
この戦略は,指数移動平均 ((EMA) と図形状を組み合わせた動的トレンド追跡システムである.それは,特定の図形状 ((針棒と吞食形状) を識別し,急速と遅いEMA指標を組み合わせて市場トレンドを決定し,ATR指標を使用して市場の変動性を測定する.戦略の核心思想は,市場トレンドが確認された場合,図形状によって正確な入場機会を識別することです.
この戦略は以下の3つの要素で構成されています.
入場条件は,トレンドと形状の共同確認を厳格に要求する.多頭入場は,市場が上昇傾向にある間,多頭図形を見ることが必要である.空頭入場は,市場が低下傾向にある間,空頭図形を見ることが必要である.
これは,複数の技術分析ツールを組み合わせて,比較的信頼性の高い取引システムを提供する,構造的なトレンド追跡戦略である.現在のバージョンには改善が必要な部分があるが,そのコアロギーは合理的です.この戦略は,推奨された最適化措置を実行することによって,より完全な取引システムになる可能性があります.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-19 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Candlestick Bible: Dynamic Price Follower (Corrected)", overlay=true, pyramiding=0, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
//=======================
// 1. PATTERN DETECTION
//=======================
// Pin Bar Detection
bodySize = math.abs(close - open)
upperShadow = high - math.max(close, open)
lowerShadow = math.min(close, open) - low
isBullishPin = (lowerShadow >= 2 * bodySize) and (upperShadow <= bodySize / 2)
isBearishPin = (upperShadow >= 2 * bodySize) and (lowerShadow <= bodySize / 2)
// Engulfing Pattern
isBullishEngulf = (close[1] < open[1]) and (close > open) and (close > open[1]) and (open < close[1])
isBearishEngulf = (close[1] > open[1]) and (close < open) and (close < open[1]) and (open > close[1])
//=======================
// 2. DYNAMIC TREND SYSTEM
//=======================
emaFast = ta.ema(close, 8)
emaSlow = ta.ema(close, 21)
marketTrend = emaFast > emaSlow ? "bullish" : "bearish"
//=======================
// 3. PRICE MOVEMENT SYSTEM
//=======================
atr = ta.atr(14)
//=======================
// 4. STRATEGY RULES
//=======================
longCondition = (isBullishPin or isBullishEngulf) and marketTrend == "bullish" and close > emaSlow
shortCondition = (isBearishPin or isBearishEngulf) and marketTrend == "bearish" and close < emaSlow
//=======================
// 5. STRATEGY ENTRIES
//=======================
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
//=======================
// 6. VISUAL FEEDBACK
//=======================
plot(emaFast, "Fast EMA", color=color.blue)
plot(emaSlow, "Slow EMA", color=color.red)
plotshape(longCondition, "Long Signal", shape.triangleup, location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, "Short Signal", shape.triangledown, location.abovebar, color=color.red, size=size.small)