Zigzag指标 - 页 15 1...8910111213141516171819202122...65 新评论 increase 2008.10.07 11:14 #141 DamonThailand: 你好。这是我第一次在这里发帖,因为我快速搜索了一下没有找到这个。 我在多个时间段内使用ZigZag指标。我设置了参数,以便它为我追踪适当的高/低点,但我希望在图表上以文本形式显示高/低值。 我拍了一张我想要的截图(在手动添加文本以显示我正在寻找的东西之后)。 是否可以像这样将P1、P2、P3文本和相应的欧元/美元高/低值打印在图表上? 我知道P3的值会随着价格的不断上升或下降而实时变化。 我只需要最近的3个数值,较早的数值并不重要。 谢谢你的任何意见或建议。我不太懂编程,但如果不是太难的工作,也许我可以把这个工作做得很好 你需要发布你所使用的代码 [删除] 2008.10.08 07:43 #142 我正在使用标准的ZigZag指标。不过,我是按要求发布代码的。 //+------------------------------------------------------------------+ //| Zigzag.mq4 | //| Copyright ฉ 2005-2007, MetaQuotes Software Corp. | //| http://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright ฉ 2007, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Yellow //---- indicator parameters extern int ExtDepth=12; extern int ExtDeviation=5; extern int ExtBackstep=3; //---- indicator buffers double ZigzagBuffer[]; double HighMapBuffer[]; double LowMapBuffer[]; int level=3; // recounting's depth bool downloadhistory=false; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { IndicatorBuffers(3); //---- drawing settings SetIndexStyle(0,DRAW_SECTION); //---- indicator buffers mapping SetIndexBuffer(0,ZigzagBuffer); SetIndexBuffer(1,HighMapBuffer); SetIndexBuffer(2,LowMapBuffer); SetIndexEmptyValue(0,0.0); //---- indicator short name IndicatorShortName("ZigZag("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")"); //---- initialization done return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { int i, counted_bars = IndicatorCounted(); int limit,counterZ,whatlookfor; int shift,back,lasthighpos,lastlowpos; double val,res; double curlow,curhigh,lasthigh,lastlow; if (counted_bars==0 && downloadhistory) // history was downloaded { ArrayInitialize(ZigzagBuffer,0.0); ArrayInitialize(HighMapBuffer,0.0); ArrayInitialize(LowMapBuffer,0.0); } if (counted_bars==0) { limit=Bars-ExtDepth; downloadhistory=true; } if (counted_bars>0) { while (counterZ<level && i<100) { res=ZigzagBuffer; if (res!=0) counterZ++; i++; } i--; limit=i; if (LowMapBuffer!=0) { curlow=LowMapBuffer; whatlookfor=1; } else { curhigh=HighMapBuffer; whatlookfor=-1; } for (i=limit-1;i>=0;i--) { ZigzagBuffer=0.0; LowMapBuffer=0.0; HighMapBuffer=0.0; } } for(shift=limit; shift>=0; shift--) { val=Low; if(val==lastlow) val=0.0; else { lastlow=val; if((Low[shift]-val)>(ExtDeviation*Point)) val=0.0; else { for(back=1; back<=ExtBackstep; back++) { res=LowMapBuffer[shift+back]; if((res!=0)&&(res>val)) LowMapBuffer[shift+back]=0.0; } } } if (Low[shift]==val) LowMapBuffer[shift]=val; else LowMapBuffer[shift]=0.0; //--- high val=High; if(val==lasthigh) val=0.0; else { lasthigh=val; if((val-High[shift])>(ExtDeviation*Point)) val=0.0; else { for(back=1; back<=ExtBackstep; back++) { res=HighMapBuffer[shift+back]; if((res!=0)&&(res<val)) HighMapBuffer[shift+back]=0.0; } } } if (High[shift]==val) HighMapBuffer[shift]=val; else HighMapBuffer[shift]=0.0; } // final cutting if (whatlookfor==0) { lastlow=0; lasthigh=0; } else { lastlow=curlow; lasthigh=curhigh; } for (shift=limit;shift>=0;shift--) { res=0.0; switch(whatlookfor) { case 0: // look for peak or lawn if (lastlow==0 && lasthigh==0) { if (HighMapBuffer[shift]!=0) { lasthigh=High[shift]; lasthighpos=shift; whatlookfor=-1; ZigzagBuffer[shift]=lasthigh; res=1; } if (LowMapBuffer[shift]!=0) { lastlow=Low[shift]; lastlowpos=shift; whatlookfor=1; ZigzagBuffer[shift]=lastlow; res=1; } } break; case 1: // look for peak if (LowMapBuffer[shift]!=0.0 && LowMapBuffer[shift]<lastlow && HighMapBuffer[shift]==0.0) { ZigzagBuffer[lastlowpos]=0.0; lastlowpos=shift; lastlow=LowMapBuffer[shift]; ZigzagBuffer[shift]=lastlow; res=1; } if (HighMapBuffer[shift]!=0.0 && LowMapBuffer[shift]==0.0) { lasthigh=HighMapBuffer[shift]; lasthighpos=shift; ZigzagBuffer[shift]=lasthigh; whatlookfor=-1; res=1; } break; case -1: // look for lawn if (HighMapBuffer[shift]!=0.0 && HighMapBuffer[shift]>lasthigh && LowMapBuffer[shift]==0.0) { ZigzagBuffer[lasthighpos]=0.0; lasthighpos=shift; lasthigh=HighMapBuffer[shift]; ZigzagBuffer[shift]=lasthigh; } if (LowMapBuffer[shift]!=0.0 && HighMapBuffer[shift]==0.0) { lastlow=LowMapBuffer[shift]; lastlowpos=shift; ZigzagBuffer[shift]=lastlow; whatlookfor=1; } break; default: return; } } return(0); } //+------------------------------------------------------------------+ 问吧! 自己写的代码~运行不了,求高手帮忙检查一下bug在哪里~ Zigzag indicators knmoore63 2008.10.16 13:56 #143 zigzag fibo(没有警报或警报调整为真或假) newdigital: 一些其他的人字形指标https://www.mql5.com/en/forum/178335/page14 在这里发生了一件伟大的工作,我非常感谢所有以这种或那种方式参与论坛的人。我只有几天的时间,但我对目前所看到的情况感到满意。 我只想寻求帮助。 1)有没有带斐波那契水平的 "之 "字形指标(没有警报或警报可以是假的或真的)? 真)? 2) 认真寻找任何指标,当随机振荡器处于超买/超卖区域时,它将显示准确或近似的转折点。也就是说,每当任何参数的随机指标在任何时间框架内进入超买/超卖区域时,其他东西(另一个指标)就会显示市场/价格最有可能逆转的水平。 我将很高兴得到帮助。 Linuxser 2008.10.16 21:58 #144 knmoore: 我非常感谢所有以这种或那种方式为论坛做出贡献的人,他们的工作非常出色。我只有几天的时间,但我对目前所看到的一切感到满意。只是为了寻求帮助。 1) 是否有任何带有斐波纳契水平的人字形指标(没有警报或警报可以是假的或 真)? 2) 认真寻找任何指标,只要随机振荡器在超买/超卖区域内,就会显示准确或近似的转折点。也就是说,每当任何参数的随机指标在任何时间框架内进入超买/超卖区域时,其他东西(另一个指标)就会显示市场/价格最有可能逆转的水平。 我很高兴得到大家的帮助。 也许这些线程中的一些东西可以像你一样 https://www.mql5.com/en/forum/173172 https://www.mql5.com/en/forum/173439 https://www.mql5.com/en/forum/173588 increase 2008.10.16 22:29 #145 knmoore: 我非常感谢所有以这种或那种方式为论坛做出贡献的人,他们在这里做了大量工作。我只用了几天时间,但我对我目前所看到的一切感到满意。只是为了寻求帮助。 1) 是否有任何带有斐波纳契水平的人字形指标(没有警报或警报可以是假的或 真)? 2) 认真寻找任何指标,只要随机振荡器在超买/超卖区域内,就会显示准确或近似的转折点。也就是说,每当任何参数的随机指标在任何时间框架内进入超买/超卖区域,其他东西(另一个指标)就会显示市场/价格最有可能逆转的水平。 我很高兴得到大家的帮助。 我发现,只有一个指标总是正确的,但不幸的是,它的速度很慢。 附加的文件: dinapolitargets-kuskus.mq4 7 kb Mohammad Rahimi 2008.10.29 15:18 #146 bryant: 嗨,我在这里看到一个指标,但不是完整的。我有完整的指标,但我不知道其中的一些单词,谁能帮我把它全部翻译成英文。非常感谢!!!!!。 你好 请参考本主题的第1页 increase 2008.10.30 09:38 #147 谢谢大家发布的所有之字形指标,总结一切,似乎周围基本上有3种之字形类型 1.基于原始 "之 "字形的指标 2.基于Dinapoli的指标,即高/低Zigzag。 3.非滞后的之字形、江恩和摆动指标,是两者之间的一种折衷。 所有基于之字形的指标都会重绘,你可以发现它们,因为它们都包含原始的代码基础,这些包括所有的之字形指针,转折点的之字形。 基于dinapoli的指标通常包括'Barn'语句作为extern int。这些指标不会重绘,而且非常可靠,麻烦的是它们根据历史数据工作,形成下一个腿的速度非常慢。 非滞后江恩和摇摆似乎是一个人字形,其中包括一些Dinapoli类型代码的变化,它们大多不会重绘,但偶尔会重绘。 对我来说,它仍然回到了绘图板,我相信会有更多的东西出现。 fxbs 2008.10.30 10:11 #148 或像这样说 有三种类型的ZZ。 1.基于原始ZZ的 2.基于非原创 3.其他 这是另一种。 附加的文件: zigzag_with_chanel_raysonelegy.mq4 10 kb zz_chan_ray__oneleg.gif 16 kb increase 2008.10.30 10:35 #149 fxbs: 或者像这样说有三种类型的ZZ。 1.基于原始ZZ的 2.基于非原创 3.其他 这是另一个。 这很简洁 下面是另一种情况:有通道的ZZ Bryant 2008.10.30 13:09 #150 moha00: 你好,请参考本主题的第一页 谢谢!我知道,但那个不是完整的,某些部分的代码不知为何消失了!我想要的是一个完整的。 1...8910111213141516171819202122...65 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好。
这是我第一次在这里发帖,因为我快速搜索了一下没有找到这个。
我在多个时间段内使用ZigZag指标。我设置了参数,以便它为我追踪适当的高/低点,但我希望在图表上以文本形式显示高/低值。
我拍了一张我想要的截图(在手动添加文本以显示我正在寻找的东西之后)。
是否可以像这样将P1、P2、P3文本和相应的欧元/美元高/低值打印在图表上?
我知道P3的值会随着价格的不断上升或下降而实时变化。
我只需要最近的3个数值,较早的数值并不重要。
谢谢你的任何意见或建议。我不太懂编程,但如果不是太难的工作,也许我可以把这个工作做得很好你需要发布你所使用的代码
我正在使用标准的ZigZag指标。不过,我是按要求发布代码的。
//+------------------------------------------------------------------+
//| Zigzag.mq4 |
//| Copyright ฉ 2005-2007, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright ฉ 2007, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Yellow
//---- indicator parameters
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;
//---- indicator buffers
double ZigzagBuffer[];
double HighMapBuffer[];
double LowMapBuffer[];
int level=3; // recounting's depth
bool downloadhistory=false;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(3);
//---- drawing settings
SetIndexStyle(0,DRAW_SECTION);
//---- indicator buffers mapping
SetIndexBuffer(0,ZigzagBuffer);
SetIndexBuffer(1,HighMapBuffer);
SetIndexBuffer(2,LowMapBuffer);
SetIndexEmptyValue(0,0.0);
//---- indicator short name
IndicatorShortName("ZigZag("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
int i, counted_bars = IndicatorCounted();
int limit,counterZ,whatlookfor;
int shift,back,lasthighpos,lastlowpos;
double val,res;
double curlow,curhigh,lasthigh,lastlow;
if (counted_bars==0 && downloadhistory) // history was downloaded
{
ArrayInitialize(ZigzagBuffer,0.0);
ArrayInitialize(HighMapBuffer,0.0);
ArrayInitialize(LowMapBuffer,0.0);
}
if (counted_bars==0)
{
limit=Bars-ExtDepth;
downloadhistory=true;
}
if (counted_bars>0)
{
while (counterZ<level && i<100)
{
res=ZigzagBuffer;
if (res!=0) counterZ++;
i++;
}
i--;
limit=i;
if (LowMapBuffer!=0)
{
curlow=LowMapBuffer;
whatlookfor=1;
}
else
{
curhigh=HighMapBuffer;
whatlookfor=-1;
}
for (i=limit-1;i>=0;i--)
{
ZigzagBuffer=0.0;
LowMapBuffer=0.0;
HighMapBuffer=0.0;
}
}
for(shift=limit; shift>=0; shift--)
{
val=Low;
if(val==lastlow) val=0.0;
else
{
lastlow=val;
if((Low[shift]-val)>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=LowMapBuffer[shift+back];
if((res!=0)&&(res>val)) LowMapBuffer[shift+back]=0.0;
}
}
}
if (Low[shift]==val) LowMapBuffer[shift]=val; else LowMapBuffer[shift]=0.0;
//--- high
val=High;
if(val==lasthigh) val=0.0;
else
{
lasthigh=val;
if((val-High[shift])>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=HighMapBuffer[shift+back];
if((res!=0)&&(res<val)) HighMapBuffer[shift+back]=0.0;
}
}
}
if (High[shift]==val) HighMapBuffer[shift]=val; else HighMapBuffer[shift]=0.0;
}
// final cutting
if (whatlookfor==0)
{
lastlow=0;
lasthigh=0;
}
else
{
lastlow=curlow;
lasthigh=curhigh;
}
for (shift=limit;shift>=0;shift--)
{
res=0.0;
switch(whatlookfor)
{
case 0: // look for peak or lawn
if (lastlow==0 && lasthigh==0)
{
if (HighMapBuffer[shift]!=0)
{
lasthigh=High[shift];
lasthighpos=shift;
whatlookfor=-1;
ZigzagBuffer[shift]=lasthigh;
res=1;
}
if (LowMapBuffer[shift]!=0)
{
lastlow=Low[shift];
lastlowpos=shift;
whatlookfor=1;
ZigzagBuffer[shift]=lastlow;
res=1;
}
}
break;
case 1: // look for peak
if (LowMapBuffer[shift]!=0.0 && LowMapBuffer[shift]<lastlow && HighMapBuffer[shift]==0.0)
{
ZigzagBuffer[lastlowpos]=0.0;
lastlowpos=shift;
lastlow=LowMapBuffer[shift];
ZigzagBuffer[shift]=lastlow;
res=1;
}
if (HighMapBuffer[shift]!=0.0 && LowMapBuffer[shift]==0.0)
{
lasthigh=HighMapBuffer[shift];
lasthighpos=shift;
ZigzagBuffer[shift]=lasthigh;
whatlookfor=-1;
res=1;
}
break;
case -1: // look for lawn
if (HighMapBuffer[shift]!=0.0 && HighMapBuffer[shift]>lasthigh && LowMapBuffer[shift]==0.0)
{
ZigzagBuffer[lasthighpos]=0.0;
lasthighpos=shift;
lasthigh=HighMapBuffer[shift];
ZigzagBuffer[shift]=lasthigh;
}
if (LowMapBuffer[shift]!=0.0 && HighMapBuffer[shift]==0.0)
{
lastlow=LowMapBuffer[shift];
lastlowpos=shift;
ZigzagBuffer[shift]=lastlow;
whatlookfor=1;
}
break;
default: return;
}
}
return(0);
}
//+------------------------------------------------------------------+
zigzag fibo(没有警报或警报调整为真或假)
一些其他的人字形指标https://www.mql5.com/en/forum/178335/page14
在这里发生了一件伟大的工作,我非常感谢所有以这种或那种方式参与论坛的人。我只有几天的时间,但我对目前所看到的情况感到满意。
我只想寻求帮助。
1)有没有带斐波那契水平的 "之 "字形指标(没有警报或警报可以是假的或真的)?
真)?
2) 认真寻找任何指标,当随机振荡器处于超买/超卖区域时,它将显示准确或近似的转折点。也就是说,每当任何参数的随机指标在任何时间框架内进入超买/超卖区域时,其他东西(另一个指标)就会显示市场/价格最有可能逆转的水平。
我将很高兴得到帮助。
我非常感谢所有以这种或那种方式为论坛做出贡献的人,他们的工作非常出色。我只有几天的时间,但我对目前所看到的一切感到满意。
只是为了寻求帮助。
1) 是否有任何带有斐波纳契水平的人字形指标(没有警报或警报可以是假的或
真)?
2) 认真寻找任何指标,只要随机振荡器在超买/超卖区域内,就会显示准确或近似的转折点。也就是说,每当任何参数的随机指标在任何时间框架内进入超买/超卖区域时,其他东西(另一个指标)就会显示市场/价格最有可能逆转的水平。
我很高兴得到大家的帮助。也许这些线程中的一些东西可以像你一样
https://www.mql5.com/en/forum/173172
https://www.mql5.com/en/forum/173439
https://www.mql5.com/en/forum/173588
我非常感谢所有以这种或那种方式为论坛做出贡献的人,他们在这里做了大量工作。我只用了几天时间,但我对我目前所看到的一切感到满意。
只是为了寻求帮助。
1) 是否有任何带有斐波纳契水平的人字形指标(没有警报或警报可以是假的或
真)?
2) 认真寻找任何指标,只要随机振荡器在超买/超卖区域内,就会显示准确或近似的转折点。也就是说,每当任何参数的随机指标在任何时间框架内进入超买/超卖区域,其他东西(另一个指标)就会显示市场/价格最有可能逆转的水平。
我很高兴得到大家的帮助。我发现,只有一个指标总是正确的,但不幸的是,它的速度很慢。
嗨,我在这里看到一个指标,但不是完整的。我有完整的指标,但我不知道其中的一些单词,谁能帮我把它全部翻译成英文。非常感谢!!!!!。
你好
请参考本主题的第1页
谢谢大家发布的所有之字形指标,总结一切,似乎周围基本上有3种之字形类型
1.基于原始 "之 "字形的指标
2.基于Dinapoli的指标,即高/低Zigzag。
3.非滞后的之字形、江恩和摆动指标,是两者之间的一种折衷。
所有基于之字形的指标都会重绘,你可以发现它们,因为它们都包含原始的代码基础,这些包括所有的之字形指针,转折点的之字形。
基于dinapoli的指标通常包括'Barn'语句作为extern int。这些指标不会重绘,而且非常可靠,麻烦的是它们根据历史数据工作,形成下一个腿的速度非常慢。
非滞后江恩和摇摆似乎是一个人字形,其中包括一些Dinapoli类型代码的变化,它们大多不会重绘,但偶尔会重绘。
对我来说,它仍然回到了绘图板,我相信会有更多的东西出现。
或像这样说
有三种类型的ZZ。
1.基于原始ZZ的
2.基于非原创
3.其他
这是另一种。
或者像这样说
有三种类型的ZZ。
1.基于原始ZZ的
2.基于非原创
3.其他
这是另一个。这很简洁
下面是另一种情况:有通道的ZZ
你好,请参考本主题的第一页
谢谢!我知道,但那个不是完整的,某些部分的代码不知为何消失了!我想要的是一个完整的。