// Возвращает true, если полностью выполнился OnTick() на последнее событие NewTick в тестере - окончание бэктеста. Иначе - false.staticbool BACKTEST::IsEnding(void)
{
return(::TesterStatistics(STAT_BALANCEMIN) > 0);
}
// Возвращает сумму всех балансовых не торговых операций (начисления + списания)double GetSumBalanceOperations( void )
{
double Res = 0;
if (HistorySelectByPosition(0))
for (int i = HistoryDealsTotal() - 1; i >= 0; i--)
Res += HistoryDealGetDouble(HistoryDealGetTicket(i), DEAL_PROFIT);
return(Res);
}
你忘了指定测量的开始是在第一个OnTick的开始。测量的结束是在OnDeinit的开始。
// После окончания бэктеста сначала вызывается OnTester, затем OnDeinit
在主题中
关于交易、自动交易系统和交易策略测试的论坛
虫子,虫子,问题
fxsaber, 2016.08.25 11:13
生命周期或者在OnTester的开始,如
并将测量结果作为OnTester的返回代码返回。
还没有在测试器中 测试GetTickCount。我假设这个功能将被测试者模拟,这在某些情况下可能是合理的。
顺便问一下,如何理解测试器中的当前时间 到最近的毫秒?SymbolInfoTick+Tick.time_msc允许你找出主符号的OnTick调用时间。因此,即使是检查测试仪的滑动模式的正确性。但似乎没有其他办法。
真的,我想问的是别的事情。为了在优化器中自动进行批处理,并放弃第一个和最后一个值,我应该通过框架来行动(传递OnTester-result),否则会扭曲结果?
真的,我想问的是别的事情。为了使优化器中的工作台自动放弃第一个和最后一个值,我是否需要通过框架来行动(以传递OnTester-result),或者会扭曲结果?
不要使用微秒计时器进行质量测量。使用常规的毫秒级GetTickCount。
GetMicrosecondCount 的速度是否比GetTickCount更慢(或者它是模拟的)?
还是EventSetMillisecondTimer的失败是指?
GetMicrosecondCount的速度是否比GetTickCount更慢(或者它是模拟的)?
还是EventSetMillisecondTimer的失败是指?
我是指GetMicrosecondCount。不能确定它是否会减慢服务器的速度。它可能有间接影响。因此,最好使用系统中的GetTickCount
GetMicrosecondCount用于测量代码执行的短时期。要测量大量的OnTick执行,最好使用GetTickCount。
当你得到稳定的结果时,尝试使用GetMicrosecondsCount而不是GetTickCount。你要在这里告诉我。也许我担心的太多了。
它们的内容只能通过HistorySelect函数来影响。而它的发生情况如下
这种交易的DEAL_ENTRY是DEAL_ENTRY_IN(0)。