初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1153

 
Franklins100:
谢谢你的答复。逐条代码。代码将被优化,但随着我们添加新的指标和增加历史记录,"运行 "时间会增加。PC硬件对 "运行 "时间的影响有多大(需要一个棘手的CPU或GPU)?有很多问题,一般情况下,1次想和大师谈谈)。

如果有可能将变量分成几组并进行交叉测试,那么测试 的速度可以加快很多倍。如果你了解EA是如何构建的,并且它有独立的变量,即它们的变化不影响其他变量运行时的结果,那么这个方案是可能的。

如果有很多变量,测试的时间可以减少数百倍。

另外,mt5允许你连接第三方进行测试。

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

如果有可能将变量分成几组并进行交叉测试,那么测试 的速度可以加快很多倍。如果你了解EA是如何构建的,并且它有独立的变量,即它们的变化不影响其他变量运行时的结果,那么这个方案是可能的。

如果有很多变量,测试的时间可以减少数百倍。

另外,mt5允许连接第三方进行测试。

这是一个想法,但在我看来,交叉测试不会得到确切的结果。测试,同样在我没有经验的意见中,应该在一个最终的、完整的版本中进行。这里有一个问题--如何以及通过什么计算机参数可以在不求助于第三方力量的情况下尽可能地加快测试速度。GPU还是CPU?

 
Franklins100:

这是个想法,但在我看来,交叉测试不会产生准确的结果。测试,同样在我没有经验的意见中,应该在一个最终的、完整的版本中进行。而这里的问题是--如何以及通过什么计算机参数可以尽可能地加快测试速度,而不诉诸于使用第三方力量。GPU还是CPU?

优化代码。

 
Vladimir Karputov:

优化代码。

让我试着更直接一点--我有以下配置:2个英特尔®至强®黄金6126,4个三星DDR4 2666 Registered ECC LRDIMM 64Gb,2个特斯拉P100或2080ti(我在思考)在这种情况下,我是否能得到任何速度,或者我可以不费力气,在计算器上优化代码?我想 "玩 "大量的指标、历史,以测试所有可能的结果、策略和变化--获得经验,等等。

 
Franklins100:

让我试着更直接一些--我有以下配置:2个英特尔®至强®黄金6126,4个三星DDR4 2666 Registered ECC LRDIMM 64Gb,2个特斯拉P100或2080ti(我在思考),在这种情况下,我是否能通过这种配置获得速度,或者我只是决定不麻烦它,在计算器上优化代码?我想 "玩 "大量的指标、历史,以测试所有可能的结果、策略和变化--获得经验,等等。

我们必须带着一个具体的问题开设一个新的分支 - "我需要什么硬件来即时优化任何专家顾问?

 

这个函数应该返回什么?

打印(SYMBOL_POINT)。

对于欧元兑美元,我得到16,但它应该是0,00001

但Print(SymbolInfoDouble(Symbol(),SYMBOL_POINT))。

它返回9.999999999999996e-06

这是一个小故障还是每个人都一样?
 
SEM:

这个函数应该返回什么?

打印(SYMBOL_POINT)。

对于欧元兑美元,我得到16,但它应该是0,00001

但Print(SymbolInfoDouble(Symbol(),SYMBOL_POINT))。

它返回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, то...
 
我如何获得欧元兑美元的单点价值?我得到的是16,而不是0.00001。
 
SEM:
如何获得欧元兑美元的单点价值?我得到16,而不是0.00001

你到底在打印什么?

SYMBOL_POINT 是一个预定义的常数。也就是说,你打印的是常数的数值。

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

你到底在打印什么?

试图将卖出的获利点归一化,我得到的TP=-130

 int TakeProfit=100;//Profit

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