TestCommander(自动优化)交易者的工具 - 页 8

 
xeon,预计很快会有更新?
 
assol_7 писал(а)>>

亲爱的伊戈尔!

在使用宏程序 "Complex" 时,发现在这个宏程序的报告文件中,有时由于某种原因,宏程序获得的利润 结果与在同一台测试机上相同的输入数据在 手动模式下获得的结果不同!这就是为什么宏程序的报告文件与手动模式不同。而在优化结果的报告文件中没有这样的利润结果(这是可以理解的)。目前还不清楚 "复杂 "宏程序是如何获得这些结果的。也许我们应该检查宏程序如何在下一次测试后从测试者报告中读取利润结果。报告中的数字 "复杂",具有正确的格式和外观,但有时比真实的数字少两三倍或更多

谢尔盖说。

这很可能是由于你所设定的最佳参数的顺序(筛选的顺序)造成的

//================== Порядок отсеивания =======================================
extern int  Gross_Profit    = 0;               //По максимальной прибыли
extern int  Profit_Factor   = 0;               //По максимальной прибыльности
extern int  Expected_Payoff = 0;               //По максимальному матожиданию
//-----------------------------------------------------------------------------

TestCommander中默认的筛分顺序是设定的。

1) 利润_因素

2) 利润总额

3) 预期回报率

根据你的要求来设置这些参数。

该排序机制在《实盘交易中交易机器人的自动优化》 一文中有详细描述。

 
Impeller писал(а)>>
xeon,预计很快会有更新?

它正在顺利进行,但有很多工作要做。

很难说具体什么时候出来,大概是明年年初。

 
xeon >> :

它正在顺利进行,但有很多工作要做。

很难说确切的时间,大概是在明年年初。

Eh Yo!

几张之前似乎是那个月的结束,而现在是一年了。算法将被完全重写还是什么?

我们甚至可以从新版本中期待什么?

 
Impeller писал(а)>>

Eh Yo!

几张之前似乎是那个月的结束,现在是一年了。算法是要完全重写还是什么?

我们甚至可以从新版本中期待什么?

一切都在完全重写,即使概念改变,图形外壳也在改变。

 
xeon >> :

整个事情都在重写,即使是概念的改变,图形外壳也在改变。

我明白了,所以这都是为了长期发展。

也许可以要求公众发布旧的开发的源代码。每个人都会完成他们需要的东西。

作为最后的手段,限制性代码。


一旦新的版本出来,有了新的端点和实现,就让它成为商业版本,然后谁需要这个程序就会买它。

 
Impeller писал(а)>>

我明白了,所以这一切都是为了长期的发展。

也许可以要求公众发布旧的开发的源代码。每个人都会完成他们自己需要的东西。

或者,作为最后的手段,没有限制的封闭源代码。

当新的版本出现时,有新的终端和新的实现,让它成为商业,然后谁需要这个程序就会购买它。

:-) 这对那些买了它的人来说是不公平的。

你最好等待新版本,希望它能满足许多需求,包括你的需求 :-)

 
xeon >> :

:-)这对那些购买它的人来说是不公平的。

最好等待新版本,我希望它能满足许多愿望,包括你的愿望:-)。

好吧,我同意并购买旧版本,但最好是在源代码中进行改进,而那些买了它的人,自动开放源代码。

实用的旧算法对你来说已经不存在了,如果有新的算法,那么至少可以让一个正常的程序员从他的代码中学习。

我的ICQ:38 0 0 282 0 3,用于联系。

 
xeon >> :

:-)这对那些买了它的人来说是不公平的。

最好等待新版本,我希望它能满足许多愿望,包括你的愿望 :-)

伊戈尔,我认为新的版本将不得不做成两个版本,商业和免费。 我想很多人都会想购买商业版本,因为他们知道它将有哪些功能和允许做哪些任务 :)

 

亲爱的伊戈尔!

我在给你的信中说:"使用该程序的工作表明,在执行复杂的宏程序期间,如7程序不时地挂起,这表现在脚本的可见工作中,实际上没有任何动作没有执行(在日志中,没有任何东西被写到脚本的屏幕上,没有变化),在这样的状态下,脚本可以停留足够长的时间。" 事实证明,这是由于在循环宏OneTest() 中挂起 如果出于任何原因,创建的测试器副本没有运行,脚本将无限期地挂起。这一点可以通过在OneTest() 宏程序中加入强制测试员重新启动的代码来克服。例如,像这样。

int j=0; //我的
int a=0;
while(!rep){ //等待测试员报告 出现
j++;
rep = TimeOutReport(""); //要求测试员报告出现
if(IsStopped()){return(-1);}//如果被用户停止--中止
SignExp = ExpertMessage("");
Comment("时间通过:"+TimeToStr(TimeLocal()-TimeStartExp,TIME_MINUTES|TIME_SECONDS)+" 专家通过。"+SignExp);//显示时间
Sleep(1000*SpK); //等待
if(j>10){
a++;
StartTester(); //启动测试器
TimeStartExp = TimeLocal(); //写入优化的开始时间
if(StrToInteger(GlobVariable("Glob_BgColor")) !=0){col=Red;}else{col=Yellow;}
TextWrite(1, "ATTENTION! - TESTING !",col); //将在屏幕上显示警告
j=0;
}
if (a>3) break;
}

我还写道:"当使用宏程序工作时 "复杂"原来,在这个宏的报告文件中,有时由于某种原因,宏程序获得的利润 结果与在同一测试器中以相同的输入数据手动模式下获得的结果不同!"。"这是由于在宏程序OneTest(),库WorkAnalyzer 的函数FileTester()中不正确地读取了测试员报告文件中的数据,除了测试员报告的第一行外,几乎没有其他内容是匹配的。因此,在盈利能力和其他数据方面存在错误。由于WorkAnalyzer 库已经关闭,我希望作者能够检查并纠正这个问题。在一个货币对和一个时间框架上进行了研究。这就排除了多次传递过程中的平均化所造成的数据失真。我还注意到,这种故障并不总是发生。我还没有找到这个系统。最好能将源代码提供给那些已经购买了你的产品的用户,以便他们进行修改和修正。

谢尔盖说。