市场礼仪或雷区中的良好风度 - 页 74

 
Neutron >> :

我错的次数远比你想象的多(几乎总是)。

在结构上,加贺和仁科的代码是相同的。该算法包含两个比较运算符。唯一的区别在于其中之一--对于Kagi来说,顶点被定义为商数离散性,对于Renko来说,顶点被定义为分割步骤H。

而如果你能够将Renko算法粘在三条线上,那么随之而来的是Kagi将自动(以我的断言为公正)满足这一条件。

仔细看,我对cotier和Kagi-building有独立的索引。我不仅从子程序中输出Kagi计数的垂直坐标,而且还输出它们在cotier坐标中的索引......

好的,这里有一个小脚本,有一个renko算法。你可以用3行来写,但仍然是15个运算符。包括赋值、分支等。减去输出结果到一个文件。

//+------------------------------------------------------------------+
//|                                              test_Renko_Kagi.mq4 |
//|                                Copyright © 2009, HideYourRichess |
//+------------------------------------------------------------------+
int      rand[];
int      Series = 65000;
int      H = 7;

int start()
  {
   int csvHandle = FileOpen( "test_Renko_Kagi" + ".csv", FILE_CSV| FILE_WRITE, ';');
   if( csvHandle > 0) {
    ArrayResize( rand, Series);
    
    rand[0] = 0;
    MathSrand( TimeLocal());
    for( int i = 1; i < Series; i++) { rand[ i] = rand[ i-1] + (MathRand() - 16383) / 4000; }
    
    int renko = rand[0];
    FileWrite( csvHandle, 0, rand[0], renko);
    
    for( i = 1; i < Series; i++) {
     if( MathAbs( rand[ i] - renko) < H) {
      FileWrite( csvHandle, i, rand[ i]);
     } else {
      while( rand[ i] - renko >= H) { renko = renko + H; }
      while( renko - rand[ i] >= H) { renko = renko - H; }
      FileWrite( csvHandle, i, rand[ i], renko);
     }
    }
    
   }
   if( csvHandle > 0) FileClose( csvHandle);
   return(0);
  }

该算法可以在有缺口、空白的数据上正确工作。而这是好的和有用的。


这里有一个数字。蓝色是数据,红色是renko。


该算法的缺点,--它在有单调上升或下降的部分设置中间点。这不是非常正确的,因为为了得到H-波动率的值,我们必须进行额外的处理("去除 "中间点),这意味着实际上操作比看起来要多。


对于加贺来说,算法更加复杂,无论是在逻辑上还是在运算符的数量上。


现在的问题是。

1.应如何处理这个仁科算法以使其缩短?

2.应该怎样做才能使这种Renco算法变得狡猾,而又不至于使其更加复杂?


我还看不到任何合理的解决方案,但你说这很简单,也很可能。

 

在这里,似乎已经解决了卡吉。我很乐意让人检查一下。



 
HideYourRichess писал(а)>>

对于加贺来说,算法更加复杂,无论是在逻辑上还是在运算符的数量上。

如果我们把Pastukhov工作中描述的算法作为基础,Renko和Kaga之间的区别恰恰在于沿纵轴的顶点离散化步骤。这就是我在上面说的。

因此,你和我在算法层面上的理解并不一致。很明显,我们需要首先处理这个问题。

paralocus 写道>>

在这里,似乎已经解决了卡吉。我很乐意让人检查一下。

Paralocus, 把cotier文件和程序发给我们,然后我们可以进行比较。或者解释一下你的Pm 参数是什么。
 
我已附上清单和报价。参数P 是一系列的开放(在这种情况下,英镑兑美元 的分钟数--可在档案中找到)参数m 是一个kagi步骤中的基本分割s 的数量。
附加的文件:
kagi.rar  163 kb
 
Neutron >> :

如果我们以Pastukhov工作中描述的构建算法为基础,Renko和Kaga之间的差异恰恰在于沿纵轴离散化顶点的步骤。这就是我在上面说的。

因此,你和我在算法层面上的理解并不一致。很明显,我们需要首先处理这个问题。


我的印象是,你没有这样的算法,即卡基算法并不比仁科算法更复杂。


让我们先处理这个问题,然后再处理我的理解。


另一点,问题是对行首的处理。例如,这是你的图纸。




在我看来,这个开头并不十分清楚。你为什么决定以这种方式进行?从交易算法和分区算法的对应角度来看,最好是第一个点与第一个顶点重合。


此外,正确处理数据中的 "空白 "的问题仍未解决。

 
paralocus >> :

在这里,似乎已经解决了卡吉。我很乐意让人检查一下。

这不是一个卡吉。本地节点被跳过。

 
HideYourRichess >> :

这些不是卡吉。本地节点被跳过。

你能不能说得更具体一点?根据kaga分区算法,局部顶点有时会被跳过。

 
paralocus >> :

你能不能说得更具体一点?通过加贺分割的算法,局部节点有时会被遗漏。

不,它可以在Renko跳过,在Kagi绝不可以。在中子图上,这些是红色和蓝色的点。只是你的kagi aglorythm并不正确。我已经从Candid那里给出了正确的算法(相当正确,在行的开头有一个小问题)。帕斯图霍夫的论文中指出的算法,不幸的是,在处理行的开头时也不太正确。


我需要它是这样的。


红色的是cagi顶,或人字形顶。绿色,"不归路 "点--确定笼子的下一个顶点已经完全形成的地方。深蓝色的点是数据。

 
HideYourRichess >> :

不幸的是,Pastukhov的论文中给出的算法在处理一行的开头时也不太正确。



不幸的是,帕斯图霍夫的论文远远超过了我理解数学的能力水平。

 
paralocus >> :

不幸的是,帕斯图霍夫的论文远远超过了我理解数学的能力水平。

好吧,那就算了。有几件事情在那里得到了数学上的证明,这对数学家来说是很有趣的。而结论是相当简单的,而且大多是用文字描述。从本质上讲,H-波动率是一种非参数统计。主要结论是,如果H型波动率等于2H,那么在这样的系列上进行套利是不可能的(从数学上证明)。否则,套利是可能的。有两种策略,取决于H型波动率是大于还是小于2H型。这些是基本的。加上一些关于赞助人等的评论。