Estrategia para operar con la hora dorada


Fecha de creación: 2023-09-19 16:03:52 Última modificación: 2023-09-19 16:03:52
Copiar: 0 Número de Visitas: 742
1
Seguir
1617
Seguidores

Descripción general

La estrategia de la hora dorada de negociación determina automáticamente qué hora del día es la más adecuada para comprar y vender a través de la retroalimentación de datos históricos, y emite una señal de negociación en la hora correspondiente. La estrategia utiliza el indicador ROC para calcular la subida y bajada de la línea K en diferentes momentos, y luego evalúa el efecto de la negociación en diferentes momentos para encontrar los mejores momentos de compra y venta.

Principio de estrategia

  1. Ahora_horas es el número de horas que se obtiene usando el tiempo actual.

  2. El indicador de pérdidas y ganancias de la línea K por hora se calcula con el indicador ROC.

  3. Calcula el producto acumulado de indicator y now_hour.

  4. Cálculo de la acumulación de los indicadores y de la compra de indicadores.

  5. El mejor momento para comprar es buy_hour = buy_hourXindicator_cum / buy_indicator_cum。

  6. También se calcula el mejor momento para vender.

  7. Compara ahora_hora con buy_hour y sell_hour para determinar si el momento actual es el mejor momento para comprar o vender.

  8. Enviar las señales correspondientes en los momentos óptimos de compra y venta.

  9. Los mejores momentos de compra y venta en tiempo real con diferentes colores de fondo.

Análisis de las ventajas

La mayor ventaja de esta estrategia es la capacidad de determinar automáticamente cuál es el momento más adecuado para operar cada día. No es necesario observar manualmente los datos históricos para determinar el mejor momento de negociación, lo que ahorra mucho tiempo y esfuerzo.

Además, la estrategia utiliza el indicador de ROC. Al calcular las fluctuaciones de la línea K por hora, se puede determinar con mayor precisión la eficacia de la negociación en diferentes períodos. El indicador de ROC es más sensible a las fluctuaciones de la contraparte y puede reflejar los cambios en el mercado.

Análisis de riesgos

El mayor riesgo de esta estrategia reside en las limitaciones del indicador de ROC en sí mismo. El ROC solo considera la tasa de cambio de precios y no es sensible a los cambios en el volumen de transacciones.

Además, las estrategias se utilizan para retomar los datos históricos para encontrar el mejor momento de negociación. Sin embargo, las leyes históricas no se aplican necesariamente al mercado actual. El mercado puede sufrir cambios estructurales y las leyes de negociación originales ya no se aplican. Esto requiere ajustar los parámetros para las condiciones actuales del mercado y no depender completamente de los resultados de la retomada.

En este sentido, se puede considerar el cálculo combinado en combinación con otros indicadores, como el volumen de operaciones, para obtener un juicio más completo de la situación del mercado. Al mismo tiempo, se necesita realizar pruebas de ajuste de parámetros para la situación actual del mercado, para asegurar que las señales de negociación coincidan con la nueva situación del mercado.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Intentar sustituir el ROC por otros indicadores, como el volumen de transacciones, y buscar indicadores más adecuados para calcular el período de fortaleza.

  2. Añadir otras condiciones de filtración para evaluar tendencias locales, como líneas medias, indicadores de oscilación, etc., y evitar transacciones no razonables.

  3. Optimización de los parámetros del ciclo de tiempo para probar el impacto de diferentes parámetros del ciclo de tiempo en los resultados.

  4. Aumentar los mecanismos de detención de pérdidas, establecer puntos de detención razonables y controlar el riesgo de las transacciones.

  5. Combinado con métodos de aprendizaje automático, el uso de una mayor cantidad de datos para resolver los mejores momentos de transacción.

Resumir

La estrategia de la hora dorada de negociación en general es una forma viable y efectiva. Utiliza el indicador de ROC para determinar automáticamente el mejor momento de compra y venta de cada día, ahorrando mucho tiempo y esfuerzo. Pero también debemos tener en cuenta las limitaciones del indicador de ROC y la retroalimentación histórica para ajustar los parámetros a la situación actual del mercado. Además, la estrategia tiene mucho espacio para mejorar y puede optimizarse en muchos aspectos para que la señal sea más precisa y confiable.

Código Fuente de la Estrategia
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mablue (Masoud Azizi)

//@version=5
strategy("Trade Hour V3",overlay=false)
timezone = input.string("Europe/London",options=["America/New_York","America/Los_Angeles","America/Chicago","America/Phoenix","America/Toronto","America/Vancouver","America/Argentina" ,"America/El_Salvador","America/Sao_Paulo","America/Bogota","Europe/Moscow","Europe/Athens","Europe/Berlin","Europe/London","Europe/Madrid","Europe/Paris","Europe/Warsaw","Australia/Sydney","Australia/Brisbane","Australia/Adelaide","Australia/ACT","Asia/Almaty","Asia/Ashkhabad","Asia/Tokyo","Asia/Taipei","Asia/Singapore","Asia/Shanghai","Asia/Seoul","Asia/Tehran","Asia/Dubai","Asia/Kolkata","Asia/Hong_Kong","Asia/Bangkok","Pacific/Auckland","Pacific/Chatham","Pacific/Fakaofo","Pacific/Honolulu"]	)
source = input.source(close)
tp = input.int(1,"ROC Timeperiod")

now_hour = hour(time,timezone)

indicator = ta.roc(source,tp)

buy_hourXindicator_cum = ta.cum(indicator* now_hour)
buy_indicator_cum = ta.cum(indicator)
buy_hour = buy_hourXindicator_cum/buy_indicator_cum

sell_hourXindicator_cum = ta.cum( (1/indicator ) * now_hour)
sell_indicator_cum = ta.cum(1/indicator)
sell_hour = sell_hourXindicator_cum/sell_indicator_cum

plot(buy_hour,color=color.green)
plot(sell_hour,color=color.red)
plot(now_hour,color=color.gray,display=display.none)


bool isLongBestHour = now_hour==math.round(buy_hour)
bool isShortBestHour = now_hour==math.round(sell_hour)

bgcolor(isLongBestHour ? color.new(color.green,80) : na)
bgcolor(isShortBestHour ? color.new(color.red,80) : na)
strategy.order("buy", strategy.long, when =isLongBestHour)
strategy.order("sell", strategy.short, when = isShortBestHour)