Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1153

 
Franklins100:
Grazie per le risposte. Codice per codice. Il codice sarà ottimizzato, ma man mano che aggiungiamo nuovi indicatori e aumentiamo la storia il tempo di "esecuzione" aumenta. Quanto influisce l'hardware del PC sul tempo di "esecuzione" (bisogno di una CPU o GPU truccata)? Ci sono un numero enorme di domande e mi piacerebbe parlarne con un guru)

Itest possono essere accelerati molte volte se è possibile dividere le variabili in gruppi e fare test incrociati. Questo schema è possibile se si capisce come è costruito un EA e ha variabili indipendenti, cioè il loro cambiamento non influisce sul risultato quando si eseguono altre variabili.

Se ci sono molte variabili, il tempo per i test può essere ridotto di centinaia di volte.

Inoltre, mt5 permette di collegare terze parti per i test.

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

Itest possono essere accelerati molte volte se è possibile dividere le variabili in gruppi e fare test incrociati. Questo schema è possibile se si capisce come è costruito un EA e ha variabili indipendenti, cioè il loro cambiamento non influenza il risultato quando altre variabili vengono eseguite.

Se ci sono molte variabili, il tempo per i test può essere ridotto di centinaia di volte.

Inoltre, mt5 permette di collegare terze parti per i test.

Questa è un'idea, ma i test incrociati non daranno risultati esatti secondo me. I test, sempre secondo la mia inesperta opinione, dovrebbero essere fatti in una versione finale e completa. E qui una domanda - come e con quali parametri del computer è possibile accelerare il più possibile i test senza ricorrere alla potenza di terzi. GPU o CPU?

 
Franklins100:

Questa è un'idea, ma i test incrociati non produrranno risultati accurati, secondo me. I test, sempre secondo la mia inesperta opinione, dovrebbero essere fatti in una versione finale e completa. E qui la domanda è: come e con quali parametri informatici è possibile accelerare il più possibile i test, senza ricorrere all'uso di potenza di terzi. GPU o CPU?

Ottimizzare il codice.

 
Vladimir Karputov:

Ottimizzare il codice.

Lasciatemi provare ad essere più diretto - ho la seguente configurazione: 2pc Intel® Xeon® Gold 6126, 4pc Samsung DDR4 2666 Registered ECC LRDIMM 64Gb, 2pc Tesla P100 o 2080ti (sto riflettendo) Otterrò qualche velocità in questo caso con questa configurazione o posso semplicemente non preoccuparmene e ottimizzare il codice sulla calcolatrice? Voglio "giocare" con un gran numero di indicatori, storia, per testare tutti i possibili risultati, strategie e variazioni - per fare esperienza, ecc.

 
Franklins100:

Permettetemi di essere più diretto - ho la seguente configurazione: 2pc Intel® Xeon® Gold 6126, 4pc Samsung DDR4 2666 Registered ECC LRDIMM 64Gb, 2pc Tesla P100 o 2080ti (sto riflettendo) Otterrò la velocità in questo caso con questa configurazione o ho appena deciso di non preoccuparmene e ottimizzare il codice sulla calcolatrice? Voglio "giocare" con un gran numero di indicatori, storia, per testare tutti i possibili risultati, strategie e variazioni - per fare esperienza, ecc.

Dobbiamo aprire un nuovo ramo con una domanda specifica - "Di quale hardware ho bisogno per ottimizzare qualsiasi Expert Advisor istantaneamente?

 

Cosa dovrebbe restituire questa funzione?

Stampa(SYMBOL_POINT);

Per EURUSD ottengo 16, ma dovrebbe essere 0,00001

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

Restituisce 9.999999999999996e-06

È un problema tecnico o è lo stesso per tutti?
 
SEM:

Cosa dovrebbe restituire questa funzione?

Stampa(SYMBOL_POINT);

Per EURUSD ottengo 16, ma dovrebbe essere 0,00001

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

Restituisce 9.999999999999996e-06

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

Документация по MQL5: Преобразование данных / DoubleToString
Документация по MQL5: Преобразование данных / DoubleToString
  • www.mql5.com
[in]  Формат точности. Если значение digits лежит в диапазоне от 0 до 16, то будет получено строковое представление числа с указанным количество знаков после запятой. Если значение digits лежит в диапазоне от -1 до -16, то...
 
come posso ottenere un valore di un singolo punto per EURUSD? Ottengo 16 invece di 0,00001.
 
SEM:
come si ottiene il valore del punto singolo per EURUSD? Ottengo 16 invece di 0,00001

Cosa stai stampando esattamente?

SYMBOL_POINT è una costante predefinita. Cioè, si stampa il valore numerico della costante.

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

Cosa stai stampando esattamente?

Provando a normalizzare il TakeProfit per la vendita, ottengo TP = -130

 int TakeProfit=100;//Profit

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