
Стратегия представляет собой комплексную торговую систему, которая сочетает в себе равнолинейную перекрестную, случайную фильтрацию индикаторов и адаптивный отслеживание стоп-убытков. Она основана на перекрестных сигналах быстрого движущегося среднего ((SMA 34) и медленного движущегося среднего ((SMA 200), а также использует Stochastic ((9-3-3) случайные индикаторы в качестве дополнительных фильтрующих условий для повышения надежности сигнала.
Основная логика стратегии строится на следующих ключевых компонентах:
Двухлинейная система: использование простых скользящих средних ((SMA) с 34 и 200 циклами, соответственно, для представления среднесрочных и долгосрочных тенденций. Когда краткосрочная средняя линия проходит через долгосрочную среднюю линию, указывает на формирование восходящей тенденции; наоборот, когда краткосрочная средняя линия проходит через долгосрочную среднюю линию, указывает на формирование нисходящей тенденции.
Фильтрация случайных показателей: Стохастический случайный индикатор с параметрами 9-3-3 в качестве вспомогательного инструмента для определения рынка перекупа и перепродажи. При рассмотрении многосигналов требуется значение случайного индикатора выше 20, чтобы избежать входа в рынок, когда отскок в зоне перепродажи еще недостаточен; При рассмотрении пустого сигнала требуется значение случайного индикатора ниже 80, чтобы избежать входа в рынок, когда откат в зоне перекупа еще не подтвержден.
Условия приема:
Механизм управления рисками:
Логика исполненияСтратегия: автоматическое исполнение сделок через модуль стратегии TradingView, при котором на каждую сделку используется 10% доли аккаунта.
Тренд-трек в сочетании с потрясениемВ сочетании с равнолинейной системой и Stochastic Random Indicator, стратегия позволяет одновременно улавливать тенденции и состояние рынка, повышая точность времени входа.
Многоуровневое подтверждениеВходный сигнал должен удовлетворять трем условиям: пересечение цены и средней линии, относительное положение средней линии и состояние случайного индикатора, эффективно уменьшая ложные прорывы и ошибочные сигналы.
Риск и выгода оправданыСтрока стратегии: 2%, целевая прибыль 4%, риско-прибыль 1:2 в соответствии с принципами здоровой торговли.
Динамический механизм гарантий: с помощью параметра breakvenTrigger ((2%), реализуется функция автоматического покрытия, гарантирующая, что сделка не перейдет от прибыли к убытку после того, как рынок развивается в пользу до определенной степени.
Визуализация торговых сигналов: Стратегия визуально отображает на ценовом графике сигналы о покупке и продаже, что позволяет трейдерам контролировать и анализировать эффективность стратегии.
Настройка параметровВсе ключевые параметры могут быть изменены с помощью входного интерфейса, включая среднелинейный цикл, стохастические параметры, коэффициент остановки, целевую прибыль и точку запуска гарантии, что делает стратегию хорошо адаптируемой.
Риск изменения тренда: Несмотря на то, что SMA 200 используется в качестве фильтра долгосрочных тенденций, рынок может в краткосрочной перспективе иметь быстрый обратный ход, в результате чего вызывается стоп-лосс.
Скидки и стоимость сделкиСтратегия: возможные проблемы с проскальзыванием и затратами на транзакции в реальной среде, влияющие на реальную доходность. Способы решения: оптимизация частоты транзакций, избежание слишком частых сделок или корректировка условий входа, требующих более сильного подтверждения сигнала.
Параметр Чувствительность: эффективность стратегии сильно зависит от параметров, различные рынки и временные периоды могут потребовать различные комбинации параметров. . Решение: проводить обратную оптимизацию, предусматривая различные параметры для различных рыночных условий. .
Среднелинейная отсталость: Движущийся средний по своей сути является отстающим показателем, который может привести к задержке времени входа или выхода из игры. Решение: можно рассмотреть возможность использования индекса Движущегося среднего ((EMA) вместо простого Движущегося среднего ((SMA), или в сочетании с другими ведущими показателями для подтверждения.
Фиксированный процент риска: использование фиксированного стоп-процента, который может не адаптироваться к изменениям волатильности рынка. Решение: создание динамического стоп-механизма, основанного на ATR (Average True Range), чтобы стоп-пункт был более подходящим для текущих рыночных волатильных характеристик.
Динамически скорректированный среднелинейный периодВ настоящее время в стратегии используются фиксированные средние циклы 34 и 200 циклов. Можно рассмотреть возможность автоматической корректировки средних циклов в зависимости от колебаний рынка, использования более длительных циклов в условиях высокой волатильности и более коротких циклов в условиях низкой волатильности для повышения адаптивности.
Подтверждение объема сделкиВ настоящее время входные сигналы основываются только на ценах и показателях, которые могут увеличивать условия объема сделки, требуя значительного увеличения объема сделки при появлении сигнала, чтобы подтвердить эффективность прорыва.
Анализ многовременных рамок: реализация механизмов подтверждения в нескольких временных рамках, например, требование того, чтобы направление тренда в более крупных временных рамках соответствовало направлению торговли, повышение надежности торговых сигналов.
Оптимизация логики стоп-лостаСовременные механизмы страхования относительно просты, и можно спроектировать более сложные логики отслеживания стоп-убытков, например, отслеживать расстояние в соответствии с динамическими настройками ATR или постепенно ужесточать отслеживание стоп-убытков с увеличением прибыли.
Добавление фильтра состояния рынкаВнедрение механизмов идентификации состояния рынка, например, идентификация силы тренда с помощью индикатора ADX, использование более радикальных параметров на рынках с сильными тенденциями и более консервативных параметров на рынках с волатильностью.
Оптимизация стохастических параметров: рассмотреть возможность использования адаптивных стохастических параметров, а не фиксированных9-3-3, чтобы лучше адаптироваться к различным рыночным условиям.
“Адаптивная стоп-стратегия для отслеживания убытков в сочетании с двухуровневыми перекрестными и случайными индикаторами” - это хорошо структурированная, логически ясная торговая система, которая эффективно интегрирует отслеживание тенденций, фильтрацию шокирующих индикаторов и механизм управления рисками. Подтверждение перекрестного сочетания стохастических случайных индикаторов в сочетании со SMA 34 и SMA 200 позволяет этой стратегии эффективно улавливать изменения тенденций на рынке, избегая при этом входа в неблагоприятные рыночные условия.
Тем не менее, в этой стратегии все еще есть возможности для улучшения, особенно в отношении адаптации к различным рыночным условиям. Использование стратегии может быть улучшено путем внедрения оптимизационных мер, таких как динамическая корректировка параметров, подтверждение объема сделки и анализ многократных временных рамок. Для трейдера понимание логических принципов, лежащих в основе стратегии, и соответствующая корректировка в соответствии с его рисковой готовностью и торговыми целями является ключом к ее успешному применению.
Как для долгосрочных инвесторов, стремящихся к стабильной прибыли, так и для активных трейдеров, ищущих краткосрочные торговые возможности, эта стратегия предоставляет структурированную структуру, которая помогает трейдерам принимать более систематизированные и дисциплинированные торговые решения на сложных и изменчивых рынках.
/*backtest
start: 2024-02-26 00:00:00
end: 2025-02-23 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=6
strategy('[DRAGON]SMA 34 & SMA 200 with Stochastic 9-3-3 & Trailing Stop (Price Chart)', overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Inputs for Moving Averages
SMA_fast_length = input.int(34, title='Fast SMA (34)', minval=1)
SMA_slow_length = input.int(200, title='Slow SMA (200)', minval=1)
// Inputs for Stochastic 9-3-3 (ใช้สำหรับเงื่อนไขเทรด แต่ไม่แสดงบนกราฟ)
stoK_length = input.int(9, title='Stochastic %K Length', minval=1)
stoD_length = input.int(3, title='Stochastic %D Smoothing', minval=1)
sto_smoothK = input.int(3, title='Stochastic Smoothing', minval=1)
// Define Stop Loss, Take Profit & Trailing Stop
stopLossPercent = input.float(2, title='Stop Loss %') / 100
takeProfitPercent = input.float(4, title='Take Profit %') / 100
breakevenTrigger = input.float(2, title='Move SL to BE when Profit Reaches (%)') / 100
// Calculate SMAs
sma34 = ta.sma(close, SMA_fast_length)
sma200 = ta.sma(close, SMA_slow_length)
// Calculate Stochastic (สำหรับใช้ในเงื่อนไขเทรด)
stoK = ta.sma(ta.stoch(close, high, low, stoK_length), sto_smoothK)
stoD = ta.sma(stoK, stoD_length)
// Plot Moving Averages บนกราฟราคา
plot(sma34, color=color.blue, title='SMA 34')
plot(sma200, color=color.red, title='SMA 200')
// Define Entry Conditions โดยมีเงื่อนไขจาก Stochastic
buySignal = ta.crossover(close, sma34) and sma34 > sma200 and stoK > 20
sellSignal = ta.crossunder(close, sma34) and sma34 < sma200 and stoK < 80
// Calculate Stop Loss & Take Profit Levels
longSL = strategy.position_avg_price * (1 - stopLossPercent)
longTP = strategy.position_avg_price * (1 + takeProfitPercent)
shortSL = strategy.position_avg_price * (1 + stopLossPercent)
shortTP = strategy.position_avg_price * (1 - takeProfitPercent)
// กำหนด Breakeven เมื่อได้กำไรตามที่ตั้งไว้
longBreakeven = strategy.position_avg_price * (1 + breakevenTrigger)
shortBreakeven = strategy.position_avg_price * (1 - breakevenTrigger)
longStop = close >= longBreakeven ? strategy.position_avg_price : longSL
shortStop = close <= shortBreakeven ? strategy.position_avg_price : shortSL
// Execute Trades
if buySignal
strategy.entry('Long', strategy.long)
strategy.exit('Long Exit', from_entry='Long', stop=longStop, limit=longTP)
if sellSignal
strategy.entry('Short', strategy.short)
strategy.exit('Short Exit', from_entry='Short', stop=shortStop, limit=shortTP)
// Plot Buy/Sell Signals บนกราฟราคา
plotshape(buySignal, location=location.belowbar, color=color.lime, style=shape.labelup, title='Buy Signal')
plotshape(sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title='Sell Signal')