Эта стратегия использует золотой крест и мертвый крест линий EMA в сочетании с ценой закрытия свечей для определения сигналов входа и выхода. Она длинна, когда быстрые линии EMA (8-, 13-, 21-периодные) пересекают линию EMA среднесрочной (55-периодная) и цена закрытия выше среднесрочной EMA; она коротка, когда быстрые линии EMA пересекают линию EMA среднесрочной и цена закрытия ниже среднесрочной EMA. Стратегия хорошо работает для ежедневных и часовых графиков.
Стратегия основана на принципах золотого креста и мертвого креста линий EMA. Код устанавливает 5 линий EMA различных периодов (8-, 13-, 21-, 55-, 200-период) и визуализирует их на графике.
Когда 8--, 13--, 21-периодные EMA пересекают 55-периодную EMA, а цена закрытия выше 55-периодной EMA, идет длинный.
Когда 8--, 13--, 21-периодные EMA пересекают 55-периодную EMA, а цена закрытия ниже 55-периодной EMA, перейти на короткий курс.
Используя взаимосвязь между быстрыми и среднесрочными линиями EMA в сочетании с фактическим прорывом цены закрытия, можно генерировать относительно надежные сигналы входа и выхода.
Преимущества этой стратегии:
Использование золотого креста и мертвого креста EMA может эффективно отслеживать изменения тренда.
Включение цены закрытия с отношением EMA помогает отфильтровать ложные прорывы.
Объединение нескольких EMA различных периодов улучшает надежность сигнала.
Простая и понятная логика, подходящая для новичков.
Настраиваемые периоды EMA, адаптируемые к различным рыночным условиям.
Визуализированные линии EMA формируют интуитивные торговые индикаторы.
Существуют также некоторые риски:
Системы EMA имеют плохую производительность в определении рыночных диапазонов, могут генерировать ложные сигналы.
Цена закрытия с EMA не может полностью избежать ложных прорывов.
Неправильное настройка параметров может привести к чрезмерной торговле и увеличению затрат.
Риск предвзятости при обратном тесте, живые выступления могут быть низкими.
Без эффективного контроля стоп-потери, может привести к большим потерям.
Некоторые способы дальнейшего совершенствования стратегии:
Добавьте другие индикаторы, такие как MACD, KDJ для фильтрации сигналов.
Включите обнаружение тенденций, чтобы избежать ударов.
Установите стоп-лосс для контроля одиночных потерь.
Оптимизировать периоды EMA для различных продуктов.
Внедрить размещение позиций на основе размера счета.
Ищите возможности в разные периоды времени.
Стратегия EMA Close - это простая, но эффективная стратегия, основанная на теории EMA. Она имеет сильное практическое значение с чистым кодом и легко изучается для новичков, а также может быть интегрирована в более сложные системы.
/*backtest start: 2023-09-18 00:00:00 end: 2023-09-25 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © x11joe strategy(title="EMA Candle Close Strategy", overlay=true,initial_capital=1000,commission_type=strategy.commission.percent,commission_value=0.26,default_qty_type=strategy.percent_of_equity,default_qty_value=100) len1 = input(8, minval=1, title="EMA #1") src1 = input(close, title="EMA Source #1") out1 = ema(src1, len1) plot(out1, title="EMA #1", color=close >= out1 ? color.gray : color.gray, linewidth = 1) len2 = input(13, minval=1, title="EMA #2") src2 = input(close, title="EMA Source #2") out2 = ema(src2, len2) plot(out2, title="EMA #2", color=close >= out2 ? color.white : color.white, linewidth = 2) len3 = input(21, minval=1, title="EMA #3") src3 = input(close, title="EMA Source #3") out3 = ema(src3, len3) plot(out3, title="EMA #3", color=close >= out3 ? color.blue : color.blue, linewidth = 3) len4 = input(55, minval=1, title="EMA #4") src4 = input(close, title="EMA Source #4") out4 = ema(src4, len4) plot(out4, title="EMA #4", color=close >= out4 ? color.yellow : color.yellow, linewidth = 3) len5 = input(200, minval=1, title="EMA #5") src5 = input(close, title="EMA Source #5") out5 = ema(src5, len5) plot(out5, title="EMA #5", color=close >= out5 ? #FF00FF : #FF00FF, linewidth = 4) //Buying requires the 8,13 & 21 to close above the 55 and a candle closing above this. if(out1>out4 and out2>out4 and out3>out4 and close>out4) strategy.entry("Long",strategy.long) if(out1<out4 and out2<out4 and out3<out4 and close<out4) strategy.entry("Short",strategy.short)