本策略是一种创新的多时间框架交易方法,结合了智能资金概念(Smart Money Concepts)、指数移动平均线(EMA)和多时间框架趋势分析,旨在通过精准的支撑压力区域识别和动态市场信号捕捉交易机会。
策略核心基于以下关键技术指标和分析方法:
该策略通过整合多时间框架分析、智能资金概念和先进的信号生成机制,为交易者提供了一种系统化和规范化的交易方法。尽管存在一些潜在风险,但其多维度分析和动态风险管理为交易者提供了显著优势。未来的优化将进一步提升策略的适应性和盈利潜力。
/*backtest
start: 2024-04-01 00:00:00
end: 2025-03-31 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © maechelang
//@version=6
strategy("Optimized Trading Strategy v6", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Timeframe Confirmation (M5 & M15) ===
m5_trend = request.security(syminfo.tickerid, "5", ta.sma(close, 50))
m15_trend = request.security(syminfo.tickerid, "15", ta.sma(close, 50))
// === Support & Resistance (Swing High & Low) ===
swingHigh = ta.highest(high, 50)
swingLow = ta.lowest(low, 50)
plot(swingHigh, "Resistance", color=color.blue, linewidth=2, style=plot.style_stepline)
plot(swingLow, "Support", color=color.red, linewidth=2, style=plot.style_stepline)
// === Supply & Demand Zones ===
demand_zone = ta.lowest(low, 20)
supply_zone = ta.highest(high, 20)
bgcolor(close > demand_zone ? color.new(color.green, 85) : na)
bgcolor(close < supply_zone ? color.new(color.red, 85) : na)
// === Smart Money Concepts (SMC) - Liquidity Grab & Breaker Block ===
liqGrab = (ta.highest(high, 10) < ta.highest(high, 50)) and (ta.lowest(low, 10) > ta.lowest(low, 50))
breakerBlock = ta.crossover(close, ta.sma(close, 50)) or ta.crossunder(close, ta.sma(close, 50))
// === News Filter (Hindari Volatilitas Tinggi) ===
newsVolatility = ta.tr(true) > ta.sma(ta.tr(true), 20) * 1.5
// === Buy & Sell Signals (EMA + SMC + Multi-Timeframe) ===
emaFast = ta.ema(close, 9)
emaSlow = ta.ema(close, 21)
buySignal = ta.crossover(emaFast, emaSlow) and close > swingLow and not breakerBlock and close > m5_trend and close > m15_trend and not newsVolatility
sellSignal = ta.crossunder(emaFast, emaSlow) and close < swingHigh and not breakerBlock and close < m5_trend and close < m15_trend and not newsVolatility
// === TP & SL Fixed 100 Pips ===
pip = syminfo.mintick * 100
buyTP = close + 100 * pip
buySL = close - 100 * pip
sellTP = close - 100 * pip
sellSL = close + 100 * pip
// === Entry & Exit Orders ===
if buySignal
strategy.entry("BUY NOW", strategy.long)
strategy.exit("EXIT BUY", from_entry="BUY NOW", limit=buyTP, stop=buySL)
label.new(bar_index, low, "BUY NOW\nEntry: " + str.tostring(close, "#.##") + "\nTP: " + str.tostring(buyTP, "#.##") + "\nSL: " + str.tostring(buySL, "#.##"), color=color.blue, textcolor=color.white, size=size.small)
if sellSignal
strategy.entry("SELL NOW", strategy.short)
strategy.exit("EXIT SELL", from_entry="SELL NOW", limit=sellTP, stop=sellSL)
label.new(bar_index, high, "SELL NOW\nEntry: " + str.tostring(close, "#.##") + "\nTP: " + str.tostring(sellTP, "#.##") + "\nSL: " + str.tostring(sellSL, "#.##"), color=color.red, textcolor=color.white, size=size.small)