template <typename T>
class CLASS
{
public:
T Func() { return(0); }
};
class CLASS2 : public CLASS<int>
{
public:
CLASS2()
{
this.Func(); // ALT+G в ME не производит переход на int CLASS<int>:Func()
}
};
// Нужно компилировать (не запускать) советник, когда этот файл (с любым содержанием, хоть пустой) лежит в Песочнице.// Иначе Тестер не будет видеть эти данные, даже если соответствующий файл с ними положить после компиляции на место. #property tester_file__FILE__
// Нужно компилировать (не запускать) советник, когда этот файл (с любым содержанием, хоть пустой) лежит в Песочнице.// Иначе Тестер не будет видеть эти данные, даже если соответствующий файл с ними положить после компиляции на место. #property tester_file__FILE__sinputint NumPass = 10;
#define TOSTRING(A) #A
void SetArray( int &Array[], constint Amount )
{
MathSrand((int)TimeLocal());
for (int i = ArrayResize(Array, Amount) - 1; i >= 0; i--)
Array[i] = MathRand() * Amount / SHORT_MAX + 1; // Случайное положительное число
}
voidOnTesterInit()
{
ParameterSetRange(TOSTRING(NumPass), true, 0, 0, 1, NumPass - 1); // Задали Оптимизатору количество проходов = NumPass int Array[];
SetArray(Array, NumPass);
FileSave(__FILE__, Array);
ArrayPrint(Array);
}
voidOnTesterDeinit()
{
ChartClose(); // Закрыли чарт Frame-выполнения советника
}
doubleOnTester()
{
int Array[];
return((FileLoad(__FILE__, Array) != -1) ? Array[NumPass]: 0);
}
连续两次运行的结果
用红色标记的是,第二次运行与第一次运行的数值完全对应,而不是第二次(第二行)。
日志证实了这一点
Tester set"Custom max"as optimization criterion for mathematical calculations
Tester input parameter 'NumPass'set to: enable=true, value=0, start=0, step=1, stop=9
Tester cache file 'tester\cache\X2.30.480532BA71563CA64BC267378A0185DD.opt' contains 10 records
Tester Experts\fxsaber\X2.ex5 math calculations test means no history and no symbol info for EURGBP
Tester complete optimization started
Tester optimization already processed, total passes 10
Tester reading of 10 result records from cache...
Tester 1 blocks of results read from cache in0 ms
Statistics optimization done in0 minutes 00 seconds
是的,我已经在第22214号帖子中给了你实施的这个链接。我再说一遍--我认为这是迄今为止最明智的选择。而且,从最小的CPU负载和新刻度时刻的相关性来看,似乎没有更好的实现。
服务中会有正常的功能。
在服务中,将有正常的功能。
希望...
当切换到另一个交易服务器时,终端(1874)停止显示(图表或查询)自定义符号的条形历史。终端重新启动后,会显示历史记录。只要你再次切换到另一个服务器,情况就会重演。
切换交易服务器时,Tick历史 不会受到影响。那里不存在这个错误。
中东地区应该是这样的吗?
在FileLoad中出错。如果两个带有FILE_COMMON 标志的本地Agent试图通过FileLoad读取数据,其中一个Agent会失败。
可以在FileOpen中设置适当的标志,但在FileLoad中不能。因此,如果其他 FileLoad 读取该文件,请允许通过 FileLoad 访问该文件。
关于交易、自动交易系统和交易策略测试的论坛
不适合MT开发者!用什么来代替INIT_PARAMETERS_INCORRECT?
fxsaber, 2018.07.10 20:16
古老的虫子。
是否有可能将测试器_文件保存在RAM中,以避免硬盘/SSD的滥用?有数以百万计的通行证,要数这么多遍的文件是很可怕的。
这样的 "RAM-磁盘 "将使未经授权将个人数据转移给第三方 的行为变得更加困难。
新的优化缓存没有考虑到在运行优化之前对测试者_文件和普通文件的修改。
下面是 这样一个EA的例子。
新的优化缓存没有考虑到在运行优化之前对测试者_文件和普通文件的修改。
下面是 这样一个EA的例子。
到底有没有考虑到老的问题?
与 "旧的 "优化缓存相比,没有任何变化。
如果你滑出一个修改过的tester_file,且文件修改时间相同,那么该文件将被视为没有变化。
普通文件不能以任何方式被控制(而且从来没有被控制过),因为不知道你在你的专家顾问中使用了哪些文件。
如果你滑出一个修改过的tester_file,并有相同的文件修改时间,该文件将被假定为未修改过。
更新的修改时间对结果没有影响。专家顾问
连续两次运行的结果
用红色标记的是,第二次运行与第一次运行的数值完全对应,而不是第二次(第二行)。
日志证实了这一点
如果我重新设置缓存(重新编译),第一次运行就很好,再往后就不行了。