供专业人士考虑。

 

有关于最大缩减的说法。有人建议,测试仪的测量方法不正确。我决定检查一下。我写了一段代码并将其添加到我的专家顾问中,在测试模式下运行。结果与测试者不谋而合。代码提供如下。

请重新评估算法的正确性,想知道是否可以在不计算最大和最小值的情况下计算出最大缩水。

double MaxDrawDown;
int deinit() {
 Print("MaxDrawDown=",MaxDrawDown);
   return (0);
} 

start(){ 
  static double MaxEquity;
  static double MinEquity;
         double DrawDown;
  static bool flag;
 
  if(!flag)
    {
     MaxEquity=AccountEquity();
     MinEquity=AccountEquity();
     flag = true;
    } 
  if(AccountEquity()>MaxEquity) 
    {MaxEquity=AccountEquity();MinEquity=AccountEquity();}
  
  if(AccountEquity()<MinEquity) 
    {MinEquity=AccountEquity();}
  
  DrawDown=MaxEquity-MinEquity;
  
  if(DrawDown>MaxDrawDown ) 
    {MaxDrawDown=DrawDown;}
// ............остальной код советника
 

你说不计算是什么意思? 在运行过程中,你有最大和最小...

问题是,你不会在网上知道这种方式的缩水--你必须计算出来。

 
FAQ:

你说不计算是什么意思? 在运行过程中,你有最大和最小...

问题是,你不会在网上知道这种方式的缩水--你必须计算出来。

关于高点和低点的问题是在OnGoing这个帖子中出现的,他想知道高点和低点是为了什么。所以我想,也许有一些其他的方法来计算最大缩水,而不需要高位和低位的计算?我的意思是,这个计算在原则上是否正确?那么网上会出现什么问题呢?你能解释一下为什么这种方法会失效吗?也许你的意思是,如果有一个以上的专家顾问,而我们不能为每个专家顾问指定这个代码,就会出现问题。如果这是你的意思,我理解你的意思。还是别的什么?

 
因为从历史记录(订单)中你只能重建平衡曲线,但你必须根据每个时刻的未平仓订单数量、每个订单的保证金(货币)和价格的高/低点来合成权益曲线。
 
FAQ:
因为你只能根据历史记录(订单)来检索平衡曲线,但你必须根据每个时刻的未平仓订单数量、每个订单的入金量(货币)和价格的高点和低点来综合计算出权益曲线。

如果我们刚刚启动专家顾问,没有历史记录,难道我们不能计算出权益的最大值和最小值,将其存储在全局变量 中,并计算出当前和最大的缩水吗?还是我误解了什么?或者,也许你正在考虑已经有一些历史的情况。你想通过运行脚本,在考虑到订单历史的情况下,计算出最大的缩水?那么就很清楚了。但是,如果我们刚刚开始工作,没有历史记录,或者有,但是我们想用这段代码从启动专家顾问的那一刻开始计算缩水,难道没有什么可以阻止我们这样做吗?

 
khorosh:

如果我们刚刚启动专家顾问,没有历史记录,难道我们不能计算出权益的最大值和最小值,将其存储在全局变量中,并计算出当前和最大的缩水吗?还是我误解了什么?或者,也许你正在考虑已经有一些历史的情况。你想通过运行脚本,在考虑到订单历史的情况下,计算出最大的缩水?那么就很清楚了。但是,如果我们刚刚开始工作,没有历史记录,或者有,但是我们想用这段代码从启动专家顾问的那一刻开始计算缩水,难道没有什么可以阻止我们这样做吗?


从外科医生那里读取公平指标的读数会更容易,而不是在一些变量中存储一些东西。
 
Reshetov:
读取外科医生的权益指标比在一些变量中存储东西更容易。
我同意,这段代码是要在测试器中运行的,我只是想知道我的计算原则上是否正确,因为OnGoing让我产生了怀疑。
 
Integer:

别紧张,他在这里做了很多离题的嘲讽,甚至不在主题上,而是完全离题。
谢谢你的鼓励,因为我开始怀疑自己的理解有误。
 
khorosh:

有关于最大缩减的说法。有人建议,测试仪的测量方法不正确。

测试仪正确地测量了股票的最大缩水,但它没有考虑到此刻的平衡状态,这使得这种测量是无稽之谈。

换句话说,如果订单最初被提高,然后被降低100点,测试器将显示100点的权益缩水,而逻辑上决定策略风险的真实缩水等于零。很明显,这种计算对评估 战略风险 毫无用处。

 
khorosh:
谢谢你的鼓励,因为我开始怀疑自己的理解有误。


一般来说,最大跌幅不是最大权益和最小权益之间的差异。在开始时,最大资产=资产,最小资产=资产,缩减=0。如果权益>MaxEquity,那么我们考虑缩减为MaxEquity-MinEquity,如果获得的数值高于之前计算的缩减,我们记住较大的数值并一次性重置最小值-MinEquity=MaxEquity,并记住新的最大值MaxEquity=Equity。
 

红线显示的是缩水,你需要找到最大值