Стратегия торговли на основе двойной EMA


Дата создания: 2023-09-20 11:39:40 Последнее изменение: 2023-09-20 11:39:40
Копировать: 0 Количество просмотров: 692
1
Подписаться
1617
Подписчики

Обзор

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

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

Стратегия рассчитывает две средние линии EMA быстро и медленно, с периодичностью 13 и 50 соответственно. Когда быстрая линия снизу вверх прорывает медленную линию, она создает сигнал покупки. Когда быстрая линия снизу вниз прорывает медленную линию, она создает сигнал продажи.

Если быстрая линия вновь пробивается через медленную, то появляется сигнал о пустоте. Если быстрая линия снова пробивается через медленную, то появляется сигнал о пустоте.

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

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

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

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

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

Можно расширить недельный интервал EMA, чтобы уменьшить частоту перекрестных сделок. Также можно использовать такие показатели, как объем сделок или волатильность, для вспомогательного суждения. Кроме того, оптимизация стратегии остановки убытков может снизить риск покрытия.

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

  1. Тестирование оптимизации параметров цикла EMA, чтобы найти оптимальные параметры.

  2. Судебные правила, такие как показатель увеличения емкости или показатель колебания.

  3. Вместе с прорывными сигналами и т.д. устанавливаются более строгие условия входа.

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

  5. Оптимизация стратегий по остановке убытков, такие как движущийся стоп, средний стоп и т. д.

  6. Динамическая корректировка позиций, оптимизация управления капиталом.

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

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © himanshumahalle

//@version=4
strategy("CROSS_ALGO SYSTEM")


// INPUT CONTROLS

lengthSEMA= input(title="LSEMA", type = input.integer, defval=13,minval=1,maxval=100,step=1)
lengthLEMA= input(title="LLEMA", type = input.integer, defval=50,minval=1,maxval=100,step=1)

//INDICATOR

SEMA= ema(close,lengthSEMA)
LEMA= ema(close,lengthLEMA)

// BUY AND SELL

buy = crossover(SEMA,LEMA)
sell = crossunder(SEMA,LEMA)

//EXITS

buyexit = crossunder(SEMA,LEMA)
sellexit = crossover(SEMA,LEMA)


//EXECUTION

strategy.entry("long",strategy.long,when=buy,comment = "Buy")
strategy.entry("short",strategy.short,when=sell,comment = "Sell")

strategy.close("long",when= buyexit , comment= "Sell")
strategy.close("short",when= sellexit , comment= "Buy")