Двойное экспоненциальное сглаживание торговой системы, следующей за трендом

EMA ATR RSI AI ML
Дата создания: 2025-02-10 14:46:36 Последнее изменение: 2025-02-10 14:46:36
Копировать: 1 Количество просмотров: 335
1
Подписаться
1617
Подписчики

Двойное экспоненциальное сглаживание торговой системы, следующей за трендом

Обзор

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

Стратегический принцип

В основе стратегии лежит ее уникальный двухуровневый индексный алгоритм smoothing. Во-первых, система взвешивает цену закрытия, рассчитывая ее следующим образом:*Затем, с помощью настраиваемой индексальной гладкости, вычисляется гладкая кривая с 9 циклами и 30 циклами соответственно. Когда краткосрочная кривая пересекает долгосрочную кривую, система генерирует торговый сигнал.

Стратегические преимущества

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

Стратегический риск

  1. Частые ложные сигналы могут возникать в условиях волатильности рынка, что приводит к последовательным остановкам.
  2. По умолчанию сделки совершаются с использованием 100% капитала, а слишком высокий уровень леверинга может привести к большому риску.
  3. Стоп-стоп с фиксированным количеством очков может не подходить для всех рыночных условий.
  4. Система может попадать в просчеты в условиях резкого колебания рынка, что может повлиять на эффективность исполнения.
  5. Исторические отзывы не гарантируют будущих результатов.

Направление оптимизации стратегии

  1. Введение показателей волатильности (например, ATR) для динамической корректировки точки остановки.
  2. Добавление фильтров на интенсивность тренда и снижение частоты торгов в условиях слабого тренда.
  3. Включение модуля распознавания рыночной среды, автоматически корректирующего параметры стратегии в условиях колебаний рынка.
  4. Разработка динамической системы управления позициями, которая автоматически корректирует размер сделки в зависимости от рыночных условий.
  5. Интеграция модуля фундаментального анализа для повышения точности принятия торговых решений.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-02-10 00:00:00
end: 2025-02-08 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5  
strategy("Dynamic Trend Navigator AI [CodingView]", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity , default_qty_value=200 )  


// ==================================================================================================  
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/  
// © CodingView_23
//  
// Script Name: Dynamic Trend Navigator  
// Developed by: theCodingView Team  
// Contact: [email protected]  
// Website: www.theCodingView.com  
//  
// Description: Implements an adaptive trend-following strategy using proprietary smoothing algorithms.  
// Features include:  
// - Dual timeframe trend analysis  
// - Custom exponential smoothing technique  
// - Integrated risk management (profit targets & stop-loss)  
// - Visual trend direction indicators  
// ==================================================================================================  



// ====== Enhanced Input Configuration ======  
primaryLookbackWindow = input.int(9, "Primary Trend Window", minval=2)  
secondaryLookbackWindow = input.int(30, "Secondary Trend Window", minval=5)  

// ====== Custom Exponential Smoothing Implementation ======  
customSmoothingFactor(periods) =>  
    smoothingWeight = 2.0 / (periods + 1)  
    smoothingWeight  

adaptivePricePosition(priceSource, lookback) =>  
    weightedSum = 0.0  
    smoothingCoefficient = customSmoothingFactor(lookback)  
    cumulativeWeight = 0.0  
    for iteration = 0 to lookback - 1 by 1  
        historicalWeight = math.pow(1 - smoothingCoefficient, iteration)  
        weightedSum := weightedSum + priceSource[iteration] * historicalWeight  
        cumulativeWeight := cumulativeWeight + historicalWeight  
    weightedSum / cumulativeWeight  

// ====== Price Transformation Pipeline ======  
modifiedClose = (high + low + close * 2) / 4  
smoothedSeries1 = adaptivePricePosition(modifiedClose, primaryLookbackWindow)  
smoothedSeries2 = adaptivePricePosition(modifiedClose, secondaryLookbackWindow)  

// ====== Signal Detection System ======  
trendDirectionUp = smoothedSeries1 > smoothedSeries2 and smoothedSeries1[1] <= smoothedSeries2[1]  
trendDirectionDown = smoothedSeries1 < smoothedSeries2 and smoothedSeries1[1] >= smoothedSeries2[1]  

// ====== Visual Representation Module ======  
plot(smoothedSeries1, "Dynamic Trend Line", #4CAF50, 2)  
plot(smoothedSeries2, "Market Phase Reference", #F44336, 2)  

// ====== Risk Management Configuration ======  
enableRiskParameters = input.bool(true, "Activate Risk Controls")  
profitTargetUnits = input.float(30, "Profit Target Points")  
lossLimitUnits = input.float(30, "Stop-Loss Points")  

// ====== Position Management Logic ======  
var float entryPrice = na  
var float profitTarget = na  
var float stopLoss = na  

// ====== Long Position Logic ======  
if trendDirectionUp  
    strategy.close("Short", comment="Short Close")  
    strategy.entry("Long", strategy.long)  
    entryPrice := close  
    profitTarget := close + profitTargetUnits  
    stopLoss := close - lossLimitUnits  

if enableRiskParameters  
    strategy.exit("Long Exit", "Long", limit=profitTarget, stop=stopLoss)  

// ====== Short Position Logic ======  
if trendDirectionDown  
    strategy.close("Long", comment="Long Close")  
    strategy.entry("Short", strategy.short)  
    entryPrice := close  
    profitTarget := close - profitTargetUnits  
    stopLoss := close + lossLimitUnits  

if enableRiskParameters  
    strategy.exit("Short Exit", "Short", limit=profitTarget, stop=stopLoss)  

// ====== Visual Signals ======  
plotshape(trendDirectionUp, "Bullish", shape.labelup, location.belowbar, #00C853, text="▲", textcolor=color.white)  
plotshape(trendDirectionDown, "Bearish", shape.labeldown, location.abovebar, #D50000, text="▼", textcolor=color.white)  

// ====== Branding Module ======  
var brandingTable = table.new(position.bottom_right, 1, 1)  
if barstate.islast  
    table.cell(brandingTable, 0, 0, "Trading System v2.0", text_color=color.new(#607D8B, 50))