
Обзор
Стратегия является автоматической торговой системой, основанной на перекрестных сигналах индексных движущихся средних (EMA). Она использует перекрестные связи двух линий EMA 12 и 25 для создания сигналов покупки и продажи и автоматически оптимизирует переключение позиций в зависимости от текущего состояния позиции. Это улучшенная версия традиционной стратегии двойных равнозначных линий, которая добавляет функции динамического управления позициями.
Стратегический принцип
Основная логика стратегии основана на следующих ключевых элементах:
- Используют индексные скользящие средние с более коротким периодом (12 дней) и более длительным периодом (25 дней) в качестве основных технических показателей
- Определение точек перехода рынка путем обнаружения пересечения линий EMA
- Золотой крест образуется, когда 12-дневная ЭМА пересекает 25-дневную ЭМА вверх, создавая полисигнал
- Смертный крест образуется, когда 12-дневная ЭМА пересекает 25-дневную ЭМА вниз, создавая пустой сигнал
- Система автоматически обнаруживает текущее состояние позиции и оптимизирует позиционное преобразование в соответствии с новым перекрестным сигналом
Стратегические преимущества
- Сигнальная система стабильна и надежна: перекрестные сигналы, основанные на EMA, реагируют на изменения рынка быстрее, чем простая скользящая средняя
- Интеллектуальный менеджмент позиций: система автоматически обнаруживает текущее состояние позиции и обеспечивает оптимальное переключение позиций при появлении сигнала
- Управление рисками: стратегия включает в себя полный механизм остановки и ликвидации позиций
- Визуальный эффект: на графике четко обозначены точки сигналов купли-продажи, чтобы торговцы могли их понять и отследить
- Ясная структура кода: для последующей оптимизации стратегии и корректировки параметров
Стратегический риск
- Риск рыночных потрясений: возможны частые ложные сигналы прорыва на рынке в поперечном колебании
- Риск скольжения: в рынках с небольшим объемом сделок может возникнуть проблема большого отклонения от цены исполнения от цены сигнала
- Риск задержки тренда: из-за использования равнолинейной системы сигнал отстает от верхнего и нижнего уровней рынка
- Риски управления капиталом: без разумного контроля за позицией может привести к значительным убыткам счета при последовательных убытках
- Технические риски: программированные транзакции могут быть затронуты техническими факторами, такими как задержка сети, системные сбои
Направление оптимизации стратегии
- Введение показателей волатильности: можно добавить такие показатели, как ATR или ленты Бринга, чтобы отфильтровать ложные прорывные сигналы
- Выбор оптимальных параметров: можно оптимизировать циклические параметры EMA с помощью обратной связи, чтобы сделать его более подходящим для конкретного рынка
- Повышение управляемой позиции: может быть изменена доля позиций в зависимости от динамики рыночных колебаний
- Добавление механизма остановки убытков: можно установить отслеживание остановки убытков для защиты как прибыльных, так и не прибыльных.
- Усовершенствованная фильтрация сигнала: можно добавить вспомогательные показатели, такие как трафик, интенсивность тренда, чтобы улучшить качество сигнала
Подвести итог
Это рационально разработанная, логически ясная автоматическая торговая стратегия. Благодаря сочетанию перекрестных сигналов EMA и интеллектуального управления позициями, стратегия может эффективно улавливать рыночные тенденции и своевременно корректировать позиции. Хотя существуют некоторые присущие риски, стратегия имеет хорошую практическую ценность и пространство для расширения с помощью разумных мер оптимизации и контроля риска.
Исходный код стратегии
/*backtest
start: 2024-07-01 00:00:00
end: 2025-01-01 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
// 本 Pine Script™ 代码遵循 Mozilla Public License 2.0 条款 https://mozilla.org/MPL/2.0/
// © pyoungil0842
//@version=6
strategy("EMA黄金/死亡交叉带优化持仓切换", overlay=true, calc_on_every_tick=true)
// EMA设置
ema12 = ta.ema(close, 12)
ema25 = ta.ema(close, 25)
// 黄金交叉和死亡交叉条件
goldenCross = ta.crossover(ema12, ema25) // 当EMA12向上穿过EMA25时
deathCross = ta.crossunder(ema12, ema25) // 当EMA12向下穿过EMA25时
// 检查当前持仓状态
isLong = strategy.position_size > 0 // 是否持有多头仓位
isShort = strategy.position_size < 0 // 是否持有空头仓位
// 黄金交叉发生时的处理
if (goldenCross)
if (isShort) // 如果持有空头仓位,则平空并开多
strategy.close("Short") // 平掉空头仓位
strategy.entry("Long", strategy.long) // 进入多头仓位
else if (not isLong) // 如果没有多头仓位,则开新多头
strategy.entry("Long", strategy.long)
// 死亡交叉发生时的处理
if (deathCross)
if (isLong) // 如果持有多头仓位,则平多并开空
strategy.close("Long") // 平掉多头仓位
strategy.entry("Short", strategy.short) // 进入空头仓位
else if (not isShort) // 如果没有空头仓位,则开新空头
strategy.entry("Short", strategy.short)
// 在图表上显示EMA线
plot(ema12, title="EMA 12", color=color.blue)
plot(ema25, title="EMA 25", color=color.orange)
// 在图表上显示信号
plotshape(series=goldenCross, title="黄金交叉", location=location.belowbar, color=color.green, style=shape.labelup, text="买入")
plotshape(series=deathCross, title="死亡交叉", location=location.abovebar, color=color.red, style=shape.labeldown, text="卖出")