
Это многоцелевая стратегия, основанная на поддержке и трендовых EMA. Стратегия, которая позволяет найти оптимальные входные возможности, идентифицируя рыночные тенденции и ключевые поддерживающие позиции, в сочетании с динамическими остановками ATR и сегментированной прибылью для управления рисками. Стратегия, в основном, фокусируется на том, что цены возвращаются к поддержке во время восходящей тенденции, чтобы повысить уровень успешности сделки, устанавливая разумный риск-возврат.
Стратегия использует 100-циклическую ЭМА в качестве индикатора тренда, подтверждающего восходящий тренд, когда цена находится выше ЭМА. При этом рассчитывается 10-циклическая минимальная цена в качестве краткосрочной поддержки, когда цена возвращается вблизи поддержки ((поддержка +0.5*ATR) при поиске возможности для входа. После входа используется метод с частичной прибылью, при 5x ATR выигрышная позиция закрывается на 50%, оставшаяся позиция закрывается полностью при 10x ATR, при этом устанавливается 1x ATR в качестве динамического стоп-лосса. Риск на каждую сделку контролируется в пределах 3% от общей стоимости счета, чтобы реализовать управление риском путем динамического расчета размера позиции.
Стратегия создает целостную торговую систему, объединяя трендовое следование и отклонение от поддерживающих позиций, и реализует управление рисками с помощью сегментированного получения прибыли и динамического остановки убытков. Основные преимущества стратегии заключаются в ее совершенном механизме контроля риска и четкой логике торговли, но все еще требует постоянной оптимизации параметров и условий входа в практику, чтобы адаптироваться к различным рыночным условиям.
/*backtest
start: 2024-02-22 00:00:00
end: 2024-05-30 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Ultra-Profitable SMC Long-Only Strategy", shorttitle="Ultra_Profit_SMC", overlay=true)
// User Inputs
emaTrendLength = input.int(100, title="Trend EMA Length") // Faster EMA to align with aggressive trends
supportLookback = input.int(10, title="Support Lookback Period") // Short-term support zones
atrLength = input.int(14, title="ATR Length")
atrMultiplierSL = input.float(1.0, title="ATR Multiplier for Stop-Loss")
atrMultiplierTP1 = input.float(5.0, title="ATR Multiplier for TP1")
atrMultiplierTP2 = input.float(10.0, title="ATR Multiplier for TP2")
riskPercent = input.float(3.0, title="Risk per Trade (%)", step=0.1)
// Calculate Indicators
emaTrend = ta.ema(close, emaTrendLength) // Trend EMA
supportLevel = ta.lowest(low, supportLookback) // Support Level
atr = ta.atr(atrLength) // ATR
// Entry Conditions
isTrendingUp = close > emaTrend // Price above Trend EMA
nearSupport = close <= supportLevel + (atr * 0.5) // Price near support zone
longCondition = isTrendingUp and nearSupport
// Dynamic Stop-Loss and Take-Profit Levels
longStopLoss = supportLevel - (atr * atrMultiplierSL)
takeProfit1 = close + (atr * atrMultiplierTP1) // Partial Take-Profit at 5x ATR
takeProfit2 = close + (atr * atrMultiplierTP2) // Full Take-Profit at 10x ATR
// Position Sizing
capital = strategy.equity
tradeRisk = riskPercent / 100 * capital
positionSize = tradeRisk / (close - longStopLoss)
// Execute Long Trades
if (longCondition)
strategy.entry("Ultra Long", strategy.long, qty=positionSize)
// Exit Conditions
strategy.exit("Partial Exit", from_entry="Ultra Long", limit=takeProfit1, qty_percent=50) // Exit 50% at TP1
strategy.exit("Full Exit", from_entry="Ultra Long", limit=takeProfit2, qty_percent=100, stop=longStopLoss) // Exit the rest at TP2
// Plot Indicators
plot(emaTrend, color=color.blue, title="Trend EMA")
plot(supportLevel, color=color.green, title="Support Level", linewidth=2)