程序库: 多功能测试仪 - 页 42

 

下午好!

是否可以通过脚本更改优化期的开始和结束日期?


这样就可以扩展优化选项


亚历山大

 
klycko #:

能否通过脚本更改运行脚本时设置的优化期开始和结束日期?

MTTESTER::SetValue(Settings, "FromDate", TimeToString(D'2020.01.01', TIME_DATE));
MTTESTER::SetValue(Settings, "ToDate", TimeToString(TimeCurrent(), TIME_DATE));
 
fxsaber #:

谢谢!

 
神奇的图书馆
 
fxsaber #:
您已收到一个字节数组中的 opt 文件。接下来,您需要将其输入缓存。

下午好!


我的问题与运行过程有关。

我不明白为什么命令:Settings[0] = Cache.TesterString(Pos);

会把设置字符串Settings[0] 搞乱。

下面是代码文本,日志数据附后。

谨致问候,亚历山大。


Run(Settings[0]); // 在参数 TF 上运行遗传优化

TESTERCACHE<ExpTradeSummary> Cache;

GLOC = MTTESTER::GetLastOptCache(Bytess); // 将选项文件获取到 Bytess 字节数组中

CL = Cache.Load(Bytess); // 将 Bytess 字节数组输入 Cache

Print(" GLOC = ",GLOC," CL = ",CL); // 写入和读取诊断结果

// ProfitNow = Cache[GetMaxProfitPos(Cache)].profit; // 最大利润 https://www.mql5.com/ru/forum/318998/page2#comment_13846951

int NomProchMaxProfit = Cache[GetMaxProfitPos(Cache)].Pass; // 获得最大利润的次数

// Cache.GetInputs(IndexMaxProfitRuna,Paramas);

// prWrite2 = Cache.Save(OptFile); // 将运行结果保存到 MQL5\Files 中的 opt 文件中

// prRead2 = Cache.Load(OptFile); // 从 MQL5\Files 中读取检查结果

// Print(OptFile+" write = ",prWrite2," read = ",prRead2); // 写入和读取诊断

Pos = GetMaxProfitPos(Cache);

Cache.SaveSet(Pos); // 在 MQL5\Files 中创建最有利可图的传递的集合文件


Print("Pos = ",Pos," NomProchMaxProfit = ",NomProchMaxProfit);

Print("Before Cache.TesterString(Pos) ",PrGenetic," NumPeriod=",NumPeriod,"\nControl Genetics:\n",Settings[0]);


Settings[0] = Cache.TesterString(Pos); // 将新设置写入当前设置字符串

// 在前面的命令中,虽然 TF=20 值设置正确,但 Settings[0] 字符串非常难看。

Print("After Cache.TesterString(Pos) ",PrGenetic," NumPeriod=",NumPeriod,"\nControl of genetics:\n",Settings[0]);


Библиотеки: TesterCache - Что такое 0xCACA?
Библиотеки: TesterCache - Что такое 0xCACA?
  • 2019.08.31
  • Good Beer
  • www.mql5.com
Да и дальше взаимодействия с Оптимизатором нет никакого. в кеше Оптимизатора по каждому проходу хранятся все стат. Бонусом идет возможность запуска любого прохода из обновленной таблицы стандартными средствами в два щелчка
附加的文件:
kbrl69.txt  12 kb
 
klycko #:

// 在上一条命令中,虽然 TF=20 值设置正确,但设置[0]行非常难看。

我不明白。
 
fxsaber #:
我不明白。

下午好!

Settings[0] = Cache.TesterString(Pos); 命令 Settings[0] 中设置了高度扭曲的信息,尽管找到的最佳值 TF=20 设置正确。

但是Settings[0] 的结构已经被破坏。甚至 TF 的区间右边界也从 H1 改为 M12。

在所附日志中,执行上述命令前后都打印了 Settings[0]

我不明白为什么这条命令会如此扭曲Settings[0] 字符串

 
klycko #:

我不明白为什么这条命令会严重扭曲 Settings[0] 字符串。

请将选项文件发送给 LS。

 
klycko #:

优化=1 已更改,但不应更改

如果选择了 GA,但通过次数较少,测试仪会自动进入完全搜索模式。这就是为什么选择 GA 后的 opt-file 有时会显示完全超限。读取该值是正确的。

 
klycko #:

此外,许多参数的数据结构也发生了变化:

Baza=46 正确应为: Baza=46||20|||1|||50||N

非优化参数的范围不会写入选项文件(bool 参数例外)。因此,更改此类参数范围不会影响选项文件名的生成器。这里的工作是正确的。

应用这种 "缩减 "设置不会违反之前选定的非优化输入参数范围。