Bull老大请再进来一下,多谢!(已解决)
要编的指标是一根类似多空转换线的线。编程语句翻译如下: 给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] |
打赏
最新创建圈子
- 新闻EA运行效果图圈 2019-05-05
圈主:admin 帖子:1