文章 "开发和分析交易系统的最佳方法" - 页 4

 
Denis Kirichenko:

也就是说,12 行代码毫无意义。这就是效率和优化的问题 :-)

.....

尤金,顺便说一句,有这样一个函数CopyRates()

也就是说,如果按如下方式编写上述代码:

bool CalcAllMQL5Values(const int CandlesE,MqlRates &data[] )//数组重新计算
  {
     return(CopyRates( _Symbol, _Period, 0, CandlesE, data)>0);
  }

那么文章作者的计算就正确了(更少的代码 = 更多的 TS 利润)

;)

SUS:变量名也应简短,这将提高效率.....。


我现在要走了,用文章作者的话说--讨厌这个话题,我想这就是它的名字,我不确定这是不是我想做的。

 
Igor Makanu:

也就是说,如果我们将上面的代码编写如下

那么作者的计算就正确了(更少的代码 = 更多的 TS 利润)。

;)

SZY:变量名也应简短,这将提高效率....。


我要走了,用文章作者的话说就是--讨厌这个话题,我想这就是它的名字,我不确定这是不是我想要的。

你只是不明白文章的重点,它不是关于编程的,我是指没有重复的代码行。告诉我,为什么我需要摆弄和发明一辆一切正常的自行车?你忽略了一个事实,那就是这一切都是在测试人员策略 的框架内进行的,在这个框架内,提高警惕没有任何意义,而你的所有检查,好吧,你会去做,那又怎样?你会得到 19 点,而不是 20 点期望矩阵。这对你真的那么重要吗?你这样做毫无意义。

 
你想从文章中得到什么,你知道自己想要什么吗?请回答这个问题。既然我们在对话,那就讲讲道理吧。
 
Aleksey Vyazmikin:

没有对公式本身进行分析或检查其构造的正确性。

至于它们的构造逻辑,我在前面已经写过,如果用户有能力产生新的想法,这种方法就有生命力。

当然,任何智能交易系统都有其自身的逻辑,都有一套从一个智能交易系统传递到另一个智能交易系统的功能,而且这些功能是不变的,但产生市场进入的 附加逻辑可以是不同的,我同意,如果在初始阶段通过简单的规则和足够数量的进入就能带来利润,那么在基本策略上增加相同数量的不等式(代码行),从中榨取更多利润的机会就会更大。这种对想法的基因选择并不意味着被抛弃的想法是坏的,而是意味着开发(进化)这些想法需要更多的时间,而人类拥有的时间是有限的。

阿列克谢说对了。很高兴有这样的人

 
"比如,K是什么?"- 丹尼斯,特别是对你来说,K 是你击键速度的系数。要把所有东西都考虑进去并嚼碎是很难的。如果你有任何问题,我都可以回答。我不是在逃避回答,而是随时准备回答任何问题。你可以换一种写法:K = 1/K0 ,其中 K0 是 K 的类比,唯一的区别是 K0 越大,K 越小,最后的时间就越少。这些技能是无法传授的。这是你掌握数学仪器的水平,也是你分析数据、将数据转化为公式并在实践中检验的能力。事实上,学院会教很多东西,但我现在还不是在写书。如有需要,我会更详细地介绍一切。
 

尤金,你似乎是个技术人员...那么,关于优化问题...我有一些自己的想法...

最直观的东西就是图表。我们可以看到曲线,看到依赖关系,看到需要优化的领域、内容和位置...很遗憾您的材料中没有这个....。

当然,要做到这一点,我们需要了解描述我们感兴趣的那种关联法则的曲线...

我粗略估计了一下搜索和提炼盈利策略的资源成本:很有可能我们面对的是一个对数规律。




在 X 轴上是所有的劳动力成本,在 Y 轴上是策略的收益。


那么问题来了。我们应该在哪一点上停止[x,y]?感兴趣的开发人员的有趣观点...

 
Denis Kirichenko:

我粗略估算了一下寻找和完善盈利战略的资源成本:我们很有可能面对的是一个对数法则。

X 轴为所有劳动力成本,Y 轴为策略收益。


那么问题来了。我们应该在什么时候停止 [x,y]?感兴趣的开发人员的有趣观点...

我在某些类型的 TC 上已经停滞了很长时间。不过,有些类型的 TC 我甚至还没有尝试过。也许,当在之前的方向上没有进展时,转向不可知的方向是有益的。

 
Denis Kirichenko:

尤金,你似乎是个技术人员...那么,关于优化问题...我有一些自己的想法...

最直观的东西就是图表。我们可以看到曲线,看到依赖关系,看到需要优化的领域、内容和位置...很遗憾,您的材料.... 中没有这一点。

当然,要做到这一点,我们需要看到描述我们感兴趣的关系规律的曲线...

我粗略估计了一下找到并完善一个有利可图的策略所需的资源:很可能我们面对的是一个对数法则。




X 轴为所有劳动力成本,Y 轴为策略收益。


那么问题来了。我们应该在什么时候停止 [x,y]?感兴趣的开发人员的有趣观点...

这里不需要一阶导数和二阶导数,它们不会给你带来任何帮助。如果一阶导数有零,它们会有帮助,但在这里符号不会改变。第一个导数将帮助您找到极值,第二个导数将帮助您找到极值的类型(波谷或波峰)。

  • 1) 从可接受的最小收益开始,在收益最小的变量处停止,即最小值 a=a(X0)。
  • 2) 寻找综合指数的极值,例如 A(x)=a(x)/x ,它基本上反映了时间利用的效率。极值应位于区间 [X0,X1]。 X1 是您为 1 个交易系统输入的最大劳动力。也就是说,你有一个参数值区间,你应该在这个区间内寻找最大值 A(x)。(已经是综合指数,而不是初始指数)。
  • 3) 您可以从一个舒适的返回值开始说 a=a(X2),在这个返回值中,您不会有任何怀疑,交易将是舒适而没有风险的,当达到这个指标时,您只需取 X2。X2 是您的函数在最近的舒适性能指标处的参数

就我个人而言,如果我珍惜我的时间,我会选择第二种方案,因为时间非常宝贵。

 
fxsaber:

在某些类型的 TC 上,我已经停滞了很长时间。然而,有些类型的 TC 甚至还没有尝试过。或许,当在之前的方向上没有进展时,转向未知的方向是有益的。

你的想法是对的)。这更是一个哲学问题)。如果你没有成功,那就尝试新的东西,当然这并不总是发生,但通常在你的大脑皮层下会有一种感觉,你只是在浪费时间。

 
您对 2020 年 9 月 20 日的私人信件置若罔闻。您至少可以只说两个字--您的意见。