Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 759

 
Aleksey Vyazmikin:

¿Para qué sirve, en términos de puntos intermedios entre las barras, puramente para la estética?

No necesito puntos intermedios, sólo puntos en barras.

Aleksey Vyazmikin:

Crearía un buffer (para la parte superior y la parte inferior del canal) para cada barra, donde colocaría los extremos de todos los círculos en la barra, la ventana para probar, a juzgar por la figura, sería de máximo 10 barras y luego crearía este indicador, por supuesto, las últimas barras pueden sobredibujarse.

¿Cómo puedo dibujar estos extremos de todos los círculos en una barra?

 
¿Puedes trazar una línea desde abajo hacia arriba y fijar un punto en el que choque con el primer objeto que encuentre?

 
multiplicator:

No necesitas puntos intermedios, sólo puntos en la barra.

Pero, ¿cómo debo definir los extremos de todos los círculos de la barra?

Tienes que traducir los círculos en píxeles, aparentemente... y luego es sólo una cuestión de técnica.

Por supuesto, puedes retorcerte y recorrer todos los objetos de la barra buscando el punto máximo/mínimo, por qué no.

 
multiplicator:

Ahora tengo que dibujar 2 líneas rojas a lo largo del borde superior de las elipses y a lo largo del borde inferior de las elipses (como he mostrado en la imagen).



¿Alguien sabe cómo hacerlo?

Estudio CCanvas

 
Aleksey Vyazmikin:

Tenemos que convertir los círculos en píxeles.

¿es posible?

Aleksey Vyazmikin:

Por supuesto, podrías retorcerte y recorrer todos los objetos de la barra buscando el punto máximo/mínimo, por qué no.

¿es posible buscar todos los objetos que caen en esta barra?
La cuestión aquí es que los círculos de las barras vecinas pueden entrar en esta barra y pueden formar máximos/mínimos.



Tal vez deberíamos construir círculos a partir de pequeñas líneas, como se recomienda aquí. entonces habrá todos los puntos.
 
Artyom Trishkin:

Estudio CCanvas

¿Es posible definir las coordenadas de la intersección de la línea con un objeto gráfico? (como aquí )
 
multiplicator:

¿Es eso posible?

¿Puedes repasar todos los objetos que caen en esta barra?
La cuestión es que los círculos de las barras vecinas pueden entrar en esta barra y pueden formar máximos/minimos.



Puede que tenga que construir círculos a partir de pequeñas líneas, como se recomienda.

Es posible convertir a píxeles, no veo ningún obstáculo, pero no lo he hecho yo.

Estaba pensando que su ancho es siempre un múltiplo de los tiempos de la barra adyacente, entonces la variante que sugerí originalmente debería funcionar. Tal vez no entienda algo, pero tengo todos los datos, porque tú mismo has construido círculos. Tal vez sea necesario calcular mediante una proporción, presentando el tiempo como una fracción del radio.

 

La clase CTrade tiene dos métodos PositionOpen y Buy, que se duplican entre sí, pero ninguno de ellos tiene un ajuste de deslizamiento.

¿Por qué se hace así? Por lo que tengo entendido este parámetro sólo se puede utilizar a través de OrderSend, o hay una variante más sencilla?

 
psyman:

La clase CTrade tiene dos métodos PositionOpen y Buy, que se duplican entre sí, pero ninguno de ellos tiene un ajuste de deslizamiento.

¿Por qué se hace así? Por lo que tengo entendido este parámetro sólo se puede utilizar a través de OrderSend, o hay una variante más sencilla?

Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / SetDeviationInPoints
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / SetDeviationInPoints
  • www.mql5.com
Стандартная библиотека / Торговые классы / CTrade / SetDeviationInPoints - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
psyman:

La clase CTrade tiene dos métodos PositionOpen y Buy, que se duplican entre sí, pero ninguno de ellos tiene un ajuste de deslizamiento.

¿Por qué se hace así? Según tengo entendido, este parámetro sólo se puede utilizar a través de OrderSend o existe una variante más sencilla?

Parece que antes de enviar una solicitud de negociación se establece el deslizamiento necesario en la instancia de clase. O de una vez en la inicialización del Asesor Experto - si no va a cambiar el valor del deslizamiento permitido de vez en cuando. Si quieres cambiarlo antes de enviar la solicitud o después de recibir el error, establece un nuevo deslizamiento con este método de clase.

Por qué se hace tan ... Bueno, aquí se pueden adivinar muchas cosas. Por ejemplo, se declaran varias instancias de CTrade y hay una instancia diferente para cada personaje. Por supuesto, puede ocurrir que para cada símbolo se establezca su propio tamaño de deslizamiento permitido - después de crear una instancia, se establecerá el tamaño requerido de deslizamiento a cada símbolo. Esto será suficiente en la mayoría de los casos.

Razón de la queja: