Система автоматического отслеживания прибыли на основе множественных индексов скользящих средних

EMA MA
Дата создания: 2024-12-04 15:35:32 Последнее изменение: 2024-12-04 15:35:32
Копировать: 0 Количество просмотров: 547
1
Подписаться
1617
Подписчики

Система автоматического отслеживания прибыли на основе множественных индексов скользящих средних

Обзор

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

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

Стратегия, основанная на пересечении ЭМА и позиционных отношениях в течение нескольких временных циклов для принятия торговых решений. В частности:

  1. Используются 5-циклические, 20-циклические (основанные на максимальной, минимальной и закрывающей ценах соответственно) и 50-циклические ЭМА
  2. Условия создания склада требуют, чтобы все показатели представляли собой четкую многоголовую последовательность: 50 EMA < 20 EMA (низкая точка) < 20 EMA (закрытая точка) < 20 EMA (высокая точка) < 5 EMA
  3. При этом требуется, чтобы текущие цены были выше всех средних линий, чтобы обеспечить сильную тенденцию.
  4. Двойной механизм выхода: получение прибыли, когда цена падает ниже 5-циклической ЭМА, или остановка убытка, когда цена достигает 20-циклической низкой ЭМА

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

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

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

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

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

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

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

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

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

//@version=5
strategy("Automated EMA Strategy with Hierarchical Conditions", overlay=true)

// Inputs for EMA lengths
length_5 = 5
length_20 = 20
length_50 = 50

// Calculating EMAs
ema_5 = ta.ema(close, length_5)
ema_20_high = ta.ema(high, length_20)
ema_20_low = ta.ema(low, length_20)
ema_20_close = ta.ema(close, length_20)
ema_50 = ta.ema(close, length_50)

// Buy condition: 50 EMA < 20 EMA (Close) < 20 EMA (High) < 20 EMA (Low) < 5 EMA
// and LTP above all EMAs
buy_condition = ema_50 < ema_20_low and ema_20_low < ema_20_close and ema_20_close < ema_20_high and ema_20_high < ema_5 and close > ema_5 and close > ema_20_close and close > ema_20_high and close > ema_20_low and close > ema_50

// Stop-loss and target levels
stop_loss = ema_20_low

// Target condition: Close below 5 EMA
target_condition = close < ema_5

// Check if there's an open position
is_in_position = strategy.position_size > 0

// Execute Buy Signal only if no position is open
if (buy_condition and not is_in_position)
    strategy.entry("Buy", strategy.long)

// Exit conditions: Stop-loss or target (close below 5 EMA)
if (is_in_position and (target_condition or close < stop_loss))
    strategy.close("Buy")

// Plotting the EMAs
plot(ema_5, color=color.blue, title="5 EMA")
plot(ema_20_high, color=color.green, title="20 EMA (High)")
plot(ema_20_low, color=color.red, title="20 EMA (Low)")
plot(ema_20_close, color=color.purple, title="20 EMA (Close)")
plot(ema_50, color=color.orange, title="50 EMA")