Discusión sobre el artículo "Constructor gráfico de estrategias. Creando robots comerciales sin programación" - página 6
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
...
Añadiré el desplazamiento con rueda en futuras versiones....
Me gustaría compartir mi experiencia en la implementación del desplazamiento con rueda. Tal vez mi tecnología no le convenga, pero puede darle la idea correcta (si aún no ha decidido el método de implementación).
Dentro de la función OnChartEvent() en la condición :
1. Uso la función ChartNavigate y pongo el gráfico actual en la posición -100 barras atrás.
2. 2. Asigno el número de la primera barra visible usando ChartGetInteger(0,FIRST_VISIBLE_BAR) a la variable estática "First_bar_number".
3. A continuación, fijo el evento de gráfico CHARTEVENT_CHART_CHANGE una vez a través de (utilizo la bandera "a" y la bandera "b" para este propósito).
4. 4. Comparo "Número_de_la_primera_barra" y "Número_de_esta_barra" (que también obtengo mediante ChartGetInteger(0,FIRST_VISIBLE_BAR), pero en cada evento CHARTEVENT_CHART_CHANGE, no una vez como con "Número_de_la_primera_barra") y determino la dirección del desplazamiento del gráfico.
y determinar la dirección del desplazamiento del gráfico.
5. A continuación, todo es sencillo - muevo la imagen del kanvas con ObjectSetInteger(0,G_CORE[CANVAS][_NAME],OBJPROP_YOFFSET,G_CORE[CANVAS][_FIELD_TO_VIEW_Y_DISTANCE]); devuelvo el gráfico a su posición original - ChartNavigate(0,CHART_END,-100);
6. Salto el siguiente evento del gráfico porque se genera desde la función ChartNavigate llamada . Luego todo se repite.
Este es el código:
La desventaja de este método es que el gráfico en segundo plano se mueve. Sin embargo, su constructor ocupa toda la parte visible del mismo, por lo que no se notará.
La ventaja de este método es que se obtiene un excelente desplazamiento con la rueda, no inferior al desplazamiento de las ventanas de Windows. Hay energía, desaceleración... Además, al pasar por encima de una barra de desplazamiento horizontal y desplazar la rueda, tengo una barra de desplazamiento horizontal. Es fácil hacer esto.
Con este desplazamiento, los usuarios tendrán la sensación de estar trabajando en windup).
Esto es lo que parece: https://www.mql5.com/ru/forum/139237/page7
Me gustaría compartir mi experiencia en la implementación del desplazamiento con la rueda. Tal vez mi tecnología no le convenga, pero puede darle la idea correcta (si aún no ha decidido el método de implementación).
Dentro de la función OnChartEvent() en la condición :
1. Utilizo la función ChartNavigate y pongo el gráfico actual en la posición -100 barras atrás.
2. 2. Introduzco el número de la primera barra visible usando ChartGetInteger(0,FIRST_VISIBLE_BAR) en la variable estática "First_bar_number".
3. 3. A continuación, fijo el evento de gráfico CHARTEVENT_CHART_CHANGE una vez (utilizo la bandera "a" y la bandera "b" para este propósito).
4. 4. Comparo "Número_de_la_primera_barra" y "Número_de_esta_barra" (que también obtengo a través de ChartGetInteger(0,FIRST_VISIBLE_BAR), pero en cada evento CHARTEVENT_CHART_CHANGE, no una vez como con "Número_de_la_primera_barra").
y determinar la dirección del cambio de gráfico.
5. A continuación, todo es sencillo - muevo la imagen del kanvas con ObjectSetInteger(0,G_CORE[CANVAS][_NAME],OBJPROP_YOFFSET,G_CORE[CANVAS][_FIELD_TO_VIEW_Y_DISTANCE]); devuelvo el gráfico a su posición original - ChartNavigate(0,CHART_END,-100);
6. Salto el siguiente evento del gráfico porque se genera desde la función ChartNavigate llamada . Luego todo se repite.
Este es el código:
La desventaja de este método es que el gráfico en segundo plano se mueve. Sin embargo, su constructor ocupa toda la parte visible del mismo, por lo que no se notará.
La ventaja de este método es que se obtiene un excelente desplazamiento de la rueda, no inferior al desplazamiento de las ventanas de Windows. Hay energía, desaceleración... Además, al pasar por encima de una barra de desplazamiento horizontal y desplazar la rueda, tengo una barra de desplazamiento horizontal. Es fácil hacer esto.
Con este desplazamiento, los usuarios tendrán la sensación de estar trabajando en windup).
Esto es lo que parece: https://www.mql5.com/ru/forum/139237/page7
Gracias.
¿Qué pasa con CHARTEVENT_MOUSE_WHEEL?
https://www.mql5.com/es/docs/constants/chartconstants/enum_chartevents
Gracias, señor.
¿Qué pasa con CHARTEVENT_MOUSE_WHEEL?
https://www.mql5.com/es/docs/constants/chartconstants/enum_chartevents
Cuando hice el desplazamiento con la rueda, todavía no estaba. Así que ni lo probé. (Además, todavía estoy trabajando en MT4, y no parece estar disponible allí).
¿Da energía y desaceleración?
Cuando hice el desplazamiento con la rueda, todavía no estaba. Por eso ni siquiera lo probé. (Además, todavía estoy trabajando en MT4, y no parece estar disponible allí).
¿Da energía y desaceleración?
No lo sé, no lo he probado. Sólo recuerdo que existe tal evento.
Buenas tardes.
Soy el NEOPROGRAMISTA para el que existe este producto y el artículo sobre el mismo.
Tengo una pregunta - con fines educativos traté de reproducir el Asesor Experto del ejemplo número 1 (cruce de MA rápida y lenta). Hice todo como en el artículo, letra por letra. Como resultado, el Asesor Experto a veces abre e inmediatamente cierra varias posiciones, creando instantáneamente una pérdida. Y a veces abre una sola posición, todo como debería, la cierra cuando llega la señal contraria. Todo parecía estar bien al menos con estos, pero me di cuenta de que siempre son sólo Bai.
El esquema se disolvió después de reiniciar el ordenador (actualización en la noche), así que no puedo encontrar un posible error, en el código sigue siendo demasiado débil, y es tan grande e incomprensible.
¿Podría revisar el código y sugerir lo que hice mal?
No lo sé, no lo he probado. Sólo recuerdo que existe tal evento.
El evento está ahí, pero nadie lo ha usado todavía).
Me encantaría deshacerme de mi método debido a la crispación gráfico, pero MT4 no tiene este evento, y MT5 no sabe cómo funciona yet....
Buenas tardes.
Soy el NEOPROGRAMISTA para el que existe este producto y el artículo sobre el mismo.
Tengo una pregunta - con fines educativos traté de reproducir el Asesor Experto del ejemplo número 1 (cruce de MA rápida y lenta). Hice todo como en el artículo, letra por letra. Como resultado, el Asesor Experto a veces abre e inmediatamente cierra varias posiciones, creando instantáneamente una pérdida. Y a veces abre una sola posición, todo como debería, la cierra cuando llega la señal contraria. Todo parecía estar bien al menos con estos, pero me di cuenta de que siempre son sólo Comprar.
El esquema se disolvió después de reiniciar el ordenador (actualización en la noche), así que no puedo encontrar un posible error, en el código sigue siendo demasiado débil, y es tan grande e incomprensible.
¿Podría revisar el código y sugerir lo que hice mal?
Empieza por mirar el patrón #1. Este es exactamente el mismo patrón que se considera en el artículo (sólo se añaden Travelling y Lossless). Puedes ver los parámetros de todos los elementos y jugar con ellos.
Hay una serie de errores en su Asesor Experto. Uno de ellos es que usted no ha cambiado el tipo de transacción en el elemento para hacer ventas (dice "compra" en lugar de venta).
Empiece por estudiar el esquema nº 1. Es exactamente el esquema considerado en el artículo (sólo se añaden Travelling y Breakeven). Puedes ver los parámetros de todos los elementos y jugar con ellos.
Hay algunos errores en su Asesor Experto. Uno de ellos es que no has cambiado el tipo de operación en el elemento para realizar ventas (pone "compra" en lugar de venta).
Gracias, me ha sorprendido muy gratamente la rapidez de su respuesta.
Entiendo lo del tipo de transacción sin cambiar, es la razón por la que sólo las compras funcionan normalmente.
Pero, ¿en qué lugar es incorrecto que en medio segundo, aparentemente en cada tick, se abran y cierren toda una serie de órdenes a la vez, y que haya tanto órdenes de compra como de venta. ???
Gracias, muy gratamente sorprendido por la rapidez de la respuesta.
Entiendo lo del tipo de transacción sin cambios, es la razón por la que sólo las compras funcionan normalmente.
Pero en que lugar es incorrecto que en medio segundo, aparentemente en cada tick, toda una serie de ordenes se abren e inmediatamente se cierran, y hay tanto ordenes de compra como de venta. ???