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

    Bull老大请再进来一下,多谢!(已解决)

    2011-11-29 · 4533 阅读
    要编的指标是一根类似多空转换线的线。编程语句翻译如下:
      给A1赋值:如果现在的最高价大于等于前面第一根K线的最高价,且大于等于前面第二根K线的最高价,且大于等于前面第三根K线的最高价,且大于等于前面第四根K线的最高价,且大于等于前面第五根K线的最高价,则返回值为当前最低价,否则返回值0.
      给B赋值:如果最低价小于等于前面第一根K线最低价,且小于等于前面第二根K线最低价,且小于等于前面第三根K线最低价,且小于等于前面第四根K线最低价,且小于等于前面第五根K线最低价,则返回值为当前最高价,否则返回值0.
      赋值A=A1
      给P1赋值:如果A大于前面第一根K线最低值,则返回值为上根K线最低值,否则返回值0.
      给P2赋值:如果A大于前面第二根K线最低值,且A小于等于前面第一根K线最低值,则返回值为前面第二根K线最低值,否则返回值0.
      给P3赋值:如果A大于前面第三根K线最低值,且A小于等于前面第一根K线最低值,且A小于等于前面第二根K线最低值,则返回值为前面第三根K线最低值,否则返回值0.
      给P4赋值:如果A大于前面第四根K线最低值,且A小于等于前面第一根K线最低值,且A小于等于前面第二根K线最低值,且A小于等于前面第三根K线最低值,则返回值为前面第四根K线最低值,否则返回值0.
      给P5赋值:如果A大于前面第五根K线最低值,且A小于等于前面第一根K线最低值,且A小于等于前面第二根K线最低值,且A小于等于前面第三根K线最低值,且A小于等于前面第四根K线最低值,则返回值为前面第五根K线最低值,否则返回值0.
      给P6赋值:如果A大于前面第六根K线最低值,且A小于等于前面第一根K线最低值,且A小于等于前面第二根K线最低值,且A小于等于前面第三根K线最低值,且A小于等于前面第四根K线最低值,且A小于等于前面第五根K线最低值,则返回值为前面第六根K线最低值,否则返回值0.
      给P7赋值:如果A大于前面第七根K线最低值,且A小于等于前面第一根K线最低值,且A小于等于前面第二根K线最低值,且A小于等于前面第三根K线最低值,且A小于等于前面第四根K线最低值,且A小于等于前面第五根K线最低值,且A小于等于前面第六根K线最低值,则返回值为前面第七根K线最低值,否则返回值0.
      给P8赋值:如果A大于前面第八根K线最低值,且A小于等于前面第一根K线最低值,且A小于等于前面第二根K线最低值,且A小于等于前面第三根K线最低值,且A小于等于前面第四根K线最低值,且A小于等于前面第五根K线最低值,且A小于等于前面第六根K线最低值,且A小于等于前面第七根K线最低值,则返回值为前面第八根K线最低值,否则返回值0.
      给P9赋值:如果A大于前面第九根K线最低值,且A小于等于前面第一根K线最低值,且A小于等于前面第二根K线最低值,且A小于等于前面第三根K线最低值,且A小于等于前面第四根K线最低值,且A小于等于前面第五根K线最低值,且A小于等于前面第六根K线最低值,且A小于等于前面第七根K线最低值,且A小于等于前面第八根K线最低值,则返回值为前面第九根K线最低值,否则返回值0.
      给P10赋值:如果A大于前面第十根K线最低值,且A小于等于前面第一根K线最低值,且A小于等于前面第二根K线最低值,且A小于等于前面第三根K线最低值,且A小于等于前面第四根K线最低值,且A小于等于前面第五根K线最低值,且A小于等于前面第六根K线最低值,且A小于等于前面第七根K线最低值,且A小于等于前面第八根K线最低值,且A小于等于前面第九根K线最低值,则返回值为前面第十根K线最低值,否则返回值0.
      给AA赋值:AA等于P1+P2+P3+P4+P5+P6+P7+P8+P9+P10;
      给PP1赋值:如果AA大于前面第一根K线的最低值,则返回值为前面第一根K线的最低值,否则返回值为0.
      给PP2赋值:如果AA大于前面第二根K线最低值,且AA小于等于前面第一根K线最低值,则返回值为前面第二根K线最低值,否则返回值0.
      给PP3赋值:如果AA大于前面第三根K线最低值,且AA小于等于前面第一根K线最低值,且AA小于等于前面第二根K线最低值,则返回值为前面第三根K线最低值,否则返回值0.
      给PP4赋值:如果AA大于前面第四根K线最低值,且AA小于等于前面第一根K线最低值,且AA小于等于前面第二根K线最低值,且AA小于等于前面第三根K线最低值,则返回值为前面第四根K线最低值,否则返回值0.
      给PP5赋值:如果AA大于前面第五根K线最低值,且AA小于等于前面第一根K线最低值,且AA小于等于前面第二根K线最低值,且AA小于等于前面第三根K线最低值,且AA小于等于前面第四根K线最低值,则返回值为前面第五根K线最低值,否则返回值0.
      给PP6赋值:如果AA大于前面第六根K线最低值,且AA小于等于前面第一根K线最低值,且AA小于等于前面第二根K线最低值,且AA小于等于前面第三根K线最低值,且AA小于等于前面第四根K线最低值,且AA小于等于前面第五根K线最低值,则返回值为前面第六根K线最低值,否则返回值0.
      给PP7赋值:如果AA大于前面第七根K线最低值,且AA小于等于前面第一根K线最低值,且AA小于等于前面第二根K线最低值,且AA小于等于前面第三根K线最低值,且AA小于等于前面第四根K线最低值,且AA小于等于前面第五根K线最低值,且AA小于等于前面第六根K线最低值,则返回值为前面第七根K线最低值,否则返回值0.
      给PP8赋值:如果AA大于前面第八根K线最低值,且AA小于等于前面第一根K线最低值,且AA小于等于前面第二根K线最低值,且AA小于等于前面第三根K线最低值,且AA小于等于前面第四根K线最低值,且AA小于等于前面第五根K线最低值,且AA小于等于前面第六根K线最低值,且AA小于等于前面第七根K线最低值,则返回值为前面第八根K线最低值,否则返回值0.
      给PP9赋值:如果AA大于前面第九根K线最低值,且AA小于等于前面第一根K线最低值,且AA小于等于前面第二根K线最低值,且AA小于等于前面第三根K线最低值,且AA小于等于前面第四根K线最低值,且AA小于等于前面第五根K线最低值,且AA小于等于前面第六根K线最低值,且AA小于等于前面第七根K线最低值,且AA小于等于前面第八根K线最低值,则返回值为前面第九根K线最低值,否则返回值0.
      给PP10赋值:如果AA大于前面第十根K线最低值,且AA小于等于前面第一根K线最低值,且AA小于等于前面第二根K线最低值,且AA小于等于前面第三根K线最低值,且AA小于等于前面第四根K线最低值,且AA小于等于前面第五根K线最低值,且AA小于等于前面第六根K线最低值,且AA小于等于前面第七根K线最低值,且AA小于等于前面第八根K线最低值,且AA小于等于前面第九根K线最低值,则返回值为前面第十根K线最低值,否则返回值0.
      给AAA赋值:AAA等于PP1+PP2+PP3+PP4+PP5+PP6+PP7+PP8+PP9+PP10;
      给C1赋值:如果AAA大于0,则返回值为AAA,否则返回上一个AAA大于0时候的AAA值。
      给T1赋值:如果B小于前面第一根K线的最高价,则返回值为前面第一根K线的最高价,否则返回值为0.
      给T2赋值:如果B小于前面第二根K线最高价,且B大于等于前面第一根K线最高值,则返回值为前面第二根K线最高值,否则返回值0.
      给T3赋值:如果B小于前面第三根K线最高值,且B大于等于前面第一根K线最高值,且B大于等于前面第二根K线最高值,则返回值为前面第三根K线最高值,否则返回值0.
      给T4赋值:如果B小于前面第四根K线最高值,且B大于等于前面第一根K线最高值,且B大于等于前面第二根K线最高值,且B大于等于前面第三根K线最高值,则返回值为前面第四根K线最高值,否则返回值0.
      给T5赋值:如果B小于前面第五根K线最高值,且B大于等于前面第一根K线最高值,且B大于等于前面第二根K线最高值,且B大于等于前面第三根K线最高值,且B大于等于前面第四根K线最高值,则返回值为前面第五根K线最高值,否则返回值0.
      给T6赋值:如果B小于前面第六根K线最高值,且B大于等于前面第一根K线最高值,且B大于等于前面第二根K线最高值,且B大于等于前面第三根K线最高值,且B大于等于前面第四根K线最高值,且B大于等于前面第五根K线最高值,则返回值为前面第六根K线最高值,否则返回值0.
      给T7赋值:如果B小于前面第七根K线最高值,且B大于等于前面第一根K线最高值,且B大于等于前面第二根K线最高值,且B大于等于前面第三根K线最高值,且B大于等于前面第四根K线最高值,且B大于等于前面第五根K线最高值,且B大于等于前面第六根K线最高值,则返回值为前面第七根K线最高值,否则返回值0.
      给T8赋值:如果B小于前面第八根K线最高值,且B大于等于前面第一根K线最高值,且B大于等于前面第二根K线最高值,且B大于等于前面第三根K线最高值,且B大于等于前面第四根K线最高值,且B大于等于前面第五根K线最高值,且B大于等于前面第六根K线最高值,且B大于等于前面第七根K线最高值,则返回值为前面第八根K线最高值,否则返回值0.
      给T9赋值:如果B小于前面第九根K线最高值,且B大于等于前面第一根K线最高值,且B大于等于前面第二根K线最高值,且B大于等于前面第三根K线最高值,且B大于等于前面第四根K线最高值,且B大于等于前面第五根K线最高值,且B大于等于前面第六根K线最高值,且B大于等于前面第七根K线最高值,且B大于等于前面第八根K线最高值,则返回值为前面第九根K线最高值,否则返回值0.
      给T10赋值:如果B小于前面第十根K线最高值,且B大于等于前面第一根K线最高值,且B大于等于前面第二根K线最高值,且B大于等于前面第三根K线最高值,且B大于等于前面第四根K线最高值,且B大于等于前面第五根K线最高值,且B大于等于前面第六根K线最高值,且B大于等于前面第七根K线最高值,且B大于等于前面第八根K线最高值,且B大于等于前面第九根K线最高值,则返回值为前面第十根K线最高值,否则返回值0.
      给BB赋值:如果T1+T2+T3+T4+T5+T6+T7+T8+T9+T10=0则返回值为888888,否则返回值为T1+T2+T3+T4+T5+T6+T7+T8+T9+T10;
      给TT1赋值:如果BB小于前面第一根K线的最高值,则返回值为前面第一根K线的最高值,否则返回值为0.
      给TT2赋值:如果BB小于前面第二根K线最高值,且BB大于等于前面第一根K线最高值,则返回值为前面第二根K线最高值,否则返回值0.
      给TT3赋值:如果BB小于前面第三根K线最高值,且BB大于等于前面第一根K线最高值,且BB大于等于前面第二根K线最高值,则返回值为前面第三根K线最高值,否则返回值0.
      给TT4赋值:如果BB小于前面第四根K线最高值,且BB大于等于前面第一根K线最高值,且BB大于等于前面第二根K线最高值,且BB大于等于前面第三根K线最高值,则返回值为前面第四根K线最高值,否则返回值0.
      给TT5赋值:如果BB小于前面第五根K线最高值,且BB大于等于前面第一根K线最高值,且BB大于等于前面第二根K线最高值,且BB大于等于前面第三根K线最高值,且BB大于等于前面第四根K线最高值,则返回值为前面第五根K线最高值,否则返回值0.
      给TT6赋值:如果BB小于前面第六根K线最高值,且BB大于等于前面第一根K线最高值,且BB大于等于前面第二根K线最高值,且BB大于等于前面第三根K线最高值,且BB大于等于前面第四根K线最高值,且BB大于等于前面第五根K线最高值,则返回值为前面第六根K线最高值,否则返回值0.
      给TT7赋值:如果BB小于前面第七根K线最高值,且BB大于等于前面第一根K线最高值,且BB大于等于前面第二根K线最高值,且BB大于等于前面第三根K线最高值,且BB大于等于前面第四根K线最高值,且BB大于等于前面第五根K线最高值,且BB大于等于前面第六根K线最高值,则返回值为前面第七根K线最高值,否则返回值0.
      给TT8赋值:如果BB小于前面第八根K线最高值,且BB大于等于前面第一根K线最高值,且BB大于等于前面第二根K线最高值,且BB大于等于前面第三根K线最高值,且BB大于等于前面第四根K线最高值,且BB大于等于前面第五根K线最高值,且BB大于等于前面第六根K线最高值,且BB大于等于前面第七根K线最高值,则返回值为前面第八根K线最高值,否则返回值0.
      给TT9赋值:如果BB小于前面第九根K线最高值,且BB大于等于前面第一根K线最高值,且BB大于等于前面第二根K线最高值,且BB大于等于前面第三根K线最高值,且BB大于等于前面第四根K线最高值,且BB大于等于前面第五根K线最高值,且BB大于等于前面第六根K线最高值,且BB大于等于前面第七根K线最高值,且BB大于等于前面第八根K线最高值,则返回值为前面第九根K线最高值,否则返回值0.
      给TT10赋值:如果BB小于前面第十根K线最高值,且BB大于等于前面第一根K线最高值,且BB大于等于前面第二根K线最高值,且BB大于等于前面第三根K线最高值,且BB大于等于前面第四根K线最高值,且BB大于等于前面第五根K线最高值,且BB大于等于前面第六根K线最高值,且BB大于等于前面第七根K线最高值,且BB大于等于前面第八根K线最高值,且BB大于等于前面第九根K线最高值,则返回值为前面第十根K线最高值,否则返回值0.
      给BBB赋值:BBB等于TT1+TT2+TT3+TT4+TT5+TT6+TT7+TT8+TT9+TT10;
      给D赋值:如果BBB大于0,则返回值为BBB,否则返回上一次BBB大于0的时候的BBB值。
      给UD赋值:如果收盘价大于D,且前面第一根K线的收盘价小于等于D,则返回值为1.否则返回括弧内的值(如果收盘价小于C1,且前面第一根K线的收盘价大于等于C1,则返回值为-3,否则返回值为0)。
      给K赋值:如果UD小于大于0,返回值为UD,否则返回值为上一次UD小于大于0时候的UD值。
      为G赋值:如果K等于1,则返回值为C1,否则返回值为D。
      在图中生成以“止损”为名称的一条均线。
      效果如下:
      
      编程源码如下:
      #property indicator_chart_window
      #property indicator_buffers 1
      #property indicator_color1  Lime
      
      double     G[];
      double     AAA[];
      double     BBB[];
      double     UD[];
      double A,A1,AA;
      double B,BB,C1,D,K;
      double P1,P2,P3,P4,P5,P6,P7,P8,P9,P10;
      double PP1,PP2,PP3,PP4,PP5,PP6,PP7,PP8,PP9,PP10;
      double T1,T2,T3,T4,T5,T6,T7,T8,T9,T10;
      double TT1,TT2,TT3,TT4,TT5,TT6,TT7,TT8,TT9,TT10;
      
      string timeName;
      int init()
        {
      
         SetIndexBuffer(0,G);
      
         SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
         
         IndicatorDigits(Digits);
      
         return(0);
        }
       
       int deinit()
        {
      //----
           timeName = \"LableTitle1\";
            ObjectDelete(timeName);
      //----
         return(0);
        }
       
      int start()
        {
             
          drLine();
          
          timeName = \"LableTitle1\";
              ObjectDelete(timeName);
              ObjectCreate(timeName, OBJ_LABEL, 0, 0, 0);
              ObjectSetText(timeName,\"\"+\"G[8]: \"+G[8], 10, \"Arial\", Lime);
              ObjectSet(timeName, OBJPROP_CORNER, 1);
              ObjectSet(timeName, OBJPROP_XDISTANCE, 500);
              ObjectSet(timeName, OBJPROP_YDISTANCE, 10);
          
         return(0);
        }
      
      
      void drLine()
      {
        int limit= Bars-IndicatorCounted();
      
         for(int i=0; i=iHigh(NULL,0,i+1)&& iHigh(NULL,0,i)>=iHigh(NULL,0,i+2)&& iHigh(NULL,0,i)>=iHigh(NULL,0,i+3) && iHigh(NULL,0,i)>=iHigh(NULL,0,i+4) && iHigh(NULL,0,i)>=iHigh(NULL,0,i+5))
               A1=iLow(NULL,0,i);
             else
               A1=0;
               
             if(iLow(NULL,0,i)D && iClose(NULL,0,i+1)0; l--)
             {
               if(UD[l]!=0)
                 {K=UD[l];
               break;}
             }
             
             if(K==1)
               G<i>=C1;
             else
               G<i>=D;
             G<i>=iHigh(NULL,0,i);
          }
      }
      
      问题是:编译能通过,但是却不能显示这根线。请bull老大帮忙修改。谢谢![/td][/tr]
    ""
    还没有人打赏,支持一下
    回复

    举报

     

    回答|共 11 个

    2364383259 LV5

    发表于 2012-11-22 01:36:01 | 显示全部楼层

    自己知道了  

    柄先 LV5

    发表于 2012-11-22 01:36:01 | 显示全部楼层

    牛牛牛牛  

    K线 LV6

    发表于 2012-11-22 01:36:01 | 显示全部楼层

    就为赚分嘛  

    osenya LV6

    发表于 2012-11-22 01:36:01 | 显示全部楼层

    小心大家盯上你哦  

    combo18 LV5

    发表于 2012-11-22 01:36:01 | 显示全部楼层

    做一个,做好了,请看  

    manger LV4

    发表于 2012-11-22 01:36:01 | 显示全部楼层

    刚加进这个论坛不久,热衷于EA交易  

    ziakwvda LV3

    发表于 2014-10-30 04:58:08 | 显示全部楼层

    回复看看

    mvnjlbpt LV0

    发表于 2014-11-2 14:21:00 | 显示全部楼层

    看看什么EA,,,

    凤飞飞 LV3

    发表于 2014-11-29 13:49:26 | 显示全部楼层

    看看吧,谢谢分享
    12下一页
    您需要登录后才可以回帖 登录 | 注册

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

    微信二维码

    有问题联系客服