文章 "自适应算法(第四部分):附加功能和测试" - 页 5

 
问候。

1.如果我们假定已经找到了一种对 N 种金融工具中的每一种都大致相同的通用模式,那么根据对 1 种金融工具的研究结果,按同时交易的金融工具数量的增加来粗略估算 系统的容量,可以如下计算:

O = Z * Tcr * ( 1 + ( N - 1 ) * Corr ) / Tp,
其中
Z - 一种金融工具的交易次数(系列交易),
Tcr - 一次交易的平均持续时间(天数),
N - 金融工具的数量,
Corr - 它们之间的某种相关系数[0..


如果 O 小于 1,则最大亏损可能不会随着同时交易的工具数量的增加而增加,而总利润往往会增加 N 倍。
要同时交易 100 种工具,就必须确保最短的交易时间(这对反趋势策略来说非常困难)和最短的交易 工具相关性(这也很困难)。

2. 我草拟并匆忙测试了 "部分平仓",在交易几个符号时。缩水减少了,股本图接近平衡图。但仍会出现大幅缩水。与没有 "部分平仓 "时相比,深度不一样,位置也有点不对。
为了使尾部切割(关闭最无利可图的系列或其部分)正常、良好地运行,需要不断向余额输入已成功关闭的系列,这种流入应足以关闭负数,并在口袋里(余额上)留下 20%。但是,当 "初级 "系列有这样的利润交付机制时,"高级 "系列就没有意义了。
如果我们考虑一个工具上的锁定系列,例如,当我们持有一个负购买(1)并完成几个销售(2)时,它对我不起作用(我指的是长期稳定的正结果)。我不是在宣传什么,也不懂数学,只是想说:"......我查过了......"。:)

总体而言,该系统具有明显的不对称性。如果走势不利,头寸就会增加。然后,正确入市的比例应远远高于错误入市的比例,或者预计会有足够的回撤或大量的平仓储备。另一方面,也可以在每个已形成的区块上建立头寸,既反对入场,也追求利润。只要所有系列都能按计划总利润平仓,这样的决定就能带来更好的结果。此外,只在 "尾部 "区块进场可以减少缩水。

该系统很有趣,在不同方向上都有很大的变化。例如,我正在尝试以下参数:
-区块:
--搜索趋势/走平的最小和最大步数(8 --是很短的一段吗?50 --我需要这么多吗?),
--区块集大小,区块集中海拔变化的起点和步长,
--趋势和平坦之间的界限在哪里划定,
还有:
--开盘时:
-- 是否使用资产对冲控制(对于具有可接受相关性的特定工具集,最好不使用控制),
-- 是否在反转信号上下功夫(我认为最好按原方向凿入,或退出但不掉头),
-- 如果是信号,在区块上逆向、顺向或在两种情况下进入(这里有所不同)
-- 进入量:固定手数,或当前区块的固定值,或最大区块的固定值
-- 失去信号时该怎么办:关闭,在其他参数上寻找新信号,继续上一个信号,
-- 关闭时:
--
-- 是否使用所有未平仓系列的总利润,以及相对于区块值的交易量(所有系列总利润为 30,然后平仓?)
-- 是否使用部分平仓机制。

作者显然没有提出这些问题,也许这一切都是多余的。很明显,我是在我理解的范围内对系统进行曲解,并对其实施质量进行曲解。但我喜欢这个系统本身和它的研究过程,感谢作者,我饶有兴趣地关注着。
所有的问题参数都需要多次测试,这在原版的积木构建中是非常困难的(大量的计算)。我试图简化计算和区块组的构建(使用罕见的固定参考日期进行计算,而不是从最后一栏开始计算)。计算速度几乎是宇宙级的,但不幸的是,我注意到接收信号的质量下降了:(现在我正绞尽脑汁考虑如何组合......

我还发现,在控制资产对冲时,体积控制比二进制控制更有效。二元控制 - 我们只控制货币未平仓头寸的方向,而不考虑交易量。体积控制 - 我计算 "资产 "选项卡的模拟量,并从零开始或根据累积量开立新头寸。(顺便问一下,在 MQL5 中,是否有从该选项卡获取数据的标准方法?)

不知何故,一般来说。

附注:当系统设计为在已形成的条形图(仅在开盘时)上做出决策时,不会在仓位中标记 SL 和 TP(尽管它们可能存在于算法中),"OHLC M1 "已经包含足够的冗余,可以进行可靠的测试。
 
Amba404:
问候。 1.如果我们假定已经找到了一种对 N 种金融工具中的每一种都大致相同的通用模式,那么根据对 1 种金融工具的研究结果,按同时交易的金融工具数量的增加来

粗略估算 系统的容量,可以如下计算:O = Z * Tcr * ( 1 + ( N - 1 ) * Corr ) / Tp, 其中 Z - 一种金融工具的交易次数(系列交易), Tcr - 一次交易的平均持续时间(天数), N - 金融工具的数量, Corr - 它们之间的某种相关系数[0.. 如果 O 小于 1,则最大亏损可能不会随着同时交易的工具数量的增加而增加,而总利润往往会增加 N 倍。 要同时交易 100 种工具,就必须确保最短的交易时间(这对反趋势策略来说非常困难)和最短的交易 工具相关性(这也很困难)。 2. 我草拟了 "部分平仓",并在交易几个符号时匆忙进行了测试。缩水减少了,股本图更接近平衡图。但仍会出现大幅缩水。与没有 "部分平仓 "时相比,深度不一样,位置也有点不对。为了使切尾(关闭最无利可图的系列或其中的一部分)正常、良好地运行,有必要不断向余额提供已成功关闭的系列,这种流入应足以关闭负数,并在口袋里(余额上)留下 20%。但是,当 "初级 "系列有这样的利润交付机制时,"高级 "系列就没有意义了。如果我们考虑一个工具上的锁定系列,例如,当我们持有一个负购买(1)并完成几个销售(2)时,它对我不起作用(我指的是长期稳定的正结果)。我不是在宣传什么,也不懂数学,只是想说:"......我查过了......"。:)总体而言,该系统具有明显的不对称性。如果走势不利,头寸就会增加。然后,正确入市的比例应远远高于错误入市的比例,或者预计会有足够的回撤或大量的平仓储备。另一方面,也可以在每个已形成的区块上建立头寸,既反对入场,也追求利润。如果所有系列都以计划的总利润平仓,这样的决定会带来更好的结果。此外,只在 "交叉 "区块上进场可以减少缩水。 这个系统很有趣,它在不同方向上有很大的可变性。例如,我正在尝试以下参数: -区块: --搜索趋势/走平的最小和最大步数(8 --是很短的一段吗?50 --我需要这么多吗?), --区块集大小,区块集中海拔变化的起点和步长, --趋势和平坦之间的界限在哪里划定, 还有: --开盘时:-- 是否使用资产对冲控制(对于具有可接受相关性的特定工具集,最好不使用控制), -- 是否在反转信号上下功夫(我认为最好按原方向凿入,或退出但不掉头), -- 如果是信号,在区块上逆向、顺向或在两种情况下进入(这里有所不同) -- 进入量:固定手数,或当前区块的固定值,或最大区块的固定值 -- 失去信号时该怎么办:关闭,在其他参数上寻找新信号,继续上一个信号, -- 关闭时:-- -- 是否使用所有未平仓系列的总利润,以及相对于区块值的交易量(所有系列总利润为 30,然后平仓?) -- 是否使用部分平仓机制。 作者显然没有提出这些问题,也许这一切都是多余的。很明显,我是在我理解的范围内对系统进行曲解,并对其实施质量进行曲解。但我喜欢这个系统本身和它的研究过程,感谢作者,我饶有兴趣地关注着。 所有的问题参数都需要多次测试,这在原版的积木构建中是非常困难的(大量的计算)。我试图简化计算和区块组的构建(使用罕见的固定参考日期进行计算,而不是从最后一栏开始计算)。计算速度几乎是宇宙级的,但不幸的是,我注意到接收信号的质量下降了:(现在我正绞尽脑汁考虑如何组合...... 我还发现,在控制资产对冲时,体积控制比二进制控制更有效。二元控制 - 我们只控制货币






































未平仓头寸的方向,而不考虑交易量。体积控制 - 我计算 "资产 "选项卡的模拟量,并从零开始建立新头寸,或根据累积量建立新头寸。(顺便问一下,在 MQL5 中,是否有从该选项卡获取数据的标准方法?) 不知何故,一般来说。 附注:当系统设计为在已形成的条形图(仅在开盘时)上做出决策时,没有在仓位中标记 SL 和 TP(尽管它们可能存在于算法中),"OHLC M1 "已经包含足够的冗余,可以进行可靠的测试。



有意思。我同意缩减的估算公式,总的来说逻辑是正确的。

至于关闭系列的流入,逻辑也是正确的,新系列应尽可能经常关闭。在这里,我们需要提高算法本身的质量,使其尽可能少地进入无利可图的系列。为此,需要改进缩放算法。我在新版本中对其进行了改进,效果已经开始大为改善。我的想法是,你需要一个理论定价基础来描述市场是如何运作的。理论模型越好,缩水率就越低,工具之间的相关性就越低。

锁定头寸是有意义的,没有锁定头寸比有锁定头寸效果更差(在我的算法中)。但只适用于涨跌幅对称的工具。对于非对称工具,您需要使用非对称参数来生成多头和空头头寸信号。这就是为什么目前只允许在股票上建立多头头寸,而不能锁定其他系列。锁定是一种有条件的机制,对于可视化和便于思考来说是必要的。实际上,在净额交易时,当然不存在锁定。

理想情况下,不需要这种算法和锁定,只需要根据市场数据计算出价格反转概率最高的点。但目前就是这样做的。当理论基础达到必要水平时,算法就会简化。

根据我的观察,只针对价格走势建立头寸是有意义的。如果仓位是买入,那么只在每个下跌区块买入。这种方法本身就能把预期变成一个加号,而不会因为价格变动的某些理论特殊性而影响一切。也就是说,在主要趋势的方向上逆势交易的意义是与生俱来的。在资产下跌时买进, 在资产上涨时卖出, 总是更有利可图。

论文:

- 最小和最大步数并不取决于市场特征,而只取决于算法参数。步数越小,精确度越低;步数越大,精确度越高,但会建立更多的头寸。区块是为了更好地实现可视化而创建的约定俗成的概念。您可以重新设计系统,以便分析 100 个区块的窗口,但交易结果将与 24 个区块的窗口类似。我就是这样做的。

- 考虑到佣金和区块收盘误差(由于使用蜡烛图进行分析),区块大小被选择为可能获利的最小值。有一个重要特征在此不作说明。随着区块大小的减小,超重百分比应该会增加,原因就在于这种趋势误差,这种误差的出现是因为蜡烛图收盘价与区块收盘价不一致。我还没有这样做,但我计划将来这样做。这将大大提高信号的质量。但区块大小本身应根据市场参数来选择。它应该根据市场过去的统计数据而变化。有一个特点可以帮助我们在系列开始前校正规模。

- 趋势与持平之间没有界限,这是一种惯例,其依据是市场上平均每下一步改变方向的概率约为 50%。但有些工具的概率低于 50%,即它们是趋势。利用局部偏差,将来会回到平均水平。因为如果不是这种情况,您可以使用更简单的算法立即赚钱。

- 我在开盘时使用资产对冲控制。

- 反转信号没有计算出来,收盘后一切重新开始,但这里也不那么简单。您需要解决这个问题,但理论基础还没有准备好。

- 只逆势入场

- 入市量是一个重要问题。应该对其进行修正。我开发了几种修正方法。分别针对股票和货币,机制并不简单。股票需要调整投资组合的交易量,货币也是如此。所有工具的大宗交易价格应大致相同。您不应以手为单位进行交易,而应以美元为单位,并根据美元交易量调整手数。以固定美元数(股票)进行交易本身就会提高预期。关于货币,我还没有建立一个理论模型。我计划在新版本中实现并测试这一点,但到目前为止,还没有达到这个程度。

- 当信号丢失时,我会重新开始。

- 根据统计走势和理论收盘点,计划退出该系列。如果我们因无法计算的因素而错过了收盘点,损失头寸的补偿机制就会起作用。理论模型越好,我们错过的次数就越少。由于随机化的原因,10 美元的修正会让系统回到期望值 0。

- 我认为我们可以使用总利润,但它也应该是动态的。也就是说,只有当总利润明显偏离随机游走(价格急剧飙升)时,才应该关闭。这在逻辑上是说得通的。

- 我打算试试部分平仓机制。但我还不知道效果如何。我想在接近理论平仓点时使用它。不是硬性盈利,而是在平仓点 +- 10% 的范围内逐步平仓。这是一个有条件的百分比。它必须基于某些因素来计算,但我还没有仔细研究过这个问题。


关于体积对冲控制,这是一个有趣的解决方案,我自己也没想到)。

该系统设计用于 m1 ohlc,稍后我将展示它在 ohlc 模式和 real ticks 模式下的不同之处。我特意让它对历史记录的质量不敏感,并且在交易过程中不会中断服务器。

 
Petros Shatakhtsyan:

在这里,您展示了很多图表,而且是几年的图表。

如果您希望对您的 TS 进行评估,请至少展示今年 3-4 对虱子(每只虱子)的测试结果,而不是虱子(每只 虱子)的测试结果,而是 真实的 虱子(基于真实虱子的每只虱子) 的测试结果。

这也很难吗?

下面是我们承诺的两个测试。第一个在 OHLC 2020-2021 GBPUSD m1 模式下进行

第二个测试在同一时期和同一工具上进行,但使用的是真实账户的真实点差模式。

我们可以看到,按点数计算的利润略高,缩水率略低,交易量大致相同,利润率图表几乎一样。

这是可以理解的,从技术上讲,机器人是根据 OHLC 工作的,而在 ticks 模式下,由于精确度更高,所以工作得更好一些。但这些纯粹是技术方面的问题。我不会在更长的时间内和更多的工具上进行测试,因为没有意义,运行一个工具需要一个半小时。

 
Maxim Romanov:

运行一台仪器需要一个半小时。

为什么这么慢?我相信你可以在不损失功能的情况下加快速度。

 
Andrey Khatimlianskii:

为什么这么慢?我相信你可以在不损失功能的情况下加快速度。

我也认为可以加快速度,但我还没有这样做,我在完成主要功能方面还存在问题.....。我将实施所有已开发的修改,使其达到适当的风险/利润比,然后开始优化资源消耗。算法计划还剩一点点,工作 方面还剩很多。

 
Maxim Romanov:

我也认为有可能加快速度,但我还没有这样做,我在完成基本功能.....。我将实施我开发的所有修改,使其达到适当的风险/利润比,然后我将开始优化资源消耗。算法计划还剩一点点,工作方面还剩很多。

如果能快速测试智能交易系统,开发速度岂不更快?这取决于所有者。

 
Maxim Romanov:

下面是承诺的 2 个测试。第一个在 OHLC 2020-2021 GBPUSD m1 模式下进行

第二个测试在同一时期和同一工具上进行,但使用的是真实账户的真实点数模式。

可以看出,按点数计算的利润略高,缩水率略低,交易量大致相同,盈利图几乎一样。

这也是可以理解的,从技术上讲,机器人是根据 OHLC 工作的,而在 ticks 模式下,由于精度更高,所以工作得更好一些。但这些纯粹是技术方面的问题。我不会用更长的时间和更多的工具来测试它,因为没有意义,运行一个工具需要一个半小时。

谢谢。

如果两个图表相似,那么如果您过滤 1 分钟内的刻度,结果也是一样的。

你声称你的算法在所有货币对上都同样有效,但你从未在市场观察的所有符号上进行过测试。

自适应算法 不应该有任何固定参数,如时间间隔、固定水平或点数,以打开/关闭订单。

 
Andrey Khatimlianskii:

如果可以快速测试 EA,开发速度岂不是会加快?这取决于所有者。

如果有专业人员快速完成开发,而不是在一年内完成一半的功能,然后出现问题,那么开发速度肯定会更快。

 
Maxim Romanov:

如果有专家能快速完成开发工作,而不是在一年内完成一半的功能,然后出现问题,那么开发速度肯定会更快。

加快算法速度不是问题。从事优化工作的人会很快完成。

重点不同。您的图纸中有一些固定值。我已经做了标记。

如果交易中使用的是固定值,那就必须经常更改



 
Petros Shatakhtsyan:

加快算法速度不是问题。那些一直从事优化任务的人会很快完成。

这是另一回事。你的图纸中有一些固定值。我已经做了标记。

如果在交易中使用固定值,就必须经常更改



例如,这些都是固定值。在算法中,几乎所有与市场有关的东西都是自己修正的。还有一些固定值,比如分析区块的数量,我使用的范围是 24-32 个区块。但这些数值与市场无关,它们是算法本身的参数,实际上是算法工作的准确性。就是这样。现在,超重的百分比是固定的,但它将会现代化,而且这不是一个关键参数,我知道它取决于什么,我可以手动设置。总的来说,要使交易质量达到可接受的水平,还有一些地方需要改进。