和谐贸易 - 页 314 1...307308309310311312313314315316317318319320321...599 新评论 poruchik 2013.03.07 18:12 #3131 我没有看到你的最后一个帖子 ======================= 让我们重新开始吧 如果我们使用Dragon,4PointPattern, 5-0,ABCD,则选择模式=8 如果我们使用1,2,3或所有27种模式,选择模式=7 附加的文件: select_pattern.png 165 kb ozan 2013.03.07 18:25 #3132 现在应该可以了 zup_v134rev02.mq4 附加的文件: zup_v134rev02.mq4 632 kb zup130_false_1.gif 38 kb ozan 2013.03.07 18:32 #3133 poruchik: 我没有看到你的最后一个帖子======================= 让我们重新开始 选择模式=8 如果我们使用龙,4PointPattern, 5-0,ABCD 如果我们使用1,2,3,选择模式=7 - 或所有27个模式 对不起,我忘记说了。现在你不能在这个修改的版本中使用选择模式。相反,你可以使用 第3节 Gartley ---------------------- extern bool SearchSharkPatterns = true; extern bool SearchCypherPatterns = true; 外部的bool Search5_0Patterns = true; extern bool SearchABCDPatterns = true; 为了使它对用户友好,我不得不从头开始重写 void _Gartley(string _Depth, int Depth)函数。 这是执行模式搜索的函数。 poruchik 2013.03.07 18:37 #3134 好的,明天见 ozan 2013.03.07 18:39 #3135 明天下午7点 ,(gmt+2)我将展示如何将你的模式添加到代码中。 poruchik 2013.03.07 18:42 #3136 明斯克现在22.43 ozan 2013.03.07 18:44 #3137 这是原始代码中的几行(void _Gartley函数)。 while (k < maxPeak-5 && (aXABCD[D] < bartoD+2 || patternInfluence==2)) { aXABCD[X] = aNumBarPeak[k + 4]; aXABCD[A] = aNumBarPeak[k + 3]; aXABCD = aNumBarPeak[k + 2]; aXABCD[C] = aNumBarPeak[k + 1]; aXABCD[D] = aNumBarPeak[k]; vBullBear = ""。 vNamePattern = ""; 如果(CustomPattern<2) { tangensXB=(zz[aXABCD]-zz[aXABCD[X]])/(aXABCD[X]-aXABCD)。 如果(zz[aXABCD[C]]>zz[aXABCD[D]] && (zz[aXABCD]+(aXABCD-aXABCD[D])*tangensXB)>zz[aXABCD[D]] ) { vBullBear = vBull。 } 否则,如果(zz[aXABCD[C]]<zz[aXABCD[D]] &&(zz[aXABCD]+(aXABCD-aXABCD[D])*tangensXB)<zz[aXABCD[D]] { vBullBear = vBear。 } 如果(StringLen(vBullBear)>0) { // 读取数据的时候,要注意不要把数据弄错了。 retXB = (zz[aXABCD[A]] - zz[aXABCD]) / (zz[aXABCD[A]] - zz[aXABCD[X]] + vDelta0) 。 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) 。 如果((zz[aXABCD[A]]>zz[aXABCD[C]] && vBullBear == vBull) || (zz[aXABCD[A]]<)zz[aXABCD[C]] && vBullBear == vBear)) retXD = (zz[aXABCD[A]] - zz[aXABCD[D]] ) / (zz[aXABCD[A]] - zz[aXABCD[X]] + vDelta0) 。 否则retXD = (zz[aXABCD[C]] - zz[aXABCD[D]]) / (zz[aXABCD[C]] - zz[aXABCD[X]] + vDelta0) 。 而这是我修改后的代码 while (k < maxPeak-5 && (aXABCD[D] < bartoD+2 || patternInfluence==2)) { aXABCD[X] = aNumBarPeak[k + 4]; aXABCD[A] = aNumBarPeak[k + 3]; aXABCD = aNumBarPeak[k + 2]; aXABCD[C] = aNumBarPeak[k + 1]; aXABCD[D] = aNumBarPeak[k]; vBullBear = ""。 vNamePattern = ""; dotX=zz[aXABCD[X]]。 dotA=zz[aXABCD[A]]; dotB=zz[aXABCD]; dotC=zz[aXABCD[C]]。 dotD=zz[aXABCD[D]]。 retXB=(dotA - dotB)/(dotA - dotX + vDelta0)。 retAC=(dotC - dotB)/(dotA - dotB + vDelta0)。 retBD=(dotC - dotD)/(dotC - dotB + vDelta0)。 retXD=(dotA - dotD)/(dotA - dotX + vDelta0)。 retXC=(dotA - dotC) / (dotA - dotX + vDelta0); //密码模式 AB=MathAbs(dotA-dotB); CD=MathAbs(dotC-dotD); AC=MathAbs(dotA-dotC); BD=MathAbs(dotB-dotD)。 如果(currentDTime==0) currentDTime=Time[aXABCD[D]]。 foundPatternDTime=Time[aXABCD[D]]; patternDotC=dotC; searchClassicalPatterns=false; searchSharkPatterns=false; searchCypherPatterns=false; search5_0Patterns=false; searchABCDPatterns=false; if((dotA > dotX && dotB > dotX && dotB dotB && dotC < dotA && dotD < dotB)| (dotA < dotX && dotB dotA && dotC dotA > dotB))searchClassicalPatterns=true。 else if((dotA > dotX && dotB > dotX && dotB dotB && dotC > dotA && dotD < dotB)|| (dotA < dotX && dotB dotA && dotC < dotB && dotB)){searchSharkPatterns=true; searchCypherPatterns=true;}。 else if((dotA > dotX && dotB < dotX && dotB dotB && dotC > dotA && dotD > dotB)| (dotA dotX && dotB > dotA && dotC < dotB && dotD < dotB))search5_0Patterns=true; else if((dotB dotB && dotC < dotA && dotD dotA && dotC dotA && dotD > dotB))searchABCDPatterns=true; //搜索经典的Gartley模式 如果(searchClassicalPatterns==true) { if(dotA > dotX && dotB > dotX && dotB dotB && dotC < dotA && dotD < dotB) { vBullBear="看涨"。 } 如果(dotA < dotX && dotB dotA && dotC dotA && dotD > dotB) { vBullBear="看跌"。 } // Gartley搜索开始 if (retAC >= 0.382*min_DeltaGartley && retAC <= 0.886*max_DeltaGartley && retXD < 1.000 && retXD = 1.270*min_DeltaGartley && retBD =0.618*min_DeltaGartley && retXB <= 0.618*max_DeltaGartley) { vNamePattern="Gartley"。 PriceD_XD=dotA-0.786*(dotA-dotX)。 PriceD_BD=dotC-1.618*(dotC-dotB)。 如果(vBullBear=="看涨") { 如果(MathMax(PriceD_XD,PriceD_BD)==PriceD_XD) { LevelForDmin = dotA-0.786*min_DeltaGartley*(dotA-dotX)。 LevelForDmax = dotA-0.786*max_DeltaGartley*(dotA-dotX)。 } 否则如果(MathMax(PriceD_XD,PriceD_BD)==PriceD_BD) { LevelForDmin = dotC-1.618*min_DeltaGartley*(dotC-dotB)。 LevelForDmax = dotC-1.618*max_DeltaGartley*(dotC-dotB)。 } } 如果(vBullBear=="看跌") { 如果(MathMin(PriceD_XD,PriceD_BD)==PriceD_XD) { LevelForDmin = dotA-0.786*min_DeltaGartley*(dotA-dotX)。 LevelForDmax = dotA-0.786*max_DeltaGartley*(dotA-dotX)。 } 否则如果(MathMin(PriceD_XD,PriceD_BD)==PriceD_BD) { LevelForDmin = dotC-1.618*min_DeltaGartley*(dotC-dotB)。 LevelForDmax = dotC-1.618*max_DeltaGartley*(dotC-dotB)。 } } }// Gartley搜索结束 Harmonic Trading ozan 2013.03.07 18:47 #3138 poruchik: 明斯克现在22.43 21.:47这里 ozan 2013.03.07 18:49 #3139 dotX=zz[aXABCD[X]]。 dotA=zz[aXABCD[A]]。 dotB=zz[aXABCD]; dotC=zz[aXABCD[C]]。 dotD=zz[aXABCD[D]]。 是X、A、B、C和D点 ozan 2013.03.07 18:50 #3140 retXB=(dotA - dotB)/(dotA - dotX + vDelta0)。 retAC=(dotC - dotB)/(dotA - dotB + vDelta0)。 retBD=(dotC - dotD)/(dotC - dotB + vDelta0)。 retXD=(dotA - dotD)/(dotA - dotX + vDelta0)。 retXB, retAC, retBD, retXD是纤维回调。 1...307308309310311312313314315316317318319320321...599 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我没有看到你的最后一个帖子
=======================
让我们重新开始吧
如果我们使用Dragon,4PointPattern, 5-0,ABCD,则选择模式=8
如果我们使用1,2,3或所有27种模式,选择模式=7
现在应该可以了
zup_v134rev02.mq4
我没有看到你的最后一个帖子
=======================
让我们重新开始
选择模式=8 如果我们使用龙,4PointPattern, 5-0,ABCD
如果我们使用1,2,3,选择模式=7 - 或所有27个模式对不起,我忘记说了。现在你不能在这个修改的版本中使用选择模式。相反,你可以使用
第3节 Gartley
----------------------
extern bool SearchSharkPatterns = true;
extern bool SearchCypherPatterns = true;
外部的bool Search5_0Patterns = true;
extern bool SearchABCDPatterns = true;
为了使它对用户友好,我不得不从头开始重写 void _Gartley(string _Depth, int Depth)函数。
这是执行模式搜索的函数。
好的,明天见
明天下午7点 ,(gmt+2)我将展示如何将你的模式添加到代码中。
明斯克现在22.43
这是原始代码中的几行(void _Gartley函数)。
while (k < maxPeak-5 && (aXABCD[D] < bartoD+2 || patternInfluence==2))
{
aXABCD[X] = aNumBarPeak[k + 4];
aXABCD[A] = aNumBarPeak[k + 3];
aXABCD = aNumBarPeak[k + 2];
aXABCD[C] = aNumBarPeak[k + 1];
aXABCD[D] = aNumBarPeak[k];
vBullBear = ""。
vNamePattern = "";
如果(CustomPattern<2)
{
tangensXB=(zz[aXABCD]-zz[aXABCD[X]])/(aXABCD[X]-aXABCD)。
如果(zz[aXABCD[C]]>zz[aXABCD[D]] && (zz[aXABCD]+(aXABCD-aXABCD[D])*tangensXB)>zz[aXABCD[D]] )
{
vBullBear = vBull。
}
否则,如果(zz[aXABCD[C]]<zz[aXABCD[D]] &&(zz[aXABCD]+(aXABCD-aXABCD[D])*tangensXB)<zz[aXABCD[D]]
{
vBullBear = vBear。
}
如果(StringLen(vBullBear)>0)
{
// 读取数据的时候,要注意不要把数据弄错了。
retXB = (zz[aXABCD[A]] - zz[aXABCD]) / (zz[aXABCD[A]] - zz[aXABCD[X]] + vDelta0) 。
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) 。
如果((zz[aXABCD[A]]>zz[aXABCD[C]] && vBullBear == vBull) || (zz[aXABCD[A]]<)zz[aXABCD[C]] && vBullBear == vBear)) retXD = (zz[aXABCD[A]] - zz[aXABCD[D]] ) / (zz[aXABCD[A]] - zz[aXABCD[X]] + vDelta0) 。
否则retXD = (zz[aXABCD[C]] - zz[aXABCD[D]]) / (zz[aXABCD[C]] - zz[aXABCD[X]] + vDelta0) 。
而这是我修改后的代码
while (k < maxPeak-5 && (aXABCD[D] < bartoD+2 || patternInfluence==2))
{
aXABCD[X] = aNumBarPeak[k + 4];
aXABCD[A] = aNumBarPeak[k + 3];
aXABCD = aNumBarPeak[k + 2];
aXABCD[C] = aNumBarPeak[k + 1];
aXABCD[D] = aNumBarPeak[k];
vBullBear = ""。
vNamePattern = "";
dotX=zz[aXABCD[X]]。
dotA=zz[aXABCD[A]];
dotB=zz[aXABCD];
dotC=zz[aXABCD[C]]。
dotD=zz[aXABCD[D]]。
retXB=(dotA - dotB)/(dotA - dotX + vDelta0)。
retAC=(dotC - dotB)/(dotA - dotB + vDelta0)。
retBD=(dotC - dotD)/(dotC - dotB + vDelta0)。
retXD=(dotA - dotD)/(dotA - dotX + vDelta0)。
retXC=(dotA - dotC) / (dotA - dotX + vDelta0); //密码模式
AB=MathAbs(dotA-dotB);
CD=MathAbs(dotC-dotD);
AC=MathAbs(dotA-dotC);
BD=MathAbs(dotB-dotD)。
如果(currentDTime==0) currentDTime=Time[aXABCD[D]]。
foundPatternDTime=Time[aXABCD[D]];
patternDotC=dotC;
searchClassicalPatterns=false;
searchSharkPatterns=false;
searchCypherPatterns=false;
search5_0Patterns=false;
searchABCDPatterns=false;
if((dotA > dotX && dotB > dotX && dotB dotB && dotC < dotA && dotD < dotB)| (dotA < dotX && dotB dotA && dotC dotA > dotB))searchClassicalPatterns=true。
else if((dotA > dotX && dotB > dotX && dotB dotB && dotC > dotA && dotD < dotB)|| (dotA < dotX && dotB dotA && dotC < dotB && dotB)){searchSharkPatterns=true; searchCypherPatterns=true;}。
else if((dotA > dotX && dotB < dotX && dotB dotB && dotC > dotA && dotD > dotB)| (dotA dotX && dotB > dotA && dotC < dotB && dotD < dotB))search5_0Patterns=true;
else if((dotB dotB && dotC < dotA && dotD dotA && dotC dotA && dotD > dotB))searchABCDPatterns=true;
//搜索经典的Gartley模式
如果(searchClassicalPatterns==true)
{
if(dotA > dotX && dotB > dotX && dotB dotB && dotC < dotA && dotD < dotB)
{
vBullBear="看涨"。
}
如果(dotA < dotX && dotB dotA && dotC dotA && dotD > dotB)
{
vBullBear="看跌"。
}
// Gartley搜索开始
if (retAC >= 0.382*min_DeltaGartley && retAC <= 0.886*max_DeltaGartley && retXD < 1.000 && retXD = 1.270*min_DeltaGartley && retBD =0.618*min_DeltaGartley && retXB <= 0.618*max_DeltaGartley)
{
vNamePattern="Gartley"。
PriceD_XD=dotA-0.786*(dotA-dotX)。
PriceD_BD=dotC-1.618*(dotC-dotB)。
如果(vBullBear=="看涨")
{
如果(MathMax(PriceD_XD,PriceD_BD)==PriceD_XD)
{
LevelForDmin = dotA-0.786*min_DeltaGartley*(dotA-dotX)。
LevelForDmax = dotA-0.786*max_DeltaGartley*(dotA-dotX)。
}
否则如果(MathMax(PriceD_XD,PriceD_BD)==PriceD_BD)
{
LevelForDmin = dotC-1.618*min_DeltaGartley*(dotC-dotB)。
LevelForDmax = dotC-1.618*max_DeltaGartley*(dotC-dotB)。
}
}
如果(vBullBear=="看跌")
{
如果(MathMin(PriceD_XD,PriceD_BD)==PriceD_XD)
{
LevelForDmin = dotA-0.786*min_DeltaGartley*(dotA-dotX)。
LevelForDmax = dotA-0.786*max_DeltaGartley*(dotA-dotX)。
}
否则如果(MathMin(PriceD_XD,PriceD_BD)==PriceD_BD)
{
LevelForDmin = dotC-1.618*min_DeltaGartley*(dotC-dotB)。
LevelForDmax = dotC-1.618*max_DeltaGartley*(dotC-dotB)。
}
}
}// Gartley搜索结束
明斯克现在22.43
21.:47这里
dotX=zz[aXABCD[X]]。
dotA=zz[aXABCD[A]]。
dotB=zz[aXABCD];
dotC=zz[aXABCD[C]]。
dotD=zz[aXABCD[D]]。
是X、A、B、C和D点
retXB=(dotA - dotB)/(dotA - dotX + vDelta0)。
retAC=(dotC - dotB)/(dotA - dotB + vDelta0)。
retBD=(dotC - dotD)/(dotC - dotB + vDelta0)。
retXD=(dotA - dotD)/(dotA - dotX + vDelta0)。
retXB, retAC, retBD, retXD是纤维回调。