mql5语言的特点、微妙之处以及技巧 - 页 85

 
尼古拉-森科

这是非常有趣的...
你知道为什么会出现这种情况吗?

机制是什么?

很难说得很准确。当你提前知道一个变量不会改变时,你可能会找到一种更优雅的方式来存储它,解决循环和其他编译器的优化。

所以我建议你尽可能多地使用const,不仅是为了自我检查,也是为了编译器。

 
fxsaber:

这一点很难说。当你事先知道变量不会改变时,你可以找到一种更优雅的方式来存储它,发掘循环和其他编译器的优化。

因此,我建议不仅要进行自我监控,而且要让编译器尽可能地使用const。

你检查过其他的StringXXX函数吗?也许他们都很慢。-D
 
Alain Verleyen:
你检查过其他的StringXXX函数吗?也许他们都很慢。-D

我没有。我需要它来做这件 事。

Скрипты: ThirdPartyTicks
Скрипты: ThirdPartyTicks
  • 2018.04.11
  • www.mql5.com
ThirdPartyTicks: Автор: fxsaber...
 

fxsaber:

void OnStart()
{  
  const string Str = "123.456";
  
  BENCH(Print(Bench1(1 e7, Str)));
  BENCH(Print(Bench2(1 e7, Str)));
  BENCH(Print(Bench3(1 e7, Str)));
}

结果(释放)

1234559999.924436
Time[Print(Bench1(1 e7,Str))] = 1656182
1234559999.924436
Time[Print(Bench2(1 e7,Str))] = 1639179
1234559999.924436
Time[Print(Bench3(1 e7,Str))] = 147382

事实上,由于编译器对此类代码的优化能力,这些测试并不十分客观。 你有一个相同的字符串被多次解析,而你需要在每次迭代中解析不同的字符串

 
阿列克谢-纳沃伊科夫

事实上,由于编译器对此类代码的优化能力,这些测试并不十分客观。 你有一个相同的字符串被多次解析,而你需要在每次迭代中解析不同的字符串

我考虑过这种情况,但没有布置更重的代码。它有相同的结果。

 

我在这里复制一下,它丢失了

关于交易、自动交易系统和策略测试的论坛

初学者的常见问题 MQL5 MT5 MetaTrader 5

Vitaly Muzichenko, 2018.04.18 14:54

你能告诉我,在测试器中以多币种模式进行测试后,我们只看到结果......,然而,除了总体结果,我们什么也看不到。

我在某处看到,要么是在一篇文章中,要么是在kodobase中,有一段代码可以分别显示每个符号的结果。谁知道它的情况呢?

 
维塔利-穆齐琴科

我把它复制到这里,它一定是在那里丢失了。

https://www.mql5.com/ru/articles/4562

Работаем с результатами оптимизации через графический интерфейс
Работаем с результатами оптимизации через графический интерфейс
  • 2018.04.05
  • Anatoli Kazharski
  • www.mql5.com
Продолжаем развивать тему обработки и анализа результатов оптимизации. В предыдущей статье было показано, как визуализировать результаты оптимизации через графический интерфейс MQL5-приложения. На этот раз усложним задачу: выберем  100 лучших результатов оптимизации и отобразим их в таблице графического интерфейса.  Кроме этого, продолжим...
 

找到了这个,但它有点不同。

谢谢你!

 

关于交易、自动交易系统和交易策略测试的论坛

在MetaQuotes-Demo上发布MetaTrader 5 build 1795的测试版本

fxsaber, 2018.04.24 09:37

测试员
TESTER_EURUSD : real ticks begin from 2018.04.02 00:00:00
TESTER_EURUSD : 2018.04.03 00:00 - 2018.04.24 00:00  last prices absent for 15 whole days, bars built by bid prices
final balance 10000000.00 USD
OnTester result 203343
TESTER_EURUSD,M1: 1407448 ticks, 21591 bars generated. Environment synchronized in 0:00:00.172. Test passed in 0:00:00.905 (including ticks preprocessing 0:00:00.203).


最后价格与这些设置的符号有什么关系?

你需要将SYMBOL_TICKS_BOOKDEPTH清零,否则(在截图中=9)测试者会像上面的帖子一样期待最后价格(即使没有)。

因此,在 "复制自:"之后,请注意这个参数。
 
在SB中看到了它,不知道它是一种可能性
template <typename T>
struct TMP
{
  T Tmp;
};

TMP<int>Var; // Между типом и названием переменной нет пробела