No sé lo que está tratando de demostrar con este código, pero sé a ciencia cierta que no puedo encajar en la categoría de examinadores... Así que si quieres ayuda, tendrás que convertirte tú mismo en un preguntón. Un ciclo de este tipo fácilmente, bajo ciertas condiciones, hace un bucle, y sólo el azar puede evitar que ocurra.
¿Por qué el depurador se "cuelga" al depurar el indicador (porque accede a los límites del array), pero al mismo tiempo todo se dibuja normalmente en el gráfico?
En su pregunta sobre la búsqueda de la tasa más alta en el resto del día después de una vela alcista, la parte sobre la zona horaria de la hora del servidor fue omitida por alguna razón. La tarea está estrictamente ligada al límite del día, y estos límites son diferentes en las distintas empresas. Los candelabros que pertenecen a los distintos días son diferentes. Dependiendo de la zona horaria del servidor, los valores más altos que encuentres pertenecerán a diferentes días. ¿Es esto normal en su caso?
No es un novato, pero hay una pregunta "tonta", ya que casi nunca me he encontrado con una situación así.
Supongamos que hay una orden pendiente ya establecida. Utilizamos el indicador para mover su precio. En un momento dado, la orden no puede ser modificada porque el nuevo precio ha entrado en el rango prohibido debido a las señales de parada como Ask/Bid +/- MarketInfo(Symbol(), MODE_STOPLEVEL / MODE_FREEZELEVEL).
Pero la orden tiene que ser abierta "por el mercado".
¿Qué podemos hacer en este caso?
¿Podemos eliminar la orden pendiente y abrir una nueva por el mercado?
¿O es posible cambiar la orden pendiente por una abierta?
No es un novato, pero hay una pregunta "tonta", ya que casi nunca me he encontrado con una situación así.
Supongamos que hay una orden pendiente ya establecida. Utilizamos el indicador para mover su precio. En un momento dado, la orden no puede ser modificada porque el nuevo precio ha entrado en el rango prohibido debido a las señales de parada como Ask/Bid +/- MarketInfo(Symbol(), MODE_STOPLEVEL / MODE_FREEZELEVEL).
Pero la orden tiene que ser abierta "por el mercado".
¿Qué podemos hacer en este caso?
¿Podemos eliminar la orden pendiente y abrir una nueva por el mercado?
¿O la orden pendiente puede transformarse de alguna manera en una orden abierta?
Si está tan cerca del precio, el precio lo encontrará, pero no, ¡tal vez sea mejor que sea un tope! Y si se trata de un límite, pues paciencia. Pruebe a experimentar en el probador y la optimización determinará la mejor variante. Buena suerte.
borilunad: Si está tan cerca del precio, éste lo encontrará por sí mismo, y si no, ¡quizá sea lo mejor si se trata de una parada! Y la del límite, pues paciencia. Intenta experimentar en el probador y la optimización determinará la mejor variante. Buena suerte.
Gracias. Todo está muy claro. Pero quiero saber la respuesta a mi pregunta: ¿qué debo hacer si necesito absolutamente que la orden se active independientemente de la dirección del precio? ¿Debo eliminar la orden pendiente y abrir una normal o tener otras variantes?
mt4trade: Gracias. Pero necesito una respuesta a mi pregunta: si una orden tiene que activarse independientemente de dónde vaya el precio ahora, ¿qué debo hacer? ¿Debo eliminar la orden pendiente y abrir una normal?
Para mí, si sigues tu estrategia, ¡hazlo! No recomendaría cambiarla a medias, ya que de lo contrario, sin resultados ciertos (positivos o negativos), no puedes estar seguro de la racionalidad de tu estrategia. ¡Eso es!
borilunad: Para mí, si sigues tu estrategia, ¡síguela! No recomiendo cambiarla a mitad de camino, ya que de lo contrario, sin resultados ciertos (positivos o negativos), no puedes estar seguro de la racionalidad de tu estrategia. ¡Eso es!
De nuevo, ¡gracias! Dices cosas correctas, pero irrelevantes para la pregunta. Una vez más: si el precio calculado de la orden pendiente ha alcanzado el rango prohibido, y no puede ser modificada, sino que debe (según la estrategia) dispararse al precio calculado - ¿cómo se "convierte" en disparada? ¿Para borrarlo y abrirlo como uno normal? ¿O hay otras opciones? Por favor, responda exactamente a esta pregunta.
mt4trade: Gracias de nuevo. Dices cosas correctas, pero irrelevantes para la pregunta. :) Una vez más: si el precio calculado de una orden pendiente ha alcanzado el rango prohibido y no puede modificarse, sino que debe (según la estrategia) dispararse al precio calculado, ¿cómo puedo "convertirla" en disparada? ¿Para borrarlo y abrirlo como uno normal? ¿O hay otras opciones? Por favor, responda exactamente a esta pregunta.
Este enfoque es incoherente. Si se espera abrir una posición en la zona de congelación (no puede ser modificada) de una orden pendiente, entonces la orden debe colocarse inicialmente a un precio diferente, en el límite de esta zona de congelación. Por eso su enfoque no es aceptado por mucha gente.
Para concretar su pregunta. Primero elimine la orden pendiente y luego abra inmediatamente una posición al precio actual. El problema es que durante estas acciones, el precio puede salirse de la zona de congelación (a peor) y la posición se abrirá a un precio equivocado. Otra opción es no crear una orden pendiente y almacenar el valor para abrir la posición en una variable del programa. Se compara con el precio actual y si se cumple la condición (teniendo en cuenta la zona de congelación), se abre una posición.
¿Por qué el depurador se "cuelga" al depurar el indicador (porque accede a los límites del array), pero al mismo tiempo todo se dibuja normalmente en el gráfico?
MT4 build 950, Alpari demo.
Se adjunta el indicador.
No es un novato, pero hay una pregunta "tonta", ya que casi nunca me he encontrado con una situación así.
Supongamos que hay una orden pendiente ya establecida.
Utilizamos el indicador para mover su precio.
En un momento dado, la orden no puede ser modificada porque el nuevo precio ha entrado en el rango prohibido debido a las señales de parada como Ask/Bid +/- MarketInfo(Symbol(), MODE_STOPLEVEL / MODE_FREEZELEVEL).
Pero la orden tiene que ser abierta "por el mercado".
¿Qué podemos hacer en este caso?
¿Podemos eliminar la orden pendiente y abrir una nueva por el mercado?
¿O es posible cambiar la orden pendiente por una abierta?
Hola a todos.
No es un novato, pero hay una pregunta "tonta", ya que casi nunca me he encontrado con una situación así.
Supongamos que hay una orden pendiente ya establecida.
Utilizamos el indicador para mover su precio.
En un momento dado, la orden no puede ser modificada porque el nuevo precio ha entrado en el rango prohibido debido a las señales de parada como Ask/Bid +/- MarketInfo(Symbol(), MODE_STOPLEVEL / MODE_FREEZELEVEL).
Pero la orden tiene que ser abierta "por el mercado".
¿Qué podemos hacer en este caso?
¿Podemos eliminar la orden pendiente y abrir una nueva por el mercado?
¿O la orden pendiente puede transformarse de alguna manera en una orden abierta?
Por favor, ayuda.
Cuando instalo un EA en un gráfico independiente, el EA no funciona, porque la función start() no se inicia.
¿Cómo puedo implementar una actualización del gráfico desde un EA que lo construye, o desde un EA que se adjunta a este gráfico?
Si está tan cerca del precio, éste lo encontrará por sí mismo, y si no, ¡quizá sea lo mejor si se trata de una parada! Y la del límite, pues paciencia. Intenta experimentar en el probador y la optimización determinará la mejor variante. Buena suerte.
Gracias. Pero necesito una respuesta a mi pregunta: si una orden tiene que activarse independientemente de dónde vaya el precio ahora, ¿qué debo hacer? ¿Debo eliminar la orden pendiente y abrir una normal?
Para mí, si sigues tu estrategia, ¡síguela! No recomiendo cambiarla a mitad de camino, ya que de lo contrario, sin resultados ciertos (positivos o negativos), no puedes estar seguro de la racionalidad de tu estrategia. ¡Eso es!
Gracias de nuevo. Dices cosas correctas, pero irrelevantes para la pregunta. :) Una vez más: si el precio calculado de una orden pendiente ha alcanzado el rango prohibido y no puede modificarse, sino que debe (según la estrategia) dispararse al precio calculado, ¿cómo puedo "convertirla" en disparada? ¿Para borrarlo y abrirlo como uno normal? ¿O hay otras opciones? Por favor, responda exactamente a esta pregunta.
Para concretar su pregunta. Primero elimine la orden pendiente y luego abra inmediatamente una posición al precio actual. El problema es que durante estas acciones, el precio puede salirse de la zona de congelación (a peor) y la posición se abrirá a un precio equivocado. Otra opción es no crear una orden pendiente y almacenar el valor para abrir la posición en una variable del programa. Se compara con el precio actual y si se cumple la condición (teniendo en cuenta la zona de congelación), se abre una posición.