В процессе загрузки ресурсов... загрузка...

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

Автор:Чао Чжан, Дата: 2024-05-09 16:42:35
Тэги:SMAЕМА

img

Обзор

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

Принцип стратегии

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

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

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

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

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

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

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

Резюме

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


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

//@version=5
strategy("Estrategia de Trading", overlay=true)

// Definir el número de cierres de velas decrecientes consecutivas
var int cierres_decrecientes_consecutivos = 0
num_cierres_decrecientes = input.int(3, title="Número de cierres decrecientes", minval=1)

// Definir el porcentaje de cambio para cerrar la operación
porcentaje_cierre_arriba = input.float(1.5, title="Porcentaje de cierre arriba (%)", step=0.1)
porcentaje_cierre_abajo = input.float(1.0, title="Porcentaje de cierre abajo (%)", step=0.1)

// Definir las medias móviles para el cierre de la operación
periodos_media_movil_cierre = input.int(10, title="Períodos de la media móvil para cierre")
periodos_media_movil_200 = input.int(200, title="Períodos de la media móvil de 200")

// Definir el rango de fechas para la simulación
start_date = timestamp(2024, 1, 1, 0, 0)
end_date = timestamp(2024, 12, 31, 23, 59)

// Calcular la media móvil para el cierre de la operación
sma_cierre = ta.sma(close, periodos_media_movil_cierre)
sma_200 = ta.sma(close, periodos_media_movil_200)

// Calcular si el precio está por encima o por debajo de la media móvil para el cierre de la operación
precio_por_encima_sma_cierre = close > sma_cierre
precio_por_debajo_sma_cierre = close < sma_cierre

// Calcular si se han producido num_cierres_decrecientes consecutivos
if (ta.change(close) < 0)
    cierres_decrecientes_consecutivos := cierres_decrecientes_consecutivos + 1
else
    cierres_decrecientes_consecutivos := 0

es_cierres_consecutivos = cierres_decrecientes_consecutivos >= num_cierres_decrecientes

// Definir condiciones de entrada y salida de la estrategia dentro del rango de fechas y con el precio por encima de la SMA de 200
condicion_entrada = es_cierres_consecutivos and close > sma_200
condicion_cierre_sma = (precio_por_encima_sma_cierre[1] and not precio_por_encima_sma_cierre) or (not precio_por_encima_sma_cierre[1] and precio_por_encima_sma_cierre)

// Calcular precios de salida basados en porcentajes
precio_salida_arriba = strategy.position_avg_price * (1 + porcentaje_cierre_arriba / 100)
precio_salida_abajo = strategy.position_avg_price * (1 - porcentaje_cierre_abajo / 100)

// Ejecutar operación en largo dentro del rango de fechas y con el precio por encima de la SMA de 200
if (condicion_entrada and strategy.opentrades == 0)
    strategy.entry("Long", strategy.long)

// Cerrar operación en largo si se cumple la condición de salida por cambio en el cruce de la media móvil dentro del rango de fechas
if (strategy.position_size > 0 and condicion_cierre_sma)
    strategy.close("Long")

// Cerrar operación en largo si el precio alcanza el porcentaje de cierre arriba o abajo dentro del rango de fechas
strategy.exit("Stop Loss", "Long", limit=precio_salida_arriba, stop=precio_salida_abajo)

// Plot para visualizar la media móvil para el cierre de la operación
plot(sma_cierre, color=color.red)

// Plot para visualizar la SMA de 200
plot(sma_200, color=color.blue)


Связанные

Больше