В процессе загрузки ресурсов... загрузка...

Торговая стратегия, основанная на последовательных золотых и смертных крестах MACD

Автор:Чао Чжан, Дата: 2024-04-30 17:26:19
Тэги:MACDЕМА

img

Обзор

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

Принцип стратегии

Основой этой стратегии является использование сигналов золотого креста и смертельного креста индикатора MACD для определения поворотных точек рыночных тенденций. Индикатор MACD состоит из быстрого скользящего среднего (EMA) и медленного скользящего среднего (EMA). Когда быстрая EMA пересекает медленную EMA, она образует золотой крест или смертельный крестный сигнал. Последующие золотые крестные сигналы указывают на то, что рынок может вступить в восходящий тренд, в этот момент открывается длинная позиция; Последующие смертельные крестные сигналы указывают на то, что рынок может вступить в нисходящий тренд, в этот момент открывается короткая позиция.

Преимущества стратегии

  1. Простая и понятная: стратегия основана на широко используемом индикаторе MACD, который имеет простой принцип и легко понимается и реализуется.
  2. Отслеживание тенденций: путем захвата последовательных сигналов золотого креста и смертельного креста стратегия может отслеживать основные тенденции рынка, что помогает извлекать выгоду из тенденций.
  3. Контроль рисков: стратегия позволяет пользователям устанавливать уровни получения прибыли и стоп-лосса, что помогает контролировать потенциальные риски и потери.
  4. Гибкое обратное тестирование: Стратегия предоставляет возможность выбора временного диапазона обратного тестирования, что позволяет пользователям оценивать эффективность стратегии в разные периоды времени по мере необходимости.

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

  1. Чувствительность параметров: производительность индикатора MACD зависит от выбора быстрого и медленного периодов EMA, и различные настройки параметров могут привести к различным торговым сигналам.
  2. Рыночный шум: при колебаниях или неопределенности на рынке индикатор MACD может генерировать больше ложных сигналов, что приводит к частым сделкам и потенциальным потерям.
  3. Тенденционное отставание: индикатор MACD является отстающим индикатором, и торговые сигналы могут появляться после того, как тенденция уже установлена, отсутствуя лучшая точка входа.
  4. Риск стоп-лосса: если рынок резко колеблется, цены могут быстро прорваться через уровень стоп-лосса, что приведет к большим потерям, чем ожидалось.

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

  1. Комбинация с другими индикаторами: Подумайте о сочетании индикатора MACD с другими техническими индикаторами (такими как RSI, полосы Боллинджера и т. д.), чтобы повысить надежность сигналов и отфильтровать ложные сигналы.
  2. Оптимизация параметров: посредством обратного тестирования и оптимизации различных быстрых и медленных периодов EMA, найдите комбинацию параметров, которая лучше всего подходит конкретному рынку и активу.
  3. Динамическое получение прибыли и стоп-лосс: динамически корректировать уровни получения прибыли и стоп-лосса на основе волатильности рынка или уровня цен для лучшего адаптации к изменениям рынка и контроля риска.
  4. Внедрение управления позициями: корректировка размера позиции каждой сделки на основе силы сигнала или рыночных условий для оптимизации соотношения риск-вознаграждение.

Резюме

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


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("连续MACD交叉和回测范围")
//策略初始化時間設置
useDateFilter = input.bool(true, title="启用时间回测范围", group="回测范围")
backtestStartDate = input(timestamp("1 Jan 2023"), title="开始时间", group="回测范围")
backtestEndDate = input(timestamp("1 Jan 2024"), title="结束时间", group="回测范围")
inTradeWindow = true

// 定义MACD指标参数
fastLength = input.int(12, "快速EMA周期")
slowLength = input.int(26, "慢速EMA周期")
signalSmoothing = input.int(9, "信号线平滑周期")
long_win = input.float(defval = 0.01,title = "多单止盈设置", tooltip = "0.01代表1%" )
long_lose= input.float(0.01,"多单止损设置")
short_win = input.float(0.01,"空单止盈设置")
short_lose = input.float(0.01,"空单止损设置")

// 计算MACD值
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// 定义金叉和死叉的条件
crossUp = ta.crossover(macdLine, signalLine)
crossDown = ta.crossunder(macdLine, signalLine)

// 使用历史状态记录上一次交叉情况
var lastCrossUp = false
var lastCrossDown = false

// 更新历史状态
if crossUp
    lastCrossUp := true
else if crossDown
    lastCrossUp := false

if crossDown
    lastCrossDown := true
else if crossUp
    lastCrossDown := false

// 交易执行逻辑:检查是否存在连续的金叉或死叉
if lastCrossUp and crossUp and inTradeWindow
    strategy.entry("买入开多", strategy.long)
    strategy.exit("买入止盈止损", "买入开多", limit=close * (1 + long_win), stop=close * (1 - long_lose))

if lastCrossDown and crossDown and inTradeWindow
    strategy.entry("卖出开空", strategy.short)
    strategy.exit("卖出止盈止损", "卖出开空", limit=close * (1 - short_win), stop=close * (1 + short_lose))

// 显示MACD线和信号线
plot(macdLine, "MACD线", color=color.blue)
plot(signalLine, "信号线", color=color.orange)


Связанные

Больше