Это количественная торговая стратегия, которая сочетает в себе тренд EMA, прорыв круглых чисел и фильтрацию торговой сессии. Стратегия в основном опирается на направление тренда EMA, в сочетании с ценовыми паттернами прорыва на ключевых уровнях круглых чисел в качестве торговых сигналов, включая фильтрацию сеансов для повышения качества торговли. Стратегия использует стоп-лосс на основе процентов и получение прибыли для управления рисками.
Основная логика включает следующие ключевые элементы: 1. Использует 20-дневную EMA в качестве инструмента определения тренда, только на длинный период выше EMA и короткий период ниже 2. Поиск поглощающих рисунков вблизи ключевых круглых чисел (интервалы 5 долларов) 3. Торговля только в течение Лондонской и Нью-Йоркской сессий, чтобы избежать периодов низкой волатильности 4. Долгие сигналы требуют: бычьей модели поглощения, цены выше EMA, активной торговой сессии 5. Краткие сигналы требуют: медвежьей модели поглощения, цены ниже EMA, активной торговой сессии 6. Внедряет 1% стоп-лосс и 1,5% риска-вознаграждения для управления торговлей
Стратегия строит логически строгую торговую систему, объединяя несколько механизмов, включая тенденции EMA, ценовые модели и фильтрацию сеансов. Хотя она имеет определенные ограничения, постоянная оптимизация и усовершенствование могут потенциально повысить стабильность и прибыльность стратегии. Стратегия служит прочной основой для средне- и долгосрочной системы, подходящей для настройки на основе конкретных требований торговли.
/*backtest start: 2024-12-17 00:00:00 end: 2025-01-16 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=6 strategy("The Gold Box Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200) // Inputs roundNumberInterval = input.int(5, title="Round Number Interval ($)", minval=1) useEMA = input.bool(true, title="Use 20 EMA for Confluence") emaLength = input.int(20, title="EMA Length") // Session times for London and NY londonSession = input("0300-1200", title="London Session (NY Time)") nySession = input("0800-1700", title="New York Session (NY Time)") // EMA Calculation emaValue = ta.ema(close, emaLength) // Plot Round Number Levels roundLow = math.floor(low / roundNumberInterval) * roundNumberInterval roundHigh = math.ceil(high / roundNumberInterval) * roundNumberInterval // for level = roundLow to roundHigh by roundNumberInterval // line.new(x1=bar_index - 1, y1=level, x2=bar_index, y2=level, color=color.new(color.gray, 80), extend=extend.both) // Session Filter inLondonSession = not na(time("1", londonSession)) inNYSession = not na(time("1", nySession)) inSession = true // Detect Bullish and Bearish Engulfing patterns bullishEngulfing = close > open[1] and open < close[1] and close > emaValue and inSession bearishEngulfing = close < open[1] and open > close[1] and close < emaValue and inSession // Entry Conditions if bullishEngulfing strategy.entry("Long", strategy.long, comment="Bullish Engulfing with EMA Confluence") if bearishEngulfing strategy.entry("Short", strategy.short, comment="Bearish Engulfing with EMA Confluence") // Stop Loss and Take Profit stopLossPercent = input.float(1.0, title="Stop Loss (%)", minval=0.1) / 100 takeProfitPercent = input.float(1.5, title="Take Profit (%)", minval=0.1) / 100 strategy.exit("Exit Long", "Long", stop=close * (1 - stopLossPercent), limit=close * (1 + takeProfitPercent)) strategy.exit("Exit Short", "Short", stop=close * (1 + stopLossPercent), limit=close * (1 - takeProfitPercent))