Estoy tratando decrear Asesores Expertos a través de la generación y se enfrentó el problema de un pequeño número de módulos de señal (alrededor de 20). Quiero combinar, por ejemplo, Ishimoku o Bolinger con otro (s), pero en la norma MT5 no hay señales de estos indicadores. En los videos en Internet se puede ver que la gente tiene una amplia base de datos de módulos de señal - ¿me puede decir dónde conseguirlo?
Estoy tratando decrear Asesores Expertos a través de la generación y se enfrentó el problema de un pequeño número de módulos de señal (alrededor de 20). Quiero combinar, por ejemplo, Ishimoku o Bolinger con otro (s), pero en la norma MT5 no hay señales de estos indicadores. En los videos en Internet se puede ver que la gente tiene una amplia base de datos de módulos de señal - ¿me puede decir dónde conseguirlo?
¡Hola, Vladimir!
Hay muchos módulos de trading en CodeBase. Busque allí. Si no lo encuentras, tienes dos opciones más: o intentas escribir tu propia señal de trading(¡ pero gratis!) basándote en el artículo MQL5 Wizard: Cómo escribir tu propio módulo de señal de trading o contacta con Freelance y ellos escribirán cualquier módulo de trading para ti, pero por dinero.
Me podéis decir cómo interrumpir y eliminar del informe (o no poner en el informe) una determinada ejecución bajo determinadas condiciones (igualdad de valores de dos parámetros a buscar) al optimizar en MT5. Si sólo interrumpo la ejecución, el valor cero sigue en la listade ejecuciones (OptimizaciónResultado), atascando y ralentizando el proceso de optim ización.
Prueba a comprobar en Init() que no se necesita ninguna ejecución con estos parámetros, y si es así, devuelve INIT_PARAMERTERS_INCORRECT desde esa función.
Esto probablemente te dará lo que necesitas.
P.D. Comprueba los nombres en la ayuda, escribí de memoria
Yuriy Bykov #: Intente comprobar en Init() que no se necesita ejecutar con dichos parámetros, y si es así, devuelva INIT_PARAMERTERS_INCORRECT desde esta función.
Esto probablemente le dará lo que necesita.
P.D. Comprueba los nombres en la ayuda, escribí de memoria
Chicos, hola a todos los profesionales y quién sabe cómo!
Tengo un problema con la obtención de datos de un indicador -- por favor, ayúdame, que puede hacerlo....
Función Objetivo: Calcular la distancia media en puntos entre las líneas exteriores del indicador"Bandas de Bollinger", para el período especificado.
La esencia del problema: No puedo obtener los valores reales del precio en las líneas del indicador para la barra especificada, porque por alguna razón el mismo valor de precio se escribe en diferentes búferes del indicador, que tampoco corresponde a los valores reales de ninguna de las líneas de esta barra. Y como resultado, algún valor de precio desconocido se escribe en diferentes buffers (en diferentes peticiones), lo que anula todo el trabajo posterior de la función. Además, utilizando exactamente el mismo método que en esta función, pude obtener indicadores de cualquier otro indicador, pero aquí no funciona....
int Bollinger_Bands(int _Average_Period, int _Number)
{
double Buffer_BASE_LINE[]; // Массив Буффера Линии BASE_LINEdouble Buffer_UPPER_BAND[]; // Массив Буффера Линии UPPER_BANDdouble Buffer_LOWER_BAND[]; // Массив Буффера Линии LOWER_BANDint Bar_Cash = _Average_Period; // Количество плучаемых значений от индикатораint Bands_Handel = 0; // Хендл индикатора Bollinger_Bands//---//double Base_Line = 0; // Значение линии BASE_LINEdouble Upper_Line = 0; // Значение линии UPPER_BANDdouble Lower_Line = 0; // Значение линии LOWER_BAND//---//double Band_Size_Buffer[];// Буфер расчётных значений разницы между линиями индикатора
int Band_Size_Total = 0;// Итог среднего значения расстояния между линиями в пунктах
ENUM_APPLIED_PRICE applied_price = PRICE_CLOSE; // тип цены //---//ArrayResize(Band_Size_Buffer,_Average_Period+1);
ArrayResize(Buffer_UPPER_BAND,_Average_Period+1);
ArrayResize(Buffer_LOWER_BAND,_Average_Period+1);
//---//
Bands_Handel = iBands(_Symbol,PERIOD_CURRENT,20,2,0,applied_price);
//---// CopyBuffer(Bands_Handel,0,_Number,_Average_Period,Buffer_BASE_LINE); ArraySetAsSeries(Buffer_BASE_LINE,true);
CopyBuffer(Bands_Handel,1,_Number,_Average_Period,Buffer_UPPER_BAND); ArraySetAsSeries(Buffer_UPPER_BAND,true);
CopyBuffer(Bands_Handel,2,_Number,_Average_Period,Buffer_LOWER_BAND); ArraySetAsSeries(Buffer_LOWER_BAND,true);
//---////---// Тут получение значений для выбранного номера бара из переменной которая передаётся в функцию (использовал как проверку получения данных по линиям)
Base_Line = NormalizeDouble(Buffer_BASE_LINE[_Number], _Digits); //Alert("Base_Line[",_Number,"] = ",Base_Line);
Upper_Line = NormalizeDouble(Buffer_UPPER_BAND[_Number], _Digits); //Alert("Upper_Line[",_Number,"] = ",Upper_Line);
Lower_Line = NormalizeDouble(Buffer_LOWER_BAND[_Number], _Digits); //Alert("Lower_Line[",_Number,"] = ",Lower_Line);//---////---// ** А это расчёт среднего расстояния между внешними линиями Боллинджера за указанный период. Получается 0 потому что одно число отнимается само от себя.for(int i=_Average_Period; i>=0; i--) {
//---//
Upper_Line = NormalizeDouble(Buffer_UPPER_BAND[i], _Digits); //Alert("Upper_Line[",i,"] = ",Upper_Line);
Lower_Line = NormalizeDouble(Buffer_LOWER_BAND[i], _Digits); //Alert("Lower_Line[",i,"] = ",Lower_Line);//---//
Band_Size_Buffer[i] = NormalizeDouble( ((Upper_Line - Lower_Line) / _Point), 2); //Alert("Band_Size_Buffer[",i,"] = ",Band_Size_Buffer[i]);
}//---//
Band_Size_Total = (int) MathMean(Band_Size_Buffer);
//---//return(Band_Size_Total);
}
Hay una confusión con el uso de la biblioteca estándar. ¿Cómo obtener un ticket después de abrir un pedido utilizando la biblioteca estándar? ¿Puedoestar seguro de que la respuesta del servidor ya se recibe aquí? ¿El terminal se cuelga mientras se espera una respuesta del servidor? No está claro.
Nauris Zukas uso de la biblioteca estándar. ¿Cómo obtener un ticket después de abrir un pedido utilizando la biblioteca estándar? ¿Puedoestar seguro de que la respuesta del servidor ya se recibe aquí? ¿El terminal se cuelga mientras se espera una respuesta del servidor? No lo entiendo.
Por favor, ¿me puede decir, es el rendimiento de este probador en la vida realista? ¿Y es bueno o malo el resultado para un año con depo 3000$?
Por que solo tomaste el año 12? Deberias haber tomado el periodo del año 12 al 22, donde hubieras perdido en el intervalo.
¡Buenos días! Puedes escribirlo así:
Saludos, Vladimir.
¡Buenos días!
Estoy tratando decrear Asesores Expertos a través de la generación y se enfrentó el problema de un pequeño número de módulos de señal (alrededor de 20). Quiero combinar, por ejemplo, Ishimoku o Bolinger con otro (s), pero en la norma MT5 no hay señales de estos indicadores.
En los videos en Internet se puede ver que la gente tiene una amplia base de datos de módulos de señal - ¿me puede decir dónde conseguirlo?
¡Buenos días!
Estoy tratando decrear Asesores Expertos a través de la generación y se enfrentó el problema de un pequeño número de módulos de señal (alrededor de 20). Quiero combinar, por ejemplo, Ishimoku o Bolinger con otro (s), pero en la norma MT5 no hay señales de estos indicadores.
En los videos en Internet se puede ver que la gente tiene una amplia base de datos de módulos de señal - ¿me puede decir dónde conseguirlo?
¡Hola, Vladimir!
Hay muchos módulos de trading en CodeBase. Busque allí. Si no lo encuentras, tienes dos opciones más: o intentas escribir tu propia señal de trading(¡ pero gratis!) basándote en el artículo MQL5 Wizard: Cómo escribir tu propio módulo de señal de trading o contacta con Freelance y ellos escribirán cualquier módulo de trading para ti, pero por dinero.
Saludos, Vladimir.
Me podéis decir cómo interrumpir y eliminar del informe (o no poner en el informe) una determinada ejecución bajo determinadas condiciones (igualdad de valores de dos parámetros a buscar) al optimizar en MT5. Si sólo interrumpo la ejecución, el valor cero sigue en la listade ejecuciones (Optimización Resultado), atascando y ralentizando el proceso de optim ización.
Intente comprobar en Init() que no se necesita ejecutar con dichos parámetros, y si es así, devuelva INIT_PARAMERTERS_INCORRECT desde esta función.
¡Gracias, Yuri!
Chicos, hola a todos los profesionales y quién sabe cómo!
Tengo un problema con la obtención de datos de un indicador -- por favor, ayúdame, que puede hacerlo....
Función Objetivo: Calcular la distancia media en puntos entre las líneas exteriores del indicador"Bandas de Bollinger", para el período especificado.
La esencia del problema: No puedo obtener los valores reales del precio en las líneas del indicador para la barra especificada, porque por alguna razón el mismo valor de precio se escribe en diferentes búferes del indicador, que tampoco corresponde a los valores reales de ninguna de las líneas de esta barra. Y como resultado, algún valor de precio desconocido se escribe en diferentes buffers (en diferentes peticiones), lo que anula todo el trabajo posterior de la función.
Además, utilizando exactamente el mismo método que en esta función, pude obtener indicadores de cualquier otro indicador, pero aquí no funciona....
Hay una confusión con el uso de la biblioteca estándar.
¿Cómo obtener un ticket después de abrir un pedido utilizando la biblioteca estándar?
¿Puedoestar seguro de que la respuesta del servidor ya se recibe aquí? ¿El terminal se cuelga mientras se espera una respuesta del servidor? No está claro.
En MQ4 todo era sencillo:
¿Cómo obtener un ticket después de abrir un pedido utilizando la biblioteca estándar?
¿Puedoestar seguro de que la respuesta del servidor ya se recibe aquí? ¿El terminal se cuelga mientras se espera una respuesta del servidor? No lo entiendo.
En MQ4 todo era sencillo:
Es mejor usar el manejo de eventos OnTradeTransaction()