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

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

Автор:Чао Чжан, Дата: 2024-05-14 17:30:35
Тэги:SMASMA200

img

Обзор

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

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

  1. Если цена закрытия снижается, количество последовательных понижающихся свечей увеличивается на 1; в противном случае оно сбросится до 0.
  2. Вычислите 10-дневные и 200-дневные скользящие средние.
  3. Определить, является ли текущая цена закрытия выше 10-дневной скользящей средней.
  4. Проверьте, соблюдены ли условия входа: три последовательных понижающей свечи, текущее время находится в пределах указанного диапазона, а текущая цена закрытия выше 200-дневной скользящей средней.
  5. Проверьте, соблюдены ли условия выхода: 10-дневная скользящая средняя пересекается с ценой или цена достигает уровня получения прибыли или стоп-лосса.
  6. Если условия входа выполнены и текущей позиции нет, открыть длинную позицию.
  7. Если условия выхода выполнены и существует текущая позиция, закрыть позицию.

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

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

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

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

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

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

Резюме

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


/*backtest
start: 2023-05-08 00:00:00
end: 2024-05-13 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)


Связанные

Больше