Стратегия максимизации прибыли на основе следования тренду


Дата создания: 2023-10-11 14:38:40 Последнее изменение: 2023-10-11 14:38:40
Копировать: 2 Количество просмотров: 593
1
Подписаться
1617
Подписчики

Обзор

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

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

  1. Вычислите 20-дневную простую подвижную среднюю базу close в качестве средней базовой линии
  2. Расчет 20-дневного стандартного отклонения close-dev в качестве основы для расстояния между треками вверх и вниз
  3. Средняя орбитальная основа ± 2*dev определяет верхний и нижний треки
  4. Вычислите среднее значение верхней 2 и нижней 2 цены за последние 20 дней basis2 как вторую среднюю строку
  5. Вышеупомянутые две средние трассы принимают среднее значение MB в качестве конечной средней трассы
  6. Сигнал “повышенный” - когда “close” больше “mid-track MB”, сигнал “повышенный” - когда “MB” больше “close”
  7. Показать, как сделать больше дилеров в зависимости от сигналов, чтобы получить прибыль от отслеживания тенденции

Анализ преимуществ

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

Анализ рисков

  1. При взрыве торговой позиции на пути или вниз от него следует учитывать стратегию сдерживания убытков, чтобы контролировать убытки.
  2. Ожидается более высокая частота сделок, необходимо учитывать влияние комиссионных
  3. Параметры, такие как промежуточные параметры, должны быть тщательно оптимизированы, чтобы избежать пересочетания
  4. При изменении тренда возможны ошибки в торговых сигналах
  5. Нельзя использовать слишком высокий уровень леверинга

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

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

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

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

Исходный код стратегии
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ErdemDemir

//@version=4
strategy("Lawyers Trend Pro Strategy", shorttitle="Lawyers Trend Pro Strategy", overlay=true)

src = close
mult = 2.0
basis = sma(src, 20)
dev = mult * stdev(src, 20)
upper = basis + dev
lower = basis - dev
offset = 0


lower2 = lowest(20)
upper2 = highest(20)
basis2 = avg(upper2, lower2)


MB= (basis+basis2)/2





col1=close>MB
col3=MB>close
colorE = col1 ? color.blue : col3 ? color.red : color.yellow
p3=plot(MB, color=colorE, linewidth=3)

// Deternine if we are currently LONG
isLong = false
isLong := nz(isLong[1], false)

// Determine if we are currently SHORT
isShort = false
isShort := nz(isShort[1], false)

// Buy only if the buy signal is triggered and we are not already long
buySignal = not isLong and crossover(close,MB)

// Sell only if the sell signal is triggered and we are not already short
sellSignal= not isShort and crossover(MB,close)
if (buySignal)
    isLong := true
    isShort := false

if (sellSignal)
    isLong := false
    isShort := true







/// LONG
strategy.entry("long", true , when = buySignal, comment="Open Long")

strategy.close("long", when=sellSignal, comment = "Close Long")

/// SHORT
strategy.entry("short", false,  when = sellSignal, comment="Open Short")

strategy.close("short", when=buySignal, comment = "Close Short")