📅 财经日历 📊 实时波动 📈 大盘云图 📶 行情走势 🆚 投机情绪 🚀 今日热点

    来个大哥帮忙改一下指标,谢谢

    2026-06-15 · 173 阅读
    本帖最后由 slming123 于 2026-6-16 00:01 编辑

    改成可以自由添加多根线,像这种面板









    补充内容 (2026-6-16 22:58):
    #property copyright "下载更多外汇EA外汇指标,交易系统,就到【外汇EA之家】"
    #property link      "http://www.eazhijia.com"

    #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 ExtMapBuffer[];
    double ExtMapBuffer2[];

    //+------------------------------------------------------------------+
    //| Custom indicator initialization function                         |
    //+------------------------------------------------------------------+
    int init()
      {
       IndicatorBuffers(2);
    //---- drawing settings
       SetIndexStyle(0,DRAW_SECTION);
    //---- indicator buffers mapping
       SetIndexBuffer(0,ExtMapBuffer);
       SetIndexBuffer(1,ExtMapBuffer2);
       SetIndexEmptyValue(0,0.0);
       ArraySetAsSeries(ExtMapBuffer,true);
       ArraySetAsSeries(ExtMapBuffer2,true);
    //---- indicator short name
       IndicatorShortName("ZigZag("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")");
    //---- initialization done
       return(0);
      }
      
    int deinit() {
            ObjectDelete("Fibo");
    }
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    int start()
      {
       int    shift, back,lasthighpos,lastlowpos;
       double val,res;
       double curlow,curhigh,lasthigh,lastlow;

       for(shift=Bars-ExtDepth; shift>=0; shift--)
         {
          val=Low[Lowest(NULL,0,MODE_LOW,ExtDepth,shift)];
          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=ExtMapBuffer[shift+back];
                   if((res!=0)&&(res>val)) ExtMapBuffer[shift+back]=0.0;
                  }
               }
            }
          ExtMapBuffer[shift]=val;
          //--- high
          val=High[Highest(NULL,0,MODE_HIGH,ExtDepth,shift)];
          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=ExtMapBuffer2[shift+back];
                   if((res!=0)&&(res<val)) ExtMapBuffer2[shift+back]=0.0;
                  }
               }
            }
          ExtMapBuffer2[shift]=val;
         }

       // final cutting
       lasthigh=-1; lasthighpos=-1;
       lastlow=-1;  lastlowpos=-1;

       for(shift=Bars-ExtDepth; shift>=0; shift--)
         {
          curlow=ExtMapBuffer[shift];
          curhigh=ExtMapBuffer2[shift];
          if((curlow==0)&&(curhigh==0)) continue;
          //---
          if(curhigh!=0)
            {
             if(lasthigh>0)
               {
                if(lasthigh<curhigh) ExtMapBuffer2[lasthighpos]=0;
                else ExtMapBuffer2[shift]=0;
               }
             //---
             if(lasthigh<curhigh || lasthigh<0)
               {
                lasthigh=curhigh;
                lasthighpos=shift;
               }
             lastlow=-1;
            }
          //----
          if(curlow!=0)
            {
             if(lastlow>0)
               {
                if(lastlow>curlow) ExtMapBuffer[lastlowpos]=0;
                else ExtMapBuffer[shift]=0;
               }
             //---
             if((curlow<lastlow)||(lastlow<0))
               {
                lastlow=curlow;
                lastlowpos=shift;
               }
             lasthigh=-1;
            }
         }
      
       for(shift=Bars-1; shift>=0; shift--)
         {
          if(shift>=Bars-ExtDepth) ExtMapBuffer[shift]=0.0;
          else
            {
             res=ExtMapBuffer2[shift];
             if(res!=0.0) ExtMapBuffer[shift]=res;
            }

         }
         
              int i=0;
              int LastZigZag, PreviousZigZag;
       
       /*
       for(int h=0; h<Bars && i<=2; h++)
       {
          if (ExtMapBuffer[h]!=0) {
             i++;
             if (i==1) { LastZigZag=h;
                  } else { PreviousZigZag=h; }
          } else if (ExtMapBuffer2[h]!=0) {
             i++;
             if (i==1) { LastZigZag=h;
                  } else { PreviousZigZag=h; }
           }
       }
       */
       
       int h=0;
       while ( ExtMapBuffer[h]==0 && ExtMapBuffer2[h]==0) {
               h++;
       }
       
       LastZigZag=h;
       
       h++;
       while(ExtMapBuffer[h]==0 && ExtMapBuffer2[h]==0) {
               h++;
       }
       
       PreviousZigZag=h;
       
       ObjectCreate("Fibo", OBJ_FIBO, 0, Time[PreviousZigZag], ExtMapBuffer[LastZigZag], Time[LastZigZag], ExtMapBuffer[PreviousZigZag]);
       ObjectSetFiboDescription("Fibo", 8, "76.4 (%$)");
       ObjectSet("Fibo", OBJPROP_FIRSTLEVEL+8, 0.764);
      }
      
       
    ""
    还没有人打赏,支持一下
    回复

    举报

     

    回答|共 6 个

    pengjianbiao LV0

    发表于 2026-6-16 07:07:03 | 显示全部楼层

    原来的指标 截图看看

    江河湖海 LV2

    发表于 2026-6-16 07:52:01 | 显示全部楼层

    想这么该

    slming123 LV3

    发表于 2026-6-16 10:20:33 | 显示全部楼层

    pengjianbiao 发表于 2026-6-16 07:07
    原来的指标 截图看看

    原来的指标就是没这个界面

    yang5277229 LV10

    发表于 2026-6-16 12:21:44 | 显示全部楼层

    你把源码贴出来啊,这样别人下载还要金币,没人愿意弄的

    slming123 LV3

    发表于 2026-6-16 22:59:18 | 显示全部楼层

    😭😂😭😂😭😂

    slming123 LV3

    发表于 2026-6-18 17:52:52 | 显示全部楼层

    😭😂😭😂😭😂
    您需要登录后才可以回帖 登录 | 注册

    提醒: 禁止引战、谩骂、灌水内容

    微信二维码

    有问题联系客服