gisip: Todo funciona bien en MQL4 sin temporizador.
Su declaración no es del todo aceptable, estamos hablando de pruebas multidivisa. No hay temporizador en MT4, pero no hay probador multidivisa tampoco. Cuando se trabaja en MT4, el Asesor Experto en cualquier caso depende de la intensidad del flujo de cotizaciones del instrumento en el que trabaja. Imagínese una situación así: digamos que tiene un Asesor Experto multidivisa en EURUSD, y si en algún momento no hay ticks en este par, ¿cómo va a seguir la llegada de nuevos ticks en otros instrumentos?
Bueno, no existe en MQL4, también las estructuras y clases no existen allí, ¿propones abandonarlas aquí?
IMHO
Usar o no la librería estándar es cuestión de gustos de cada uno (en el peor de los casos, puedes usar sólo tu propio código), pero renunciar a todas las ventajas sólo porque no están disponibles en MT4 no es muy razonable.....
Yo no escribí sobre eso en absoluto.
Escribí que MQL5 tiene fallos y produce datos erróneos en ciertas combinaciones de instrumentos.
Por ejemplo: Si EURJPY o EURGBP se superpone en el gráfico EURUSD, todo está bien.
Pero si se superpone EURCAD, los datos en el gráfico es un error, mientras que en MQL4 no había tal error.
Escribí que MQL5 glitches y produce datos erróneos con ciertas combinaciones de instrumentos.
Por ejemplo: Si se superpone EURJPY o EURGBP en el gráfico EURUSD, todo es normal.
Pero si se superpone EURCAD, los datos en el gráfico con un error, mientras que en MQL4 este no era el caso, no hay ningún error.
Entendí que, pero Kos tiene razón (especialmente agradable post de 2010.07.02 14:57). No puedo entender por qué todos los desarrolladores (incluyendo MQ ) ignoran persistentemente el temporizador. Si tenemos en cuenta que no hay ejemplos oficiales de operadores multidivisa, entonces todo está claro con MQ en este asunto, pero por qué otros ignoran persistentemente OnTimer() para mí personalmente sigue siendo un GRAN misterio....
Bueno, no voy a escribir todo aquí, parece lo suficientemente claro. //--------- Opción con MQL4 --------- #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Aqua
extern string InstrumentName = "EURCAD"; double Buffer[]; SetIndexBuffer(0,Buffer); // Asignar array al buffer SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Estilo de línea
while(i >= 0){//-- Moverse de derecha a izquierda (es decir, de la barra más alta a la barra 0 que todavía se está formando) -- Buffer[i] = (iHigh(InstrumentName,0,i) + iClose(InstrumentName,0,i) + iLow(InstrumentName,0,i)) / 3; i--;//-- next Bar }//next (while)
//----------- Ahora casi la misma variante en MQL5 -------- #property indicator_separate_window // Indic. se dibuja en una ventana separada #property indicator_buffers 1
#property indicator_plots 1 #property indicator_type1 DRAW_LINE #property indicator_color1 Aqua
input string InstrumentName = "EURCAD"; double Buffer[]; int handle1;
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
Rosh: Por favor, inserte el código correctamente, hace que sea más fácil de entender.
//--------- Opción con MQL4 --------- #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Aqua
extern string InstrumentName = "EURCAD"; double Buffer[]; int init() { SetIndexBuffer(0,Buffer); // Asignar matriz a buffer SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Estilo de línea } int start() { while(i >= 0){ Buffer[i] = (iHigh(NombreInstrumento,0,i) + iClose(NombreInstrumento,0,i) + iLow(NombreInstrumento,0,i)) / 3; i--;//-- next Bar }//next (while) }
//----------- Ahora casi la misma variante en MQL5 -------- #property indicator_separate_window // Indic. se dibuja en una ventana separada #property indicator_buffers 1
#property indicator_plots 1 #property indicator_type1 DRAW_LINE #property indicator_color1 Aqua
Todo funciona bien en MQL4 sin temporizador.
Bueno, no existe en MQL4, también las estructuras y clases no existen allí, ¿propones abandonarlas aquí?
IMHO
Usar o no la librería estándar es cuestión de gustos de cada uno (en el peor de los casos, puedes usar sólo tu propio código), pero renunciar a todas las ventajas sólo porque no están disponibles en MT4 no es muy razonable.....
Yo no escribí sobre eso en absoluto.
Escribí que MQL5 tiene fallos y produce datos erróneos en ciertas combinaciones de instrumentos.
Por ejemplo: Si EURJPY o EURGBP se superpone en el gráfico EURUSD, todo está bien.
Pero si se superpone EURCAD, los datos en el gráfico es un error, mientras que en MQL4 no había tal error.
Yo no escribí sobre eso en absoluto.
Escribí que MQL5 glitches y produce datos erróneos con ciertas combinaciones de instrumentos.
Por ejemplo: Si se superpone EURJPY o EURGBP en el gráfico EURUSD, todo es normal.
Pero si se superpone EURCAD, los datos en el gráfico con un error, mientras que en MQL4 este no era el caso, no hay ningún error.
Yo no escribí sobre eso en absoluto.
Escribí que MQL5 glitches y produce datos erróneos con ciertas combinaciones de instrumentos.
Por ejemplo: Si se superpone EURJPY o EURGBP en el gráfico EURUSD, todo es normal.
Pero si se superpone EURCAD, los datos en el gráfico con un error, mientras que en MQL4 este no era el caso, no hay ningún error.
Por favor, dame un ejemplo con un error.
//--------- Opción con MQL4 ---------
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Aqua
extern string InstrumentName = "EURCAD";
double Buffer[];
SetIndexBuffer(0,Buffer); // Asignar array al buffer
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Estilo de línea
while(i >= 0){//-- Moverse de derecha a izquierda (es decir, de la barra más alta a la barra 0 que todavía se está formando) --
Buffer[i] = (iHigh(InstrumentName,0,i) + iClose(InstrumentName,0,i) + iLow(InstrumentName,0,i)) / 3;
i--;//-- next Bar
}//next (while)
//----------- Ahora casi la misma variante en MQL5 --------
#property indicator_separate_window // Indic. se dibuja en una ventana separada
#property indicator_buffers 1
#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#property indicator_color1 Aqua
input string InstrumentName = "EURCAD";
double Buffer[];
int handle1;
copied=CopyClose(InstrumentName,0,0,CountBars,Buffer);
//--Ahora lanzamos en EURUSD.
//--No importa en que instrumento coloquemos el indicador, el gráfico no debe cambiar.
Por favor, inserte el código correctamente, hace que sea más fácil de entender.
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Aqua
extern string InstrumentName = "EURCAD";
double Buffer[];
int init()
{
SetIndexBuffer(0,Buffer); // Asignar matriz a buffer
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Estilo de línea
}
int start()
{
while(i >= 0){
Buffer[i] = (iHigh(NombreInstrumento,0,i) + iClose(NombreInstrumento,0,i) + iLow(NombreInstrumento,0,i)) / 3;
i--;//-- next Bar
}//next (while)
}
//----------- Ahora casi la misma variante en MQL5 --------
#property indicator_separate_window // Indic. se dibuja en una ventana separada
#property indicator_buffers 1
#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#property indicator_color1 Aqua
input string InstrumentName = "EURCAD";
double Buffer[];
int OnInit()
{
{ IndicatorSetString(INDICATOR_SHORTNAME,InstrumentName);
SetIndexBuffer(0,Buffer,INDICATOR_DATA);
}
int OnCalculate(....)
{
copied=CopyClose(InstrumentName,0,0,0,CountBars,Buffer);
}
//--Ahora lo lanzamos sobre EURUSD.
//--No importa en qué instrumento coloquemos el indicador, el gráfico no debe cambiar.
Por favor, haz un ejemplo reproducible. Es decir, necesitas un código listo que puedas compilar, lanzar en un gráfico y obtener resultados.
Sin esto, poca gente entenderá de qué estamos hablando.Voy a ayudar a los que están privados de conciencia.
Idealmente no debería, pero lo tengo chirriando con algoritmos apareció sólo en 1 TF en los demás categóricamente mostró el vacío .....
incluso después de una hora de pruebas.....
e intentos de subir historial