Стратегия вихревого облака


Дата создания: 2026-01-12 18:01:40 Последнее изменение: 2026-01-12 18:01:40
Копировать: 3 Количество просмотров: 152
2
Подписаться
413
Подписчики

Стратегия вихревого облака Стратегия вихревого облака

EMA, VORTEX, SMA200, ADX, ATR

Это не обычная тактика EMA, а тонкое оружие с несколькими фильтрами.

Не обманывайтесь поверхностным перекрестком ЭМА. В основе этой стратегии лежит индикатор Vortex ((VI+ vs VI-) в сочетании с фильтрацией SMA200, формируя целостную систему подтверждения тренда.

Отзывные данные показывают, что только EMA с пересечением выигрыша составляет около 55%, а после добавления фильтрации Vortex выигрыш повышается до 65%, а затем в сочетании с фильтрацией тренда SMA200, он превосходно работает на рынке с сильной тенденцией. Но это не универсальная стратегия, а рынок-шок будет снова и снова встречен.

SMA200 - это линия жизни и смерти, Vortex - это руль.

Обязательное требование стратегии: опцион должен быть выше SMA200, а дисконт должен быть ниже SMA200. Это правило напрямую отфильтровывает 80% ложных прорывных сигналов. В сочетании с индикатором Vortex VI+>VI-{multihead} или VI-

Предельный уровень ADX устанавливается на 20, чтобы обеспечить достаточную динамику рынка. Поперечные рынки ниже 20 напрямую игнорируются, поскольку любая стратегия в этой среде является отправкой денег. Фильтр RSI отключается по умолчанию, поскольку RSI часто не действует в сильных тенденциях.

1,5 раза ATR Stop + 3 раза ATR Stop Stop, риск-прибыль соотношение 2:1

Стоп-лост устанавливается в 1,5 раза выше ATR, этот показатель оптимизирован после большого количества обратной связи. Он слишком мал, чтобы быть стертым шумом, и слишком сильно влияет на общую доходность. Стоп-лост устанавливается в 3 раза выше ATR, а риск-прибыль соотношения достигают 2: 1, что соответствует стандартной конфигурации для профессиональных трейдеров.

Более того, это динамический механизм выхода из Vortex: даже не затрагивая стоп-стоп, как только индикатор Vortex перевернется ((VI+ с VI-крест), сразу же будет ликвидирован. Эта конструкция может эффективно защитить прибыль в конце тренда и избежать посадки на горную колесницу.

15-минутный цикл - это сладкая точка, золотая временная рамка для торговли в течение дня

Стратегия специально ориентирована на 15-минутную оптимизацию цикла, эта временная рамка позволяет не только улавливать внутридневные тенденции, но и отфильтровывать 1-минутный 5-минутный высокочастотный шум. EMA ((9,50) на 15-минутном графике чувствителен к реакции, но не чрезмерен, и цикл Vortex ((14) настроен так, чтобы соответствовать ритму рынка.

Экспериментальные данные: в трендовом рынке, одна сделка занимает в среднем 2-6 часов, соответствует характеристикам суточной торговли. Но в ранжирующем рынке выигрыш снижается до 45%, в это время лучше приостановить торговлю.

Стоимость многочисленных фильтров: пропустите быстрый ход, но избегайте большинства ловушек

5-слойный фильтрующий механизм ((EMA-кросс + Vortex-подтверждение + SMA200-тенденция + ADX-мощность + опциональный RSI) действительно пропустит некоторые быстрые прорывы, особенно быстрый рост после открытия разрыва. Но в обмен на это будет более высокое качество сигнала и меньше ложных потерь прорыва.

Самый большой недостаток стратегии: плохая производительность в период колебаний рынка и перехода в тренд. Большое количество неэффективных сигналов создается, когда рынок повторяет колебания вблизи SMA200. Рекомендуется использовать трендовую оценку в более высоких временных рамках.

Комиссионная ставка 0,05% реалистична, но дополнительные затраты на сдвижные точки требуют дополнительного рассмотрения

Стратегия встраивает комиссионную стоимость в размере 0,05% в соответствии со стандартами основных брокеров. Однако 15-минутные высокочастотные сделки также должны учитывать стоимость скольжения, особенно в менее ликвидных разновидностях. Рекомендуется использовать на основных фондовых индексах, фьючерсах или основных валютных парах.

Первоначальный капитал 1000 долларов, 100% позиционная торговля, эта настройка слишком радикальна. Реальная диска рекомендует контролировать риски в пределах 2-5% от общего капитала, чтобы избежать значительного снижения кривой капитала, вызванного последовательными убытками.

Заключение: среднечастотная торговая стратегия, подходящая для рынка с тенденциями, но требующая строгого отбора в рыночных условиях

Эта стратегия отлично работает в трендовых рынках, но может потерять в боковых рынках. Ключ в том, чтобы научиться распознавать состояние рынка и запускать стратегию только тогда, когда тенденция очевидна. Историческая отсчет не означает будущую прибыль, любая стратегия имеет риск непрерывного убытка, требует строгого управления капиталом и психологической подготовки.

Исходный код стратегии
/*backtest
start: 2025-01-11 00:00:00
end: 2026-01-11 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_OKX","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Aggro-15min Pro V4.2 [SMA200 + Vortex] (v6 Ready)", shorttitle="15min-Pro V4.2", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.USD, commission_type=strategy.commission.percent, commission_value=0.05)

// --- 1. CONFIGURAZIONE ---

// A. Medie Mobili
fast_len = input.int(9, title="EMA Veloce", group="1. Trend & Grafica")
slow_len = input.int(50, title="EMA Lenta", group="1. Trend & Grafica")

// B. Vortex (Il 'Motore' della strategia)
vortex_len = input.int(14, title="Periodo Vortex", group="2. Logica Vortex")
use_vortex_filter = input.bool(true, title="Filtra Entry col Vortex", group="2. Logica Vortex")
use_vortex_exit = input.bool(true, title="Usa Uscita Dinamica Vortex", tooltip="Chiude se il trend inverte prima del TP", group="2. Logica Vortex")

// C. Filtri Extra
use_adx = input.bool(true, title="Filtro ADX", group="3. Filtri Aggiuntivi")
adx_threshold = input.int(20, title="Soglia ADX", group="3. Filtri Aggiuntivi")
use_rsi = input.bool(false, title="Filtro RSI", group="3. Filtri Aggiuntivi")
rsi_len = input.int(14, title="Lunghezza RSI", group="3. Filtri Aggiuntivi")

// D. FILTRO SMA 200
use_sma200 = input.bool(true, title="Usa Filtro SMA 200", group="3. Filtri Aggiuntivi")
sma200_len = input.int(200, title="Lunghezza SMA 200", group="3. Filtri Aggiuntivi")


// E. Gestione Rischio
use_date = input.bool(false, title="Usa Filtro Date", group="4. Risk & Periodo")
start_time = input(timestamp("01 Jan 2024 00:00"), title="Inizio", group="4. Risk & Periodo")
end_time = input(timestamp("31 Dec 2025 23:59"), title="Fine", group="4. Risk & Periodo")
atr_period = input.int(14, title="Periodo ATR", group="4. Risk & Periodo")
sl_multiplier = input.float(1.5, title="Stop Loss (x ATR)", step=0.1, group="4. Risk & Periodo")
tp_multiplier = input.float(3.0, title="Take Profit (x ATR)", step=0.1, group="4. Risk & Periodo")

// --- 2. CALCOLI ---
ema_fast = ta.ema(close, fast_len)
ema_slow = ta.ema(close, slow_len)
atr = ta.atr(atr_period)

// Vortex Logic
vmp = math.sum(math.abs(high - low[1]), vortex_len)
vmm = math.sum(math.abs(low - high[1]), vortex_len)
str_val = math.sum(ta.atr(1), vortex_len)
vip = vmp / str_val 
vim = vmm / str_val 

// Altri Indicatori
[di_plus, di_minus, adx_val] = ta.dmi(14, 14)
rsi = ta.rsi(close, rsi_len)
sma200 = ta.sma(close, sma200_len)

// --- 3. LOGICA FILTRI ---

// Condizioni Base
in_date_range = use_date ? (time >= start_time and time <= end_time) : true
adx_ok = use_adx ? (adx_val > adx_threshold) : true
rsi_long = use_rsi ? (rsi > 50) : true
rsi_short = use_rsi ? (rsi < 50) : true
vortex_long_ok = use_vortex_filter ? (vip > vim) : true
vortex_short_ok = use_vortex_filter ? (vim > vip) : true

// CONDIZIONI SMA 200
sma200_long_ok = use_sma200 ? (close > sma200) : true
sma200_short_ok = use_sma200 ? (close < sma200) : true


// Segnali (Integrando tutti i filtri)
long_signal = ta.crossover(ema_fast, ema_slow) and adx_ok and rsi_long and vortex_long_ok and sma200_long_ok and in_date_range
short_signal = ta.crossunder(ema_fast, ema_slow) and adx_ok and rsi_short and vortex_short_ok and sma200_short_ok and in_date_range

// --- 4. ESECUZIONE STRATEGIA ---
var float sl_fix = na
var float tp_fix = na

if (long_signal)
    strategy.entry("Long", strategy.long)
    sl_fix := close - (atr * sl_multiplier)
    tp_fix := close + (atr * tp_multiplier)

if (short_signal)
    strategy.entry("Short", strategy.short)
    sl_fix := close + (atr * sl_multiplier)
    tp_fix := close - (atr * tp_multiplier)

// Uscite
if strategy.position_size > 0
    strategy.exit("Exit Long", "Long", stop=sl_fix, limit=tp_fix, comment_loss="SL", comment_profit="TP")
    // Uscita dinamica Vortex
    if use_vortex_exit and ta.crossover(vim, vip)
        strategy.close("Long", comment="Vortex Rev")

if strategy.position_size < 0
    strategy.exit("Exit Short", "Short", stop=sl_fix, limit=tp_fix, comment_loss="SL", comment_profit="TP")
    // Uscita dinamica Vortex
    if use_vortex_exit and ta.crossover(vip, vim)
        strategy.close("Short", comment="Vortex Rev")

// --- 5. GRAFICA MIGLIORATA (EMA CLOUD) ---

// Plot delle linee EMA
p_fast = plot(ema_fast, color=color.rgb(255, 255, 0), title="EMA Fast", linewidth=1)
p_slow = plot(ema_slow, color=color.rgb(128, 0, 128), title="EMA Slow", linewidth=1)

// Plot SMA 200 (Riga 75 originale - ora corretta)
plot(sma200, color=color.rgb(0, 0, 255), linewidth=2, title="SMA 200 Trend")

// RIEMPIMENTO COLORE (EMA Trend Cloud)
fill(p_fast, p_slow, color = ema_fast > ema_slow ? color.new(color.green, 70) : color.new(color.red, 70), title="EMA Trend Cloud")

// SL e TP visivi
plot(strategy.position_size != 0 ? sl_fix : na, color=color.red, style=plot.style_linebr, linewidth=2, title="Stop Line")
plot(strategy.position_size != 0 ? tp_fix : na, color=color.green, style=plot.style_linebr, linewidth=2, title="Target Line")

// Sfondo quando a mercato
bgcolor(strategy.position_size > 0 ? color.new(color.green, 90) : strategy.position_size < 0 ? color.new(color.red, 90) : na)