要编的指标是一根类似多空转换线的线。编程语句翻译如下:
给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] |