这主要是一个理论问题(但总是欢迎示例代码)。
真正的问题是: 如何正确编码'框架'从多个自定义指标测试多个场景的EA?
我(忙)建立EA的方式并不是非常关注1策略,而是会尝试测试'多种策略和选择'最合适的一个。
所以我创建了一些自定义指标,这些指标都返回了一系列状态数据'。
例如,我有以下指标:
我可以编写一个巨大的场景,但我认为它可以做得更好。因为,假设所有时间框架都在下降(向下趋势)你可以有一个特殊的场景来处理大量的向下移动。但如果没有当前的趋势,那么不同的场景最适合。
所以,我觉得最好制作多个场景(仍然在1个EA中)。首先收集所有自定义指标数据,然后每个方案使用该数据来计算其内容。然后它返回一个'得分'并选出最好的一个。
但是,如何在最佳概述中布置代码'方式是什么?
我应该为每个场景创建一个类,并给他们一个手册' tick'有数据吗?然后将它们分成多个文件并 #include
它们?
或者也许是事件驱动的?创建的类只是继续运行,计算和设置某些指标事件的监听器,并以自己的方式(这将是很棒的)
欢迎任何想法!
我现在没有时间创建UML ..但我现在做以下事情 - >
Order
(Order
是单身人士,仅执行订单请求)Indicator
(每个指标扩展的基类) Strategy
(每个策略扩展的基类)
IndicatorFetcher
(保留所有指标,在每个刻度线上运行)
StrategyRunner
(保留所有策略,在IndicatorFetcher
之后的每个刻度线上运行)每个Strategy
实例都可以访问IndicatorFetcher
(包含所有指标'数据的概述,并使用Order
单例进行交易。)