Características del lenguaje mql5, sutilezas y técnicas - página 16
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
¿Puede hacer que el comando"Abrir gráfico" en la pestaña "Backtest" añada automáticamente todos los indicadores que se utilizaron en el EA con los parámetros adecuados al gráfico abierto después de la prueba?
Todavía no.
Por ahora puede guardar la plantilla de pruebas visuales y aplicarla en el terminal del cliente
Todavía no.
Por ahora puede guardar una plantilla de pruebas visuales y aplicarla en el terminal del cliente
Y si haces lo siguiente en el EA en OnDeinit
ChartSaveTemplate ()
con el nombre tester.tpl y después de abrir el gráfico con el comando"Abrir gráfico", ¿obtendrá lo que necesita?
Y si en el Asesor Experto en OnDeinit hacer
ChartSaveTemplate ()
con el nombre tester.tpl, obtendrá lo que necesita después de abrir el gráfico con el comando"Open Chart"?
No. ChartSaveTemplate guardará la plantilla en la carpeta local Files del agente de pruebas
Me refería a guardar manualmente la plantilla desde el renderizador a través del menú principal.
Tester.tpl sólo funciona en un sentido: desde el terminal del cliente hasta el visualizador
No. ChartSaveTemplate guardará la plantilla en la carpeta local Files del agente de pruebas
Me refiero a guardar manualmente la plantilla desde el visualizador a través del menú principal.
Tester.tpl sólo funciona en un sentido: desde el terminal del cliente hasta el visualizador
No, es demasiado lento, es demasiado trabajo, y a menudo es demasiado caro hacer todas las pruebas visuales sólo para salvar la plantilla, especialmente cuando tienes que hacerlo a menudo...
Significa que debería ser posible abrir un gráfico después de probar con indicadores.
SZY. En el probador no funciona:
void OnDeinit (const int reason)
{
if(ChartSaveTemplate(0, "testersdfsdfsdfsdf"))
Print (__FUNCTION__ + ": Шаблон сохранён");
else
Print (__FUNCTION__ + ": Шаблон НЕ сохранён");
EventKillTimer ();
}
//——————————————————————————————————————————————————————————————————————————————
//——————————————————————————————————————————————————————————————————————————————
double OnTester ()
{
if(ChartSaveTemplate(0, "testersdfsdfsdfsdf"))
Print (__FUNCTION__ + ": Шаблон сохранён");
else
Print (__FUNCTION__ + ": Шаблон НЕ сохранён");
return (-DBL_MAX);
}
//——————————————————————————————————————————————————————————————————————————————
resultado:
2017.03.07 12:22:15.422 Core 1 2017.03.06 23:58:59 OnTester: Plantilla NO guardada
2017.03.07 12:22:15.422 Núcleo 1 saldo final 1129,18 USD
2017.03.07 12:22:15.422 Core 1 OnTester resultado -1.797693134862316e+308
2017.03.07 12:22:15.422 Core 1 2017.03.06 23:58:59 OnDeinit: Plantilla NO guardada
{
int indic = iCustom(Symbol(), Period(), "Examples\\ATR", 7, PRICE_CLOSE, clrGreen);
ChartIndicatorAdd(0, 1, indic);
Sleep(10000);
}
El color del indicador no puede ajustarse de esta manera.
Entonces, ¿por qué algunos dicen "no es un error, es una característica"?
Sin embargo, la respuesta oficial me ha satisfecho por completo:
Vamos a pensar en cómo cambiar el color y el estilo del indicador desde el programa MQL5.
Mientras tanto, utilice las variables de entrada del tipo de color para establecer el color del indicador
{
int indic = iCustom(Symbol(), Period(), "Examples\\ATR", 7, PRICE_CLOSE, clrGreen);
ChartIndicatorAdd(0, 1, indic);
Sleep(10000);
}
El color del indicador no puede ajustarse de esta manera.
Entonces, ¿por qué algunos dicen "no es un error, es una característica"?
Sin embargo, la respuesta oficial me parece totalmente satisfactoria:
Porque no se pueden establecer las propiedades de visualización (parte de dibujo) a través de la manija del indicador (parte de cálculo). Un error es cuando algo está escrito de una manera y funciona de otra.
En este caso es necesario un enfoque diferente. Acceso al indicador por nombre corto, como en el grupo de funciones ChartIndicatorXXX. Algo como ChartIndicatorSetInteger(chart_id,sub_window,indicator_name,PROP_COLOR,mod,value)
Ya hemos pensado en ello, pero aún no nos hemos puesto a ello.
¿Por qué hay que fijar algo a través de una manilla? El color se establece en el propio indicador a través de la propiedad PLOT_LINE_COLOR.
El indicador_colorN sólo establece el color original que se cambia a través de PLOT_LINE_COLOR.
indicator_colorN no es diferente de la entrada cuando se llama a un indicador y luego se establece a través de PLOT_LINE_COLOR.
No debería permitirse cambiar dichas propiedades a través de la manija en absoluto.
Y es el momento de permitir la configuración de indicator_buffers dinámicamente.
¿Por qué hay que fijar algo a través de una manilla? El color se establece en el propio indicador a través de la propiedad PLOT_LINE_COLOR.
El indicador_colorN sólo establece el color original que se cambia a través de PLOT_LINE_COLOR.
indicator_colorN no es diferente de la entrada cuando se llama a un indicador y luego se establece a través de PLOT_LINE_COLOR.
No debería permitirse cambiar dichas propiedades a través de la manija en absoluto.
Y es el momento de permitir la configuración de indicator_buffers dinámicamente.
No menciones el mango. Me he dicho a mí mismo que el tirador no se puede utilizar para establecer las propiedades de dibujo. Y le expliqué por qué.
No olvide que además de los indicadores personalizados también hay indicadores incorporados, que también deben cambiar de color después de añadirlos al gráfico.
Sólo sugiero ampliar las funciones de la llamada del indicador:
No es necesario añadir nada más.Sólo sugiero ampliar las funciones de la llamada del indicador: