文章 "“EA 交易”运行期间平衡曲线斜率的控制"

 

新文章 “EA 交易”运行期间平衡曲线斜率的控制已发布:

找到交易系统的规则,再于“EA 交易”中进行编程,任务就完成一半了。随着交易结果的累积,您需要通过某种方式纠正“EA 交易”的操作。本文讲述一种方法,通过创建平衡曲线斜率的测量反馈,改善“EA 交易”的性能。

作者:Dmitriy Skub

 

关于插图。

没有插图,只有说明。

 
在我看来,这是一个非常好的方法
 
但在测试时,不知道为什么它停滞了,好像暂停了,原因是什么?
 
arbuz:
但在测试时,不知为何会挂起,就像按了暂停键一样,原因是什么?
很抱歉,排序算法 中出现了一点误差。更正后的库现在就会出现。
 

"这是 EA 的 MM(资金管理)的一种附加功能,可防止 EA 在账户上造成重大损失"。


Expression:

"// Lot limit from below:

if( lots < min_trade_volume )
{
lots = min_trade_volume;
}"
may allow.

See, for example, https://www.mql5.com/ru/forum/124281/page2#283533

Поясните, пожалуйста, как получается просадка - MQL4 форум
  • www.mql5.com
Поясните, пожалуйста, как получается просадка - MQL4 форум
 

您仔细阅读文章了吗?

此版本库的要求之一是,正常工作批量的大小必须比允许的最小大小大得多(至少 2-3 倍)。

你断章取义的内容一般是指工作批量的正常化,这样就不会因为尺寸不正确 而出错。

 

您可能需要阅读一下链接。

这是一个常见错误。

 
Ais:

如果能提供一个链接供您阅读,将会很有帮助。

这是一个常见的错误。

您将风险管理与简单地将工作手数调整至正常值混为一谈。如果 MM 要求当前手数明显小于允许的最小值,则根本不应开仓。但这与正常化有什么关系?反问
 

在此,我发布的是一个更正--而旧版本则在文章中。


文章也已更新。

附加的文件:
 

当交易量因 "正常化 "或其他目的而发生变化时,总风险值也会发生变化。

这是一种态度。

此外,还规定:"本方法返回最接近底部的 手数价值"。

而在

"// Lot limit from below:
if( lots < min_trade_volume )
{
lots = min_trade_volume;
}"

返回的是最靠近顶部的 值,而且可能相差很多很多倍......

更简单、更可靠的交易量计算示例见 https://www.mql5.com/en/forum/112782。

尤其是

"if ( SizeLimit >= MinLots )
{ int Steps = MathFloor ( ( SizeLimit - MinLots ) / LotStep ) ;
LotSize = MinLots + Steps * LotStep ; }
否则 LotSize = 0 ;

if ( LotSize >= MaxLots )
LotSize = MaxLots ;
"

没有必要使用 NormalizeDouble() 函数。

该方法适用于最小交易量、步长和小数位的任何值。

我希望您最终修正后的方法也是如此。

Calculation on Leverage & MM together in Expert Advisors. - MQL4 forum
  • www.mql5.com
Calculation on Leverage & MM together in Expert Advisors. - MQL4 forum