和谐贸易 - 页 308

 

谢谢poruchik。 这里是需要修改的代码。我会试着修改它。

如果(ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2)

{

vBullBear = ""。

vNamePattern = "";

AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]])。

CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C])。

如果(CD>AB*min_DeltaGartley &&CD<AB*max_DeltaGartley)

{

vNamePattern=vABCD; // AB-CD

}

否则

{

for (int iABCD=0;iABCD<_ABCDsize;iABCD++)

{

如果(CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley)

{

vNamePattern=_ABCDtypetxt+"*AB=CD"。

休息。

}

}

}

 

完成了!下面是修改后的代码。现在它对AB=CD和(x)*AB=CD模式检查 AC < AB * Fib(1.0)

如果(ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2)

{

vBullBear = ""。

vNamePattern = "";

AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]])。

CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C])。

if ( (CD>AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD] )

||

(CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C] < zz[aXABCD] )

)

{

vNamePattern=vABCD; // AB-CD

}

否则

{

for (int iABCD=0;iABCD<_ABCDsize;iABCD++)

{

if ( (CD>_ABCDtype*AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C] > zz[aXABCD])

||

(CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C] < zz[aXABCD] )

)

{

vNamePattern=_ABCDtypetxt+"*AB=CD"。

休息。

}

}

}

 

谢谢兄弟

我用你的代码修改了133

同样的错误?

附加的文件:
 
poruchik:
谢谢兄弟

我用你的代码修改了133

同样的错误?

不客气,poruchik。

对于实数AB=CD,比率应该是

AB=CD模式

[.382/2.240]

[.500/2.000]

[.618/1.618]

[.707/1.414]

[.786/1.270]

[AB=CD]

附加的文件:
image038.jpg  45 kb
 

修改后的代码用于检查 Real AB=CD

新代码现在检查retAC、retBD比率

使用新的代码,指标发现较少的AB=CD模式,但它们将是非常准确的

如果(ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2)

{

vBullBear = ""。

vNamePattern = "";

AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]])。

CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C])。

retAC = (zz[aXABCD[C]] - zz[aXABCD]) / (zz[aXABCD[A]] - zz[aXABCD] + vDelta0) 。

retBD = (zz[aXABCD[C]] - zz[aXABCD[D]]) / (zz[aXABCD[C]] - zz[aXABCD] + vDelta0) 。

如果(

(retAC>=0.382*min_DeltaGartley) && (retAC=2.240*min_DeltaGartley) && (retBD<=2.240*max_DeltaGartley)

||

(retAC>=0.500*min_DeltaGartley) && (retAC=2.000*min_DeltaGartley) && (retBD<=2.000*max_DeltaGartley)

||

(retAC>=0.618*min_DeltaGartley) && (retAC=1.618*min_DeltaGartley) && (retBD<=1.618*max_DeltaGartley)

||

(retAC>=0.707*min_DeltaGartley) && (retAC=1.414*min_DeltaGartley) && (retBD<=1.414*max_DeltaGartley)

||

(retAC>=0.786*min_DeltaGartley) && (retAC=1.270*min_DeltaGartley) && (retBD<=1.270*max_DeltaGartley)

)

{

if ( (CD>AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD] )

||

(CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C] < zz[aXABCD] )

)

{

vNamePattern=vABCD; // AB-CD

}

}

否则

{

for (int iABCD=0;iABCD<_ABCDsize;iABCD++)

{

if ( (CD>_ABCDtype*AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C] > zz[aXABCD])

||

(CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C] < zz[aXABCD] )

)

{

vNamePattern=_ABCDtypetxt+"*AB=CD"。

休息。

}

}

}

 
grandaevus:
修改后的代码用于检查Real AB=CD

新代码现在检查retAC、retBD比率

使用新的代码,指标发现较少的AB=CD模式,但它们会非常准确

如果(ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2)

{

vBullBear = ""。

vNamePattern = "";

AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]])。

CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C])。

retAC = (zz[aXABCD[C]] - zz[aXABCD]) / (zz[aXABCD[A]] - zz[aXABCD] + vDelta0) 。

retBD = (zz[aXABCD[C]] - zz[aXABCD[D]]) / (zz[aXABCD[C]] - zz[aXABCD] + vDelta0) 。

如果(

(retAC>=0.382*min_DeltaGartley) && (retAC=2.240*min_DeltaGartley) && (retBD<=2.240*max_DeltaGartley)

||

(retAC>=0.500*min_DeltaGartley) && (retAC=2.000*min_DeltaGartley) && (retBD<=2.000*max_DeltaGartley)

||

(retAC>=0.618*min_DeltaGartley) && (retAC=1.618*min_DeltaGartley) && (retBD<=1.618*max_DeltaGartley)

||

(retAC>=0.707*min_DeltaGartley) && (retAC=1.414*min_DeltaGartley) && (retBD<=1.414*max_DeltaGartley)

||

(retAC>=0.786*min_DeltaGartley) && (retAC=1.270*min_DeltaGartley) && (retBD<=1.270*max_DeltaGartley)

)

{

if ( (CD>AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD] )

||

(CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C] < zz[aXABCD] )

)

{

vNamePattern=vABCD; // AB-CD

}

}

否则

{

for (int iABCD=0;iABCD<_ABCDsize;iABCD++)

{

if ( (CD>_ABCDtype*AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C] > zz[aXABCD])

||

(CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C] < zz[aXABCD] )

)

{

vNamePattern=_ABCDtypetxt+"*AB=CD"。

休息。

}

}

}

做了一些修改(删除了 不必要的括号)。

最终代码

如果(ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2)

{

vBullBear = ""。

vNamePattern = "";

AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]])。

CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C])。

retAC = (zz[aXABCD[C]] - zz[aXABCD]) / (zz[aXABCD[A]] - zz[aXABCD] + vDelta0) 。

retBD = (zz[aXABCD[C]] - zz[aXABCD[D]]) / (zz[aXABCD[C]] - zz[aXABCD] + vDelta0) 。

如果(

(retAC>=0.382*min_DeltaGartley && retAC=2.240*min_DeltaGartley && retBD<=2.240*max_DeltaGartley)

||

(retAC>=0.500*min_DeltaGartley && retAC=2.000*min_DeltaGartley && retBD<=2.000*max_DeltaGartley)

||

(retAC>=0.618*min_DeltaGartley && retAC=1.618*min_DeltaGartley && retBD<=1.618*max_DeltaGartley)

||

(retAC>=0.707*min_DeltaGartley && retAC=1.414*min_DeltaGartley && retBD<=1.414*max_DeltaGartley)

||

(retAC>=0.786*min_DeltaGartley && retAC=1.270*min_DeltaGartley && retBD<=1.270*max_DeltaGartley)

)

{

如果 ( (CD>AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD] )

||

(CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C] < zz[aXABCD] )

)

{

vNamePattern=vABCD; // AB-CD

}

}

否则

{

for (int iABCD=0;iABCD<_ABCDsize;iABCD++)

{

if ( (CD>_ABCDtype*AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C] > zz[aXABCD])

||

(CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C] < zz[aXABCD] )

)

{

vNamePattern=_ABCDtypetxt+"*AB=CD"。

休息。

}

}

}

 
grandaevus:
poruchik ,我知道 "ExtDeltaGartley=0.09 "是什么。据我所知,这个参数控制的是与理想纤维的最大偏差。

在zup130中,也有ExtDeltaStrongGartley=0.07。

这个参数与ExtDeltaGartley的区别是什么?

poruckic,我知道,我以前问过,但为了澄清这个问题,我再问你一次。

我的理解是。

ExtDeltaGartley=0.09;检查腿的长度。

我是说在AB=CD模式中,AB腿的长度应该等于CD腿的长度。

如果我们想检查腿的长度是否在限制范围内,我们使用ExtDeltaGartley参数

但是ExtDeltaStrongGartley检查回撤的斐波那契比率。

例如,如果AB的AC回撤是0.3820,BC的BD纤维回撤应该是2.240。

ExtDeltaStrongGartley在这里检查限度内的纤维比率,而不是ExtDeltaGartley。

我说的对吗?

 

我加上.886-1.13

.382-2.618(不是2.24)。

附加的文件:
 

ExtDeltaStrongGartley - 对于强模式(精确模式),它=0.07 (7%)

varStrongPatterns - 搜索精确图案的算法选项。

// | = 0搜索确切的五点图案的算法,| // | 现有到122个版本。

// |现有的到122个版本(包括)。该图案被认为是

// 如果XD-XB-AC-BD的检索结果达到边界,则认为该图案被发现。

|// |接纳。|

// | |

// 检索到的模式必须是在录取范围内的模式。

| // |只得到XB-AC-BD的检索。|

在这种情况下,XD的返回被认为是不完整的,|// |只参与计算一个点的发展边界。

// |只参与计算D模式的一个点的发展边界。

 
poruchik:
ExtDeltaStrongGartley - 用于强势模式(精确模式),它=0.07(7%)。

varStrongPatterns - 搜索精确图案的算法选项。

// | = 0 搜索精确的五点图案的算法, | // | = 0 搜索精确的五点图案的算法。

|// |现有的到122个版本(包括)。该模式被认为是

// 如果XD-XB-AC-BD的检索结果达到边界,则认为该图案被发现。

|// |接纳。|

// | |

// 检索到的模式必须是在录取范围内的模式。

| // |只得到XB-AC-BD的检索。|

// | 在这种情况下,XD的检索被认为是spravochno, |

// |只参与计算D模式某点的发展边界。

那么ExtDeltaStrongGartley是针对5个点的图案,如Bat, Gartley, ButterFly & Crab。

而ExtDeltaGartley则适用于其他图案(AB=CD,交替AB=CD,等等)。

对吗?