Respuesta

Cómo hacer que una condición se retrase durante un periodo de tiempo en una estrategia

2 respuestas

Hans Hwang

Abonado, bbp_participant, 2 respuestas.

Visitar el perfil

hace 3 años #259239

Hola he encontrado AlgoWizard hoy y muy emocionante que esto es realmente una buena herramienta.

He leído el documento de ayuda y he probado algunos EA.

Quiero hacer un EA con uno o 2 condiciones de retardo, lo que significa que cuando estas condiciones desencadenadas, la condición se establecerá a ser cierto para un período de tiempo, no importa la condición original se ha convertido en falso。

He aquí un ejemplo sencillo:

Cuando MACD divergencia en el pasado 60 bares, cuando MACD cruzar 0 línea abierta comprar. ( muestra divergencia en el pasado pero quizás no en reciente. )

He visto que podemos usar if...then para establecer variables, ¿quizás pueda establecer una variable cuando haya divergencia MACD y dejar que dure 60 barras?

Y MACD divergencia es otra característica, que he visto una muestra en el documento de usuario, havn't verlo todavía.

Cualquier respuesta será agradecida, seguiré intentándolo y daré más información.

gracias

 

0

tomas262

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 3 años #259278

Hola,

si quieres combinar dos señales que no tienen que aparecer al mismo tiempo pero con un retraso una de otra puedes conseguirlo fácilmente usando variables (llámalas variables de estado) así dividirás la lógica en 2 pasos:

1) comprobar si hay divergencia MACD ... cuando se produce una divergencia MACD de compra se establece una variable (crear una nueva llamada 'divergencyState (int)) a +1

2) crear una segunda condición que comprueba una situación cuando MACD cruza por encima de 0 AND divergencyState = 1 .... ahora usted puede desencadenar una entrada de compra y establecer divergencyState de nuevo a 0 para la próxima situación

De esta manera puede haber varias barras de retraso entre esas dos señales, así que después de una divergencia una estrategia "espera" hasta que el MACD cruza por encima de la línea 0

Si desea limitar el número de barras entre las señales también es necesario "contar barras" después de divergencyState se establece en 1 y comprobar para "max bares para detectar MACD cruzar por encima de 0"

Avísame si necesitas ayuda.

0

Hans Hwang

Abonado, bbp_participant, 2 respuestas.

Visitar el perfil

hace 3 años #259306

Gracias por su respuesta.

Tengo una pregunta sobre "contar barras", ¿cómo puedo hacerlo?

Y sobre la divergencia macd, he encontrado que el ejemplo no puede hacer clic, que es https://algowizard.io/examples/

¿cómo puedo comprobar la divergencia?

gracias

0

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)