Стратегия прорыва «Золотого креста» с двойной EMA


Дата создания: 2024-01-26 15:13:59 Последнее изменение: 2024-01-26 15:13:59
Копировать: 0 Количество просмотров: 617
1
Подписаться
1617
Подписчики

Стратегия прорыва «Золотого креста» с двойной EMA

Обзор

Двойная золотая EMA-крестная стратегия - это стратегия для отслеживания тенденций и взлома торговли, основанная на двухмесячных скользящих средних (EMA). Она производит сигнал покупки при их золотом пересечении и сигнал продажи при их мертвом пересечении, чтобы поймать изменения в ценовой тенденции. Эта стратегия одновременно сочетает условия ценового взлома EMA для подачи сигнала, чтобы отфильтровать ложные сигналы.

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

Стратегия двойного EMA Gold Cross Break основана на следующих принципах:

  1. Используйте более короткий цикл ЭМА ((26-дневная линия) для захвата краткосрочных тенденций цен, используйте более длинный цикл ЭМА ((200-дневная линия) для определения долгосрочных тенденций.

  2. Когда краткосрочная EMA пересекает длительную EMA снизу вверх, называется кристаллическим переходом, что означает, что цена перевернулась вверх и вниз, создавая сигнал “покупать”.

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

  4. При появлении перекрестного сигнала, цена должна одновременно прорваться через EMA, чтобы отфильтровать ложные сигналы и обеспечить надежность торгового сигнала.

  5. Использование методов стоп-лосса и стоп-стоп для контроля риска и блокировки прибыли.

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

Двойной EMA золотой крестный прорыв имеет следующие преимущества:

  1. Используя двойные ЭМА, можно эффективно отслеживать движение рынка, чтобы определить ценовые тенденции и перекрестные сигналы.

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

  3. Это означает, что логика транзакций проста, понятна и легко реализуема.

  4. Подходит для разных сортов и временных циклов, гибкий и универсальный.

  5. Конфигурируемые параметры EMA и условия остановки убытков.

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

Также существуют следующие риски, связанные с двойным EMA-золотым крестом:

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

  2. Двойные ЭМА иногда задерживаются и не могут своевременно реагировать на изменения цен. Подтверждение может быть проведено в сочетании с другими показателями.

  3. Слишком маленькая стоп-стоп может быть вызвана незначительными колебаниями цены, слишком большая стоп-стоп может пропустить часть прибыли. Необходимо скорректировать стоп-стоп-стоп в соответствии с рынком.

  4. Необходимо определить масштабные тенденции, чтобы избежать обратной торговли, прежде чем появится торговый сигнал.

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

Двойной золотой EMA может быть оптимизирован в следующих аспектах:

  1. Применение алгоритмов машинного обучения динамически оптимизирует параметры EMA, позволяя им лучше адаптироваться к колебаниям цен.

  2. Добавление других показателей подтверждения сигнала, таких как количество прохожих, Брин-полоса и т.д., повышает качество сигнала.

  3. В сочетании с глубоким обучением прогнозируемой ценовой траектории, Stop Loss Stop Stop приближается к оптимальной позиции.

  4. Стратегическая оптимизация высокочастотных данных для повышения точности сигнала.

  5. Добавление механизмов адаптивной коррекции сбоев, чтобы предотвратить слишком частое сбои.

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

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

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

//@version=5
strategy("EMA Buy/Sell Signal", shorttitle="EMABuySell", overlay=true)

// === INPUTS ===
src = input(close)
ema1Length = input(26, title='EMA-1')
ema2Length = input(200, title='EMA-2')

EMASig = input(true, title="Show EMA ?")
takeProfitPercent = input(2.0, title="Take Profit (%)") / 100
stopLossPercent = input(1, title="Stop Loss (%)") / 100

pema1 = ta.ema(src, ema1Length)
pema2 = ta.ema(src, ema2Length)

// Plotting EMAs
plot(EMASig ? pema1 : na, title='EMA-1', color=color.new(color.blue, 0), linewidth=2)
plot(EMASig ? pema2 : na, title='EMA-2', color=color.new(color.orange, 0), linewidth=2)

// EMA Crossover Buy Signal
EMACrossoverLong = ta.crossover(pema1, pema2)

// EMA Crossunder Short Signal
EMACrossoverShort = ta.crossunder(pema1, pema2)

// Crossover above EMA-200 Long Signal
CrossoverAboveEMA200 = ta.crossover(close, pema2)

// Trading logic for Long
if ((EMACrossoverLong and close > pema1 and close > pema2) or CrossoverAboveEMA200)
    strategy.entry("Buy", strategy.long, qty=1)

// Take Profit logic for Long
longCondition = close >= strategy.position_avg_price * (1 + takeProfitPercent)
if (strategy.position_size > 0 and longCondition)
    strategy.close("Buy")

// Stop Loss logic for Long
stopLossConditionLong = ta.crossunder(pema1, pema2)
if (strategy.position_size > 0 and stopLossConditionLong)
    strategy.close("Buy")

// Trading logic for Short
if (EMACrossoverShort and close < pema1 and close < pema2)
    strategy.entry("Sell", strategy.short, qty=1)

// Take Profit logic for Short
shortCondition = close <= strategy.position_avg_price * (1 - takeProfitPercent)
if (strategy.position_size < 0 and shortCondition)
    strategy.close("Sell")

// Stop Loss logic for Short
stopLossConditionShort = ta.crossover(pema1, pema2)
if (strategy.position_size < 0 and stopLossConditionShort)
    strategy.close("Sell")

// Visual Signals
plotshape(series=EMACrossoverLong or CrossoverAboveEMA200, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=EMACrossoverShort, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)