Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1153

 
Franklins100:
Gracias por las respuestas. Código por código. El código estará optimizado, pero a medida que añadimos nuevos indicadores y aumentamos el historial el tiempo de "ejecución" aumenta. ¿En qué medida afecta el hardware del PC al tiempo de "ejecución" (se necesita una CPU o una GPU más avanzada)? Muchas preguntas en general 1 vez me gustaría hablar con un gurú)

Las pruebas pueden acelerarse muchas veces si es posible dividir las variables en grupos y realizar pruebas cruzadas. Este esquema es posible si se entiende cómo se construye un EA y tiene variables independientes, es decir, su cambio no afecta al resultado cuando se ejecutan otras variables.

Si hay muchas variables, el tiempo de las pruebas puede reducirse cientos de veces.

Además, mt5 permite conectar a terceros para realizar pruebas.

Как протестировать торгового робота перед покупкой
Как протестировать торгового робота перед покупкой
  • www.mql5.com
Покупка торгового робота в MQL5 Маркете имеет одно большое преимущество перед всеми другими подобными предложениями -  вы можете устроить комплексную проверку предлагаемой автоматической системы прямо в терминале MetaTrader 5. Советник перед покупкой можно и нужно тщательно прогнать во всех неблагоприятных режимах во встроенном тестере торговых...
 
BenditO:

Las pruebas pueden acelerarse muchas veces si es posible dividir las variables en grupos y realizar pruebas cruzadas. Este esquema es posible si se entiende cómo se construye un EA y tiene variables independientes, es decir, su cambio no afecta al resultado cuando se ejecutan otras variables.

Si hay muchas variables, el tiempo de las pruebas puede reducirse cientos de veces.

Además, mt5 permite conectar a terceros para realizar pruebas.

Es una idea, pero las pruebas cruzadas no darán resultados exactos en mi opinión. Las pruebas, de nuevo en mi inexperta opinión, deberían hacerse en una versión final y completa. Y aquí una pregunta - cómo y por qué parámetros de la computadora puede acelerar las pruebas tanto como sea posible sin recurrir a la energía de terceros. ¿GPU o CPU?

 
Franklins100:

Es una idea, pero las pruebas cruzadas no producirán resultados precisos, en mi opinión. Las pruebas, de nuevo en mi inexperta opinión, deberían hacerse en una versión final y completa. Y aquí la cuestión es: cómo y con qué parámetros informáticos es posible acelerar al máximo las pruebas, sin recurrir a la energía de terceros. ¿GPU o CPU?

Optimizar el código.

 
Vladimir Karputov:

Optimizar el código.

Voy a tratar de ser más directo - Tengo la siguiente configuración: 2pc Intel® Xeon® Gold 6126, 4pc Samsung DDR4 2666 Registered ECC LRDIMM 64Gb, 2pc Tesla P100 o 2080ti (estoy ponderando) ¿Obtendré alguna velocidad en este caso con esta configuración o puedo simplemente no molestarme con ella y optimizar el código en la calculadora? Quiero "jugar" con un gran número de indicadores, la historia, para probar todos los posibles resultados, estrategias y variaciones - para obtener experiencia, etc.

 
Franklins100:

Voy a tratar de ser más directo - Tengo la siguiente configuración: 2pc Intel® Xeon® Gold 6126, 4pc Samsung DDR4 2666 Registered ECC LRDIMM 64Gb, 2pc Tesla P100 o 2080ti (estoy ponderando) ¿Obtendré la velocidad en este caso con esta configuración o simplemente decidí no molestarme con ella y optimizar el código en la calculadora? Quiero "jugar" con un gran número de indicadores, la historia, para probar todos los posibles resultados, estrategias y variaciones - para obtener experiencia, etc.

Tenemos que abrir una nueva rama con una pregunta específica - "¿Qué hardware necesito para optimizar cualquier Asesor Experto al instante?

 

¿Qué debe devolver esta función?

Print(SYMBOL_POINT);

Para el EURUSD obtengo 16, pero debería ser 0,00001

pero Print(SymbolInfoDouble(Symbol(),SYMBOL_POINT));

Devuelve 9,9999999999996e-06

¿Es un fallo o es igual para todos?
 
SEM:

¿Qué debe devolver esta función?

Print(SYMBOL_POINT);

Para el EURUSD obtengo 16, pero debería ser 0,00001

pero Print(SymbolInfoDouble(Symbol(),SYMBOL_POINT));

Devuelve 9,9999999999996e-06

https://www.mql5.com/ru/docs/convert/doubletostring

Документация по MQL5: Преобразование данных / DoubleToString
Документация по MQL5: Преобразование данных / DoubleToString
  • www.mql5.com
[in]  Формат точности. Если значение digits лежит в диапазоне от 0 до 16, то будет получено строковое представление числа с указанным количество знаков после запятой. Если значение digits лежит в диапазоне от -1 до -16, то...
 
¿Cómo puedo obtener un valor de punto único para el EURUSD? Obtengo 16 en lugar de 0,00001.
 
SEM:
¿Cómo se obtiene el valor del punto único para el EURUSD? Obtengo 16 en lugar de 0,00001

¿Qué imprimes exactamente?

SYMBOL_POINT es una constante predefinida. Es decir, se imprime el valor numérico de la constante.

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как...
 
Artyom Trishkin:

¿Qué imprimes exactamente?

Tratando de normalizar el TakeProfit para la venta, obtengo TP = -130

 int TakeProfit=100;//Profit

double _PriceCurrent_TakeProfit = NormalizeDouble(m_position.PriceOpen()-(TakeProfit*SYMBOL_POINT),SYMBOL_DIGITS) ;
Razón de la queja: