
Это торговая стратегия, основанная на анализе многопериодных свечных моделей, которая в основном генерирует торговые сигналы путем выявления типичных свечных моделей, таких как бычье поглощение, медвежье поглощение и доджи. Стратегия работает на основе ежедневного цикла и определяет поворотные моменты рыночных тенденций, комбинируя несколько технических индикаторов и характеристик моделей, тем самым находя идеальное время входа в торговлю.
Основная логика стратегии заключается в программном определении трех классических свечных моделей:
При идентификации бычьей модели поглощения сигнал на покупку отображается ниже линии К; при идентификации медвежьей модели поглощения сигнал на продажу отображается выше линии К; при идентификации модели доджи она отмечается на уровне верхняя часть К-линии. Стратегия реализует маркировку сигналов с помощью функции label.new() и улучшает визуализацию сигналов с помощью функции plotshape().
Данная стратегия реализует классический анализ паттерна K-line программным способом и обладает хорошей работоспособностью и масштабируемостью. Благодаря разумной настройке параметров и контролю рисков он может стать ценным источником информации для принятия торговых решений. В будущем стабильность и надежность стратегии можно повысить за счет добавления большего количества технических индикаторов и оптимизации механизма подтверждения сигналов.
/*backtest
start: 2024-01-06 00:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Sensex Option Buy/Sell Signals", overlay=true)
// Input parameters
bullishColor = color.new(color.green, 0)
bearishColor = color.new(color.red, 0)
dojiColor = color.new(color.yellow, 0)
// Candlestick pattern identification
isBullishEngulfing = close[1] < open[1] and close > open and close > high[1] and open < low[1]
isBearishEngulfing = close[1] > open[1] and close < open and close < low[1] and open > high[1]
isDoji = math.abs(close - open) <= (high - low) * 0.1
// Plot buy/sell signals
buySignal = isBullishEngulfing
sellSignal = isBearishEngulfing
timeframeCondition = input.timeframe("D", title="Timeframe for signals")
// Buy Signal
if buySignal
label.new(bar_index, high, "Buy", style=label.style_label_up, color=bullishColor, textcolor=color.white)
strategy.entry("Buy", strategy.long)
// Sell Signal
if sellSignal
label.new(bar_index, low, "Sell", style=label.style_label_down, color=bearishColor, textcolor=color.white)
strategy.entry("Sell", strategy.short)
// Highlight Doji candles
if isDoji
label.new(bar_index, high, "Doji", style=label.style_circle, color=dojiColor, textcolor=color.black)
// Alerts
alertcondition(buySignal, title="Buy Alert", message="Bullish Engulfing Pattern Detected")
alertcondition(sellSignal, title="Sell Alert", message="Bearish Engulfing Pattern Detected")
// Add plot shapes for visibility
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=bullishColor, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=bearishColor, style=shape.labeldown, text="SELL")