
Динамическая стратегия отслеживания трендов - это краткосрочная количественная торговая стратегия, основанная на показателях JD Sequential. Эта стратегия позволяет эффективно ловить рыночные поворотные моменты, вводить и выводить в определенное время, отслеживая в реальном времени высокие и низкие цены, оценивая направление и силу текущей тенденции. По сравнению с традиционной стратегией JD Sequential, эта стратегия имеет следующие улучшения:
Эта стратегия подходит для использования в коротких временных промежутках, таких как 5 минут, 15 минут, и эффективно улавливает краткосрочные колебания цен и возможности поворота.
Основная логика стратегии отслеживания динамических тенденций в обратном направлении основана на показателе JD Sequential, который сравнивает высокие и низкие точки текущего цикла с высокими и низкими точками двух предыдущих циклов, чтобы определить, создает ли цена последовательно более высокие высокие точки или более низкие низкие точки, что дает последовательное число от 1 до 7.
В частности, в стратегии определены следующие переменные:
Логика создания торгового сигнала:
Логика сдерживания убытков:
Стратегия определяет направление и силу тренда в режиме реального времени с помощью сравнительных высоких и низких точек, а счетчики, отсчитывающие время входа в игру, могут эффективно улавливать кратковременные возможности для реверса. При этом устанавливается стоп-линия для контроля риска.
По сравнению с традиционной стратегией JD Sequential, динамическая стратегия отслеживания трендов имеет следующие преимущества:
Основным преимуществом этой стратегии является быстрое реагирование, которое может эффективно улавливать значительные колебания, вызванные краткосрочными внезапными событиями. В то же время, по сравнению с полностью ручной торговлей, генерирование и остановка алгоритмических сигналов может уменьшить эмоциональное воздействие на трейдеров, что повышает стабильность.
Однако есть и риск, связанный с стратегией отслеживания динамических тенденций:
Для снижения этих рисков можно оптимизировать следующее:
По словам эксперта, существует много возможностей для оптимизации стратегии отслеживания динамических тенденций, в том числе в следующих областях:
Многочасовой портфель. Можно определить направление основного тренда на более высоком временном периоде, чтобы избежать торговли с основным трендом.
В сочетании с другими показателями. Можно комбинировать с показателями частоты колебаний, показателями объема передачи и т. Д., Чтобы улучшить качество сигнала.
Фильтрация машинного обучения. Использование алгоритмов машинного обучения для вспомогательного суждения о торговых сигналах, уменьшение ошибочной торговли.
Оптимизация параметров. Можно оптимизировать параметры, такие как количество циклов подсчета, период торговли, процент держания позиций, чтобы соответствовать различным рыночным условиям.
Добавление механизмов управления рисками. Добавление более богатых средств управления рисками, таких как мобильный стоп, контроль позиций, чтобы еще больше ограничить риски.
Накопление данных повторного измерения. Расширение количества и временного интервала повторного измерения, стабильность параметров тестирования.
Динамическая стратегия отслеживания трендов для отмены тренда определяет направление и силу тренда в реальном времени с помощью более высоких низких точек, генерирует торговые сигналы с использованием 7-численных правил показателя JD Sequential, обеспечивает высокую частоту и захватывает кратковременные возможности для отмены. По сравнению с традиционной стратегией JD, стратегия использует улучшения, такие как использование высоких низких точек, сокращение циклов отсчета, увеличение механизма остановки убытков, что позволяет получать более своевременные торговые сигналы.
Основными преимуществами этой стратегии является быстрая реакция, подходящая для коротких линий захвата обратного отклонения, в то же время существуют такие риски, как частота торговли, радикальное остановка убытков и т. Д. Будущие направления оптимизации включают в себя корректировку параметров, усиление механизмов управления риском, многократное сочетание временных циклов и т. Д. Благодаря постоянной оптимизации и итерации эта стратегия может стать мощным инструментом для эффективного захвата краткосрочных обратных сигналов.
/*backtest
start: 2023-12-16 00:00:00
end: 2024-01-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// @NeoButane 7 Dec. 2018
// JD Aggressive Sequential Setup
// Not based off official Tom DeMarke documentation. As such, I have named the indicator JD instead oF TD to reflect this, and as a joke.
//
// Difference vs. TD Sequential: faster trade exits and a unique entry. Made for low timeframes.
// - Highs or lows are compared instead of close.
// - Mirrors only the Setup aspect of TD Sequential (1-9, not to 13)
// - Count maxes out at 7 instead of 9. Also part of the joke if I'm going to be honest here
// v1 - Release - Made as a strategy, 7 count
// . S/R on 7 count
// .. Entry on 7 count
// ... Exit on 5 count or S/R cross
//@version=3
title = "JD Aggressive Sequential Setup"
vers = " 1.0 [NeoButane]"
total = title + vers
strategy(total, total, 1, 0)
xx = input(true, "Include S/R Crosses Into Stop Loss")
show_sp = input(true, "Show Count 1-4")
sp_ct = 0
inc_sp(x) => nz(x) == 7 ? 1 : nz(x) + 1
sp_up = high > high[2]
sp_dn = low < low[2]
sp_col = sp_up ? green : red
sp_comCol = sp_up ? red : green
sp_ct := sp_up ? (nz(sp_up[1]) and sp_col == sp_col[1] ? inc_sp(sp_ct[1]) : 1) : sp_dn ? (nz(sp_dn[1]) and sp_col == sp_col[1] ? inc_sp(sp_ct[1]) : 1) : na
sp_com = sp_ct == 7
sp_sr = valuewhen(sp_ct == 5, close, 0)
sp_usr = valuewhen(sp_ct == 7 and sp_up, sma(hlc3, 2), 0)
sp_usr := sp_usr <= sp_usr[1] * 1.0042 and sp_usr >= sp_usr[1] * 0.9958 ? sp_usr[1] : sp_usr
sp_dsr = valuewhen(sp_ct == 7 and sp_dn, sma(hlc3, 2), 0)
sp_dsr := sp_dsr <= sp_dsr[1] * 1.0042 and sp_dsr >= sp_dsr[1] * 0.9958 ? sp_dsr[1] : sp_dsr
locc = location.abovebar
plotchar(show_sp and sp_ct == 1, 'Setup: 1', '1', locc, sp_col, editable=false)
plotchar(show_sp and sp_ct == 2, 'Setup: 2', '2', locc, sp_col, editable=false)
plotchar(show_sp and sp_ct == 3, 'Setup: 3', '3', locc, sp_col, editable=false)
plotchar(show_sp and sp_ct == 4, 'Setup: 4', '4', locc, sp_col, editable=false)
plotshape(sp_ct == 5, 'Setup: 5', shape.xcross, locc, sp_comCol, 0, 0, '5', sp_col)
plotshape(sp_ct == 6, 'Setup: 6', shape.circle, locc, sp_comCol, 0, 0, '6', sp_col)
plotshape(sp_ct == 7, 'Setup: 7', shape.circle, locc, sp_comCol, 0, 0, '7', sp_col)
// plot(sp_sr, "5 Count Support/Resistance", gray, 2, 6)
plot(sp_usr, "7 Count Resistance", maroon, 2, 6)
plot(sp_dsr, "7 Count Support", green, 2, 6)
long = (sp_com and sp_dn)
short = (sp_com and sp_up)
sl_l = xx ? crossunder(close, sp_dsr) or (sp_ct == 5 and sp_up) or short : (sp_ct == 5 and sp_up) or short
sl_s = xx ? crossover(close, sp_usr) or (sp_ct == 5 and sp_dn) or long : (sp_ct == 5 and sp_dn) or long
strategy.entry('L', 1, when = long)
strategy.close('L', when = sl_l)
strategy.entry('S', 0, when = short)
strategy.close('S', when = sl_s)