Эта стратегия разработана с учетом принципов перекрестного использования линий EMA для проведения соответствующих краткосрочных сделок и получения достойной прибыли, когда цены в некоторой степени снижаются.
Стратегия использует 5 линий EMA с различными параметрами, в частности 10-дневные, 20-дневные, 50-дневные, 75-дневные и 200-дневные линии.
Когда цена пересекает 75-дневную линию и опускается ниже 50-дневной линии, это считается сигналом для правильного краткосрочного отступления, чтобы занять короткую позицию.
Если 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)