Стратегия пересечения экспоненциальной скользящей средней и система оптимизации стоп-лосса и тейк-профита

EMA SL TP CROSS
Дата создания: 2024-11-27 16:15:25 Последнее изменение: 2024-11-27 16:15:25
Копировать: 1 Количество просмотров: 499
1
Подписаться
1617
Подписчики

Стратегия пересечения экспоненциальной скользящей средней и система оптимизации стоп-лосса и тейк-профита

Обзор

Стратегия представляет собой количественную торговую систему, основанную на пересечении 5-циклических и 15-циклических индексных движущихся средних ((EMA)). Стремится к стабильной прибыли, защищая при этом безопасность своих средств, устанавливая разумные уровни остановок и остановок. Стратегия использует классический равнолинейный пересекающийся сигнал для выявления изменений в рыночных тенденциях и в сочетании с механизмом управления рисками контролирует прибыль и убыток на каждой сделке.

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

В основе стратегии лежит наблюдение за перекрестным положением быстрых движущихся средних (5-циклических ЭМА) и медленных движущихся средних (15-циклических ЭМА). Когда 5-циклическая ЭМА пересекает 15-циклическую ЭМА вверх, система генерирует многосигналы; когда 5-циклическая ЭМА пересекает 15-циклическую ЭМА вниз, система генерирует нулевые сигналы. Для каждого торгового сигнала система автоматически устанавливает стоп-стоп на уровне 1,5% и стоп-стоп на уровне 3%.

Стратегические преимущества

  1. Механизм генерирования сигнала объективен и легко понятен, не подвержен субъективным суждениям
  2. Использование скользящих средних индексов уменьшает влияние ложных прорывов
  3. Установка фиксированного процента стоп-лосса и стоп-стоп для управления капиталом
  4. Риск-прибыль соотношение 1:2, в соответствии с принципами профессиональной торговли
  5. Простая логика стратегии, ее легко реализовать и поддерживать.
  6. Применимость к нескольким рынкам и временным периодам

Стратегический риск

  1. На форекс-рынке может часто появляться ложный сигнал, увеличивающий стоимость сделки
  2. Фиксированные параметры стоп-лосс и стоп-стоп могут не подходить для всех рыночных условий.
  3. Быстрые EMA более чувствительны к изменениям цен, что может привести к чрезмерной торговле
  4. Недостаточная гибкость управления рисками без учета рыночных колебаний
  5. В крайнем случае, остановка может не быть вовремя выполнена.

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

  1. Введение динамической корректировки показателя волатильности на уровне стоп-стоп
  2. Добавление фильтров трендов и уменьшение ложных сигналов в горизонтальном рынке
  3. Динамика корректировки цикла EMA в зависимости от рыночных особенностей
  4. Добавление механизма подтверждения транзакций повышает надежность сигнала
  5. Внедрение временных фильтров, чтобы избежать торговли в неблагоприятное время
  6. Рассматривается возможность добавления механизмов трайлинговых остановок и оптимизации способов получения прибыли.

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

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

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-26 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("5 EMA and 15 EMA Crossover with Stop Loss and Target", overlay=true)

// Define EMAs
ema5 = ta.ema(close, 5)
ema15 = ta.ema(close, 15)

// Plot EMAs on the chart
plot(ema5, title="5 EMA", color=color.blue)
plot(ema15, title="15 EMA", color=color.red)

// Crossover conditions
longCondition = ta.crossover(ema5, ema15)
shortCondition = ta.crossunder(ema5, ema15)

// Stop-loss and take-profit percentage
stopLossPercent = 1.5  // Stop-loss at 1.5%
takeProfitPercent = 3.0  // Take-profit at 3%

// Calculate stop-loss and take-profit levels for long and short positions
longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100)
longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100)

shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100)
shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100)

// Enter long position with stop-loss and take-profit
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLoss, limit=longTakeProfit)

// Enter short position with stop-loss and take-profit
if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Short", stop=shortStopLoss, limit=shortTakeProfit)

// Plot stop-loss and take-profit levels
plot(longStopLoss, title="Long Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr)
plot(longTakeProfit, title="Long Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)
plot(shortStopLoss, title="Short Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr)
plot(shortTakeProfit, title="Short Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)