Краткосрочная стратегия торговли на основе EMA

Автор:Чао Чжан, Дата: 2024-02-20 14:06:27
Тэги:

img

Обзор

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

Логика стратегии

Стратегия использует 5 линий EMA с различными параметрами, в частности 10-дневные, 20-дневные, 50-дневные, 75-дневные и 200-дневные линии.

  1. Когда цена пересекает 75-дневную линию и опускается ниже 50-дневной линии, это считается сигналом для правильного краткосрочного отступления, чтобы занять короткую позицию.

  2. Если 10-дневная линия пересекает 20-дневную линию, продолжайте удерживать короткую позицию.

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

Преимущества

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

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

Риски

Основный риск этой стратегии заключается в сильных колебаниях цен в краткосрочной перспективе. Неконтролируемые резкие повышения или падения могут привести к нарушению стоп-лосса или линии прибыли, вызывая огромные потери. Кроме того, неправильные параметры могут привести к чрезмерной частоте торговых сигналов, которые подрывают прибыльность стратегии.

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

Оптимизация

Основное пространство оптимизации заключается в настройке параметров. Можно протестировать больше комбинаций, чтобы найти оптимальный портфель параметров. Например, можно ввести больше скользящих средних, таких как 60-дневные и 120-дневные линии, чтобы сформировать более богатый источник сигнала.

Оптимизация также может быть сделана вокруг таких аспектов, как остановка потерь и получение прибыли. Правильное ослабление диапазона остановки потерь может уменьшить вероятность неправильных остановок. Ужесточение диапазона получения прибыли может увеличить прибыльность. Эти корректировки параметров должны основываться на результатах бэкстеста для оптима.

Заключение

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


/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © theswissguy

//@version=5
strategy("Jan 2024 Daily (Short)", initial_capital = 10000, overlay=true, commission_value = 1)

// use closing prices as data source throughout calcs.
ema_source = close
price = close

// set up the EMA curves.
ema10 = ta.ema(ema_source, 10)
ema20 = ta.ema(ema_source, 20)
ema50 = ta.ema(ema_source, 50)
ema75 = ta.ema(ema_source, 75)
ema200 = ta.ema(ta.ema(ema_source, 200), 35)

plot(ema10, color=color.red, title="EMA10")
plot(ema20, color=color.orange, title="EMA20")
plot(ema50, color=color.green, title="EMA50")
plot(ema75, color=color.yellow, title="EMA75")
plot(ema200, color=color.blue, title="EMA200", linewidth = 4)

// if EMA50 <= price <= EMA75 AND EMA10 < EMA20 - sell
dailySellIndicator = ta.crossover(price, ema75) and ta.crossunder(price, ema50) and ta.crossunder(ema10, ema20) 
dailyBuyIndicator = ta.crossover(ema10, ema20)

if(dailySellIndicator)
    strategy.entry("daily", strategy.short)
else if(dailyBuyIndicator)
    strategy.entry("daily", strategy.long)



Больше