求帮主帮忙用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 Red
//---- 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=0; shift--)
{
val=Low;
if(val==lastlow) val=0.0;
else
{
lastlow=val;
if((Low-val)>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; backval)) LowMapBuffer=0.0;
}
}
}
if (Low==val) LowMapBuffer=val; else LowMapBuffer=0.0;
//--- high
val=High;
if(val==lasthigh) val=0.0;
else
{
lasthigh=val;
if((val-High)>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back 怎么就没人拜我为偶像那?? ~ 顶.支持,路过..... 支持一下吧 真的有么 好帖子,要顶! 发贴看看自己积分 坐下沙发,呵呵,模拟了一下,觉得可以。 你好!我想编写一平仓条件,可一直不成功。当下单成功后赢利超过7点之后赢利又小于6点平仓。就这个平仓条件能辛苦帮我写一下吗?这样能保住赢利不会变亏损。先行谢谢了!!!~~~ 路过。。看下先。
页:
[1]
2