Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1153

 
Franklins100:
Obrigado pelas respostas. Código por código. O código será optimizado, mas à medida que adicionamos novos indicadores e aumentamos a história, o tempo de 'corrida' aumenta. Quanto é que o hardware do PC afecta o tempo de 'funcionamento' (precisa de uma CPU ou GPU enganada)? Há um grande número de perguntas e eu adoraria falar com um guru sobre isso)

Ostestes podem ser acelerados muitas vezes se for possível dividir as variáveis em grupos e testá-las transversalmente. Este esquema é possível se compreender como é construída uma EA e se esta tiver variáveis independentes, ou seja, a sua alteração não afecta o resultado quando outras variáveis são executadas.

Se houver muitas variáveis, o tempo para testes pode ser reduzido em centenas de vezes.

Além disso, o mt5 permite a ligação de terceiros para testes.

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

Ostestes podem ser acelerados muitas vezes se for possível dividir as variáveis em grupos e testá-las transversalmente. Este esquema é possível se compreender como é construída uma EA e se esta tiver variáveis independentes, ou seja, a sua alteração não afecta o resultado quando outras variáveis são executadas.

Se houver muitas variáveis, o tempo para testes pode ser reduzido em centenas de vezes.

Além disso, o mt5 permite a ligação de terceiros para testes.

Esta é uma ideia, mas os testes cruzados não darão resultados precisos na minha opinião. Os testes, mais uma vez na minha opinião inexperiente, devem ser feitos numa versão final e completa. E aqui uma pergunta - como e por que parâmetros informáticos pode acelerar os testes tanto quanto possível sem recorrer ao poder de terceiros. GPU ou CPU?

 
Franklins100:

Esta é uma ideia, mas os testes cruzados não irão produzir resultados precisos, na minha opinião. Os testes, mais uma vez na minha opinião inexperiente, devem ser feitos numa versão final e completa. E aqui a questão é - como e por que parâmetros informáticos é possível acelerar o mais possível os testes, sem recorrer à utilização de energia de terceiros. GPU ou CPU?

Optimizar o código.

 
Vladimir Karputov:

Optimizar o código.

Deixe-me tentar ser mais directo - tenho a seguinte configuração: 2pc Intel® Xeon® Gold 6126, 4pc Samsung DDR4 2666 ECC LRDIMM 64Gb, 2pc Tesla P100 ou 2080ti (estou a ponderar) Vou conseguir alguma velocidade neste caso com esta configuração ou posso simplesmente não me preocupar com ela e optimizar o código na calculadora? Quero "jogar" com um grande número de indicadores, história, para testar todos os resultados possíveis, estratégias e variações - para obter experiência, etc.

 
Franklins100:

Deixe-me tentar ser mais directo - tenho a seguinte configuração: 2pc Intel® Xeon® Gold 6126, 4pc Samsung DDR4 2666 ECC LRDIMM 64Gb, 2pc Tesla P100 ou 2080ti (estou a ponderar) Vou obter a velocidade neste caso com esta configuração ou decidi simplesmente não me incomodar com ela e optimizar o código na calculadora? Quero "jogar" com um grande número de indicadores, história, para testar todos os resultados possíveis, estratégias e variações - para obter experiência, etc.

Temos de abrir um novo ramo com uma pergunta específica - "Que hardware preciso para optimizar qualquer consultor especializado instantaneamente?

 

O que deve esta função regressar?

Print(SYMBOL_POINT);

Para EURUSD recebo 16, mas deve ser 0,00001

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

Devolve 9.9999999999999999996e-06

Isto é uma falha ou é o mesmo para todos?
 
SEM:

O que deve esta função regressar?

Print(SYMBOL_POINT);

Para EURUSD recebo 16, mas deve ser 0,00001

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

Devolve 9.9999999999999999996e-06

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

Документация по MQL5: Преобразование данных / DoubleToString
Документация по MQL5: Преобразование данных / DoubleToString
  • www.mql5.com
[in]  Формат точности. Если значение digits лежит в диапазоне от 0 до 16, то будет получено строковое представление числа с указанным количество знаков после запятой. Если значение digits лежит в диапазоне от -1 до -16, то...
 
como posso obter um valor de ponto único para EURUSD? Recebo 16 em vez de 0,00001.
 
SEM:
como se obtém o Valor de Ponto Único para EURUSD? Recebo 16 em vez de 0.00001

O que está a imprimir exactamente?

SYMBOL_POINT é uma constante pré-definida. Ou seja, imprime-se o valor numérico da constante.

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

O que está a imprimir exactamente?

Tentando normalizar o TakeProfit para Venda, recebo TP = -130

 int TakeProfit=100;//Profit

double _PriceCurrent_TakeProfit = NormalizeDouble(m_position.PriceOpen()-(TakeProfit*SYMBOL_POINT),SYMBOL_DIGITS) ;