
Двойная золотая EMA-крестная стратегия - это стратегия для отслеживания тенденций и взлома торговли, основанная на двухмесячных скользящих средних (EMA). Она производит сигнал покупки при их золотом пересечении и сигнал продажи при их мертвом пересечении, чтобы поймать изменения в ценовой тенденции. Эта стратегия одновременно сочетает условия ценового взлома EMA для подачи сигнала, чтобы отфильтровать ложные сигналы.
Стратегия двойного EMA Gold Cross Break основана на следующих принципах:
Используйте более короткий цикл ЭМА ((26-дневная линия) для захвата краткосрочных тенденций цен, используйте более длинный цикл ЭМА ((200-дневная линия) для определения долгосрочных тенденций.
Когда краткосрочная EMA пересекает длительную EMA снизу вверх, называется кристаллическим переходом, что означает, что цена перевернулась вверх и вниз, создавая сигнал “покупать”.
Когда краткосрочная EMA пересекает длительную EMA сверху вниз, называется паутинная смерть. Это означает, что цена перевернулась с паутинной на паутинную, что создает сигнал продажи.
При появлении перекрестного сигнала, цена должна одновременно прорваться через EMA, чтобы отфильтровать ложные сигналы и обеспечить надежность торгового сигнала.
Использование методов стоп-лосса и стоп-стоп для контроля риска и блокировки прибыли.
Двойной EMA золотой крестный прорыв имеет следующие преимущества:
Используя двойные ЭМА, можно эффективно отслеживать движение рынка, чтобы определить ценовые тенденции и перекрестные сигналы.
В сочетании с ценовым прорывом фильтруйте сигналы, чтобы избежать ошибочных перекрестных сигналов.
Это означает, что логика транзакций проста, понятна и легко реализуема.
Подходит для разных сортов и временных циклов, гибкий и универсальный.
Конфигурируемые параметры EMA и условия остановки убытков.
Также существуют следующие риски, связанные с двойным EMA-золотым крестом:
При колебаниях цен, пересечение EMA может происходить часто, создавая слишком много торговых сигналов. Параметры EMA могут быть соответствующим образом скорректированы, чтобы уменьшить количество пересечений.
Двойные ЭМА иногда задерживаются и не могут своевременно реагировать на изменения цен. Подтверждение может быть проведено в сочетании с другими показателями.
Слишком маленькая стоп-стоп может быть вызвана незначительными колебаниями цены, слишком большая стоп-стоп может пропустить часть прибыли. Необходимо скорректировать стоп-стоп-стоп в соответствии с рынком.
Необходимо определить масштабные тенденции, чтобы избежать обратной торговли, прежде чем появится торговый сигнал.
Двойной золотой EMA может быть оптимизирован в следующих аспектах:
Применение алгоритмов машинного обучения динамически оптимизирует параметры EMA, позволяя им лучше адаптироваться к колебаниям цен.
Добавление других показателей подтверждения сигнала, таких как количество прохожих, Брин-полоса и т.д., повышает качество сигнала.
В сочетании с глубоким обучением прогнозируемой ценовой траектории, Stop Loss Stop Stop приближается к оптимальной позиции.
Стратегическая оптимизация высокочастотных данных для повышения точности сигнала.
Добавление механизмов адаптивной коррекции сбоев, чтобы предотвратить слишком частое сбои.
В целом, двойная золотая стратегия прорыва 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)