Indicador estocástico. Una observación curiosa. - página 6

 
leonid553:

Sin el trailing, todavía sería posible seguir una operación prohibida LONG por su stoploss y takeprofit.

Pero con trailing.... Ni siquiera sé cómo enfocar la solución.

Aparentemente, tenemos que proporcionar un bloque que imite un comercio prohibido. He mirado los ejemplos, pero no he encontrado nada similar.


¿De qué estamos hablando, de un Asesor Experto específico o en general?

En mi opinión, se podría comentar el bloqueo para abrir posiciones largas y ya está.

 

No. No funcionará así. Si comentamos el bloque de apertura de la posición larga, esto es lo que ocurrirá:

Por ejemplo, abrimos una posición corta. Está cerrado. Entonces tenemos una señal para una posición larga pero no se abre porque está prohibida (o comentada). Pero después de cierto tiempo recibimos una señal para ir en corto y se abre de nuevo una posición corta.

Pero no lo necesitamos. Pues en este momento (por ejemplo) debe haber en el mercado el largo que interdictamos (comentado).

Así, al comentar siempre abriremos posiciones cortas, las que necesitemos. ¡Y MÁS LOS QUE NO NECESITAMOS! Porque en lugar de las posiciones largas comentadas se suelen abrir posiciones cortas adicionales, ¡que no necesitamos!

y necesitamos un momento en el que haya una posición larga prohibida (comentada) - ¡para que al mismo tiempo no se abran posiciones cortas!

Por eso hay que simular el largo ....

 
leonid553:
Por eso necesitas una simulación de largo ....
Me parece que la solución más sencilla sería reducir los lotes de las posiciones largas al mínimo permitido por el broker (hasta 0,01), y abrir las posiciones cortas con el lote normal. El arrastre y todo lo demás funcionaría correctamente, y el impacto de las posiciones no rentables (largas) en el resultado financiero quedaría prácticamente eliminado.
 

¡Gracias, granit77! Sí, es cierto. Podría hacerse así.

¡Bueno, aquí hay una solución ya....!

 

En principio, la solución podría ser la siguiente:

Introduce una bandera entera, digamos F. Cuando no hay posiciones F=0, cuando el largo está abierto F=1, cuando el corto F=-1. El valor de F cambia al llegar la señal correspondiente, pero sólo en 1. Es decir, un cambio de F=1 a F=-1 es imposible. Esto debe ser colocado después de los operadores que abren la posición (incluso podemos insertar una condición que F cambia sólo en la operación exitosa).

El punto principal: si la señal de COMPRA ha llegado, en F=1 no pasa nada (ya está abierta), en F=0 se abre la posición larga, en F=-1 se cierra la corta. Y viceversa en la venta. Con esta estructura de código, sólo hay que comentar la COMPRA o la VENTA. O ambas cosas a la vez (por ejemplo, para recopilar estadísticas sobre las señales, pero sin operar). La única sutileza - el cambio de F a la llegada de la señal debe ser incondicional. Por lo tanto, si hay una comprobación de apertura-cierrede una posición con éxito, también debería comentarse.

 
¡Gracias, Yurix! Creo que ya tengo la idea. Trataré de pensar en ello aquí...
 
Yurixx:

En principio, la solución podría ser la siguiente:

¿Qué pasa con la activación de las posiciones SL/TP? Si se activa la compra de SL, F debería pasar a ser = 0, y quedaría == 1.

Si quieres operar con un Asesor Experto virtual, ponte en contacto conmigo.
Podrás hacer cualquier cosa con posiciones.
 

Supongo que tendré que hacerlo. ¿Has recordado, komposter, que mis posiciones se abren con un trailing stop? ¡Y con la llamada de la biblioteca de arrastre, también!

¿Funcionará esta imitación?

 
leonid553:

Supongo que tendré que hacerlo. ¿Has recordado, komposter, que mis posiciones se abren con un trailing stop? ¡Y con la llamada de la biblioteca de arrastre, también!

¿Funcionará esta imitación?

Mi comercio virtual reemplaza completamente todas las funciones de comercio.
Por lo tanto, cualquier cambio en los pedidos se maneja como en el real (sólo que no hay errores en el servidor).

- el trailing stop moverá el SL virtual
- la biblioteca comprobará si el SL está demasiado cerca del precio actual
- Cuando el precio se acerque al SL virtual se activará (virtualmente)

Simulacióncompleta del funcionamiento real ;)
 
komposter:
Yurixx:

En principio, la solución podría ser la siguiente:

¿Qué pasa con la activación de las posiciones SL/TP? Si se activa la compra de SL, F debería pasar a ser = 0 y se mantendrá == 1.

Si quieres operar con un Asesor Experto virtual, ponte en contacto conmigo.
Podrás hacer cualquier cosa con posiciones.


Le ofrecí a Leonid una solución elemental al problema. Requiere una pequeña modificación del código, que puede ser realizada por alguien no demasiado experimentado en MQL. Incluyendo a Leonid. Y lo hizo gratis. Y ni siquiera he visto el código del Asesor Experto. Y aún así puedo decir que tu pregunta está siendo resuelta.

¿Puedes hacer más frío? ¿Por barato? :-) No lo dudo. Yo tampoco. De forma gratuita. ¿Competimos?

Razón de la queja: