初学者的问题 MQL5 MT5 MetaTrader 5 - 页 486

 

问题是--测试者是否考虑到了交换?

在Excel中进行计算(美分账户),得到了一个奇怪的结果

P.P.数据类型拍品价格MaxHigh MaxEqDrd
1 2014.06.12 09:52 卖出 0.1 1.6824 0.16824 1.7179 -3.55
2 2014.06.12 15:18 卖出 0.2 1.6831 0.33662 1.7179 -6.96
3 2014.06.12 17:52 卖出 0.3 1.6836 0.50508 1.7179 -10.29
4 2014.06.12 19:10 卖出 0.5 1.6839 0.84195 1.7179 -17.00
5 2014.06.12 23:00 卖出 0.8 1.6845 1.3476 1.7179 -26.72
6 2014.06.16 09:59 卖出 1.3 1.6985 2.20805 1.7179 -25.22
7 2014.06.19 09:58 卖出 2.1 1.7017 3.57357 1.7179 -34.02
8 2014.06.19 11:21 卖出 3.4 1.7018 5.78612 1.7179 -54.74
9 2014.06.19 20:40 卖出 5.5 1.7033 9.36815 1.7179 -80.30
10 2014.06.19 22:12 卖出 8.9 1.7036 15.16204 1.7179 -127.27
11 2014.06.20 05:10卖出 14.4 1.7047 24.54768 1.7179 -190.08
12 2014.06.20 05:22 卖出 23.3 1.7049 39.72417 1.7179 -302.90
13 2014.06.26 12:38 卖出 37.7 1.7030 64.2031 1.7179 -561.73
14 2014.06.26 15:18 卖出 61.0 1.7033 103.9013 1.7179 -890.60
15 2014.06.27 06:51 卖出 98.7 1.7050 168.2835 1.7179 -1273.23
16 2014.06.30 17:37卖出 100.0 1.7079 170.79 1.7179 -1000.00
17 2014.06.06。30 17:37 卖出 59.7 1.7079 101.96163 1.7179 -597.00
18 2014.07.01 09:03 卖出 100.0 1.7100 171 1.7179 -790.00
19 2014。07.01 09:03 卖出 100.0 1,7100 171 1,7179 -790.00
20 2014.07.01 09:03 卖出 58.4 1,7100 99,864 1,7179 -461.36
21 2014。07.01 11:30卖出100.0 1,7110 171.1 1,7179 -690.00
22 2014.07.01 11:30卖出100.0 1,7110 171.1 1,7179 -690.00
23 2014.07.01 11:30卖出100,0 1,7110 171,1 1,7179 -690,00
24 2014.07.01 11:30卖出100,0 1,7110 171,1 1,7179 -690,00
25 2014。07.01 11:30卖出 18.1 1 1.7110 30.9691 1.7179 -124.89
26 2014.07.02 02:33 卖出 100.0 1.7145 171.45 1.7179 -340.00
27 2014.07.02 02 02:33 卖出 100.0 1.7145 171.45 1.7179 -340.00
28 2014.07.02 02:33 卖出 100.0 1.7145 171.45 1.7179 -340.00
29 2014.07.02 02:33 卖出 100.0 1.7145 171.45 1.7179 -340.00
30 2014.07.02.02:33卖出100.0 1.7145 171.45 1.7179 -340.00
31 2014.07.02 02:33 卖出 100.0 1.7145 171.45 1.7179 -340.00
32 2014.07.02 02:33 卖出 76.5 1.7145 131.15925 1.7179 -260.10
33 2014.07.02.02 11:32 卖出 100.0 1.7176 171.76 1.7179 -30.00
34 2014.07.02 11:32 卖出 100.0 1.7176 171.76 1.7179 -30.00
35 2014.07.02 11:32 卖出 100.0 1,7176 171.76 1,7179 -30.00
36 2014.07.02 11:32 卖出 100.0 1,7176 171.76 1,7179 -30.00
37 2014.07.02 11:32 卖出 100.0 1,7176 171.76 1,7179 -30.00
38 2014.07.02 11:32 卖出 100.0 1,7176 171.76 1,7179 -30.00
39 2014.07.02 11:32 卖出 100.0 1,7176 171.76 1,7179 -30.00
40 2014.07.0202 11:32 卖出 100.0 1,7176 171.76 1,7179 -30.00
41 2014.07.02 11:32 卖出 100.0 1,7176 171.76 1,7179 -30.00
42 2014.07.0202 11:32 卖出 100.0 1,7176 171.76 1,7179 -30.00
43 2014.07.02 11:32 卖出 94.6 1.7176 162.48496 1.7179 -28.38
总计。2865.5 4909.88611 -12756.34
平均开盘价 -> 1.7134

高点04。07.2014 1.7179

以点为单位的提款 -> 0.0045
以货币为单位的提款 ->12756,34

根据代码得出的缩减量 -> 13823,00
根据测试员报告得出的缩减量 ->23669,03

TP -> 1.7084
以点计算的利润 -> 0.0050
根据计算得出的利润 - > 14465.91

根据报告得出的利润 - > 13915.05


缩水怎么会不增加呢--特别是对测试员的报告?以前没有封闭的位置!

 

图表上的情况是这样的



 
我附上了EXCEL的计算结果--也许我在那里很愚蠢!?
附加的文件:
Calculation.zip  104 kb
 

-Aleks-:

当真正在市场上工作时,全局变量是相关的--我需要测试信息--这就是为什么我没有去管它。

我不是在说GlobalVariable,我是在说全局变量 的水平。

-Aleks-

什么是股本和余额--我当然知道,但我仍然不知道如何计算缩减。 我的代码例子显示,我试图把余额和资金都作为最大的,同样我也把余额和资金作为最小的。

我还没有掌握测试器中计算缩减的公式,但你可以尝试计算开单前的余额和关单前的最低权益之间的差额。或者,计算最小和最大的资金,最大的差异将是最大的缩减。

-Aleks-

为什么你认为如果(BalansNew<BalansMax)ProfitNew=BalansNew-BalansMax; 这个不等式永远不会成立?只有在达到新的余额最大值(或股本--仍然不真实)时,它才不在条形图上履行,但在这一点上,我固定了利润缩水ProfitMin=ProfitNew

这一点更有意义,因为在订单关闭的那一刻,通常不会达到最大的平仓量,而目标是计算EA工作所需的平均金额。

我同意,我不够细心。

但缩减不是按天计算的,而是按订单寿命计算的,之后股权就变成了余额。这正是测试器图表上股权和平衡线在一个点上的地方。

 
Alexey Viktorov:

我不是在说GlobalVariable,我是在说全局变量 级别。

显然我误解了你的意思--我的变量是在代码执行块int start()之前初始化的,所以不应该有任何捣乱或类似的问题......还是有其他原因?


阿列克谢-维克多罗夫

我还没有研究过测试器中计算缩减的公式,但我们可以尝试计算开单前的余额和关单前的最低权益之间的差异。或者,你可以尝试计算最大和最小资金之间的差异,最大的差异将是最大的缩减。

如果有很多订单,我们是否应该为每个订单计数,并选择最大的一个?在我的例子中,我们可以看到,与测试者的结果相比,计算出的缩减量少了一倍,根据你的算法,它甚至会更少。

阿列克谢-维克多罗夫

写入文件的频率纯属个人问题,但提款不计入当日,而是计入订单的有效期,然后资金成为余额。这正是测试者图表上的那些地方,公平和平衡线在一个点上。

测试者什么时候考虑到缩水并不重要--事实是在某一天会达到最大值,结果应该是吻合的,而不是这样--这很令人惊讶。

我需要按天计算的缩减量来测试交易组合--以了解一次可能需要多少资金和多长时间。

 

从数学上看(缩减结果为23497.1,而测试者为23669.03),缩减量接近于象征存款变化的部分的大小--即最大权益值和最小权益值之间的差异。

 
-Aleks-:

我一定是误解了你的意思--我的变量是在代码执行块int start()之前初始化的,所以不应该有捣乱或什么问题......还是有其他原因?


还有,如果有很多订单,我们是否应该为每个订单计算并选择最大的一个?在我的例子中,你可以看到计算出的缩减量几乎是测试者的一半,根据你的算法,它甚至会更少。

测试者何时将缩水考虑在内并不重要--事实是,它将在某一天达到最大值,结果应该是吻合的,而事实并非如此--这很令人惊讶。

我需要按天计算的缩减量来测试交易组合--以了解一次可能需要多少资金和多长时间。

并非如此。不是针对每个订单,而是从打开第一个订单到关闭最后一个订单。即,从OrdersTotal()== 0到OrdersTotal() == 0。

这是从第一笔订单开盘到最后一笔订单收盘的时间点;我们应该确定缩量,因为真正的发射会在任何时候发生,相应地,缩量可能发生在24小时内。

其他的都是...我不喜欢看别人的研究,也不喜欢看长篇大论的代码,我可以讨论解决一些问题的方法,但不喜欢看代码例子。但奇怪的是,没有人纠正我关于如何计算缩减的假设......。

总之,我不喜欢你计算缩水的方法。在我看来,这种情况经常出现,需要有很大的耐心才能弄清楚。

 

Karputov Vladimir:
Не кусок, а программу, которую можно скомпилировать и прогнать в режиме отладки.

很抱歉打扰你,在清理程序以找到测试器停止的问题时,在程序的文本中我发现了一个违反其算法的地方。编译工作进行得很顺利,但测试人员没有指出故障点就停止了
 
Alexey Viktorov:

并非如此。不是针对每笔订单,而是从第一笔订单的开始到最后一笔订单的结束。即,从OrdersTotal() == 0到OrdersTotal() == 0。

这是从打开第一笔订单的时刻到关闭最后一笔订单的点;我们应该确定缩水,因为真正的发射将在任何时间发生,而不是在0:00,因此缩水可能发生在24小时内。

因此,在这个例子中,这些条件被完全遵守--订单被打开,并在每个tick 上跟踪关闭。

如果计算结果确实是从权益最大值到权益最小值,那么这个摊牌将帮助我重新思考测试者的读数......

Alexey Viktorov:

总之,我不喜欢你计算缩水的方法。在我看来,这种情况经常出现,需要有很大的耐心才能弄清楚。

我感兴趣的是EA实际需要多少钱--即从开单到平仓的真实缩水(当前损失)减去任何损失的利润。

它每天打印一次--这根本不经常,而且是为了某些目的而需要。

 
你好!

乍一看,这项任务似乎和三分钱一样简单。但是!....
在指标窗口中有一条任何震荡器的线,它相对于 "0 "以不同的振幅摆动。
实际的问题是。
- 在从下到上的 "0 "交叉处,在指示器窗口的底部边界画一个箭头。
- 在 "0 "处从上往下交叉,在指示器窗口的上边界 附近画一个箭头。
- 在指标窗口中的振荡器图表的自我缩放中,箭头应自动保持在指标窗口的边界上。
即,在历史上前后滚动图表,或改变其水平比例,箭头应始终自动保持在指标窗口的边界上。

不要给任何建议,"用钱帮助我"))。我需要一个工作 代码的例子,它实现了这个功能,或者一个链接。

提前感谢!