公式编写入门(系列讲座)-第6部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
VAR6:=IF((CLOSE 》 1000);VAR4;VAR5);
M1:EMA(CLOSE;60);
M2:EMA(CLOSE;89);
M3:EMA(CLOSE;233);LINETHICK1;
M4:EMA(CLOSE;583);LINETHICK1;
STICKLINE((H1 》 H2);H1;H2;1;0。8);
STICKLINE((H1 《 H2);H1;H2;1;0。8);
第一步{从后往前找}找到下面这行“买”的输出语句。然后看这条语句的基本条件。
DRAWTEXT((CROSS(H1;H2) AND (CLOSE 《 EMA(CLOSE;60)));(LOW * 0。92);'买');
查看结果:输出文字 交叉 条件,条件 直 接 输 出 语 句 输出位置 文字
DRAWTEXT(VAR6;(HIGH * 1。08);'卖');
知道“基本条件”为 H1;H2,那么与此没有任何关系的语句从后往前删除。删的办法有两种:一是直接删掉;二是先用{}括上,待没问题时再一次性删除。加蓝色的为找到的不输出语句。
第二步{删除没用条}后,剩下的有用语句:
H1:EMA(CLOSE;8);LINETHICK1; {加蓝的为修饰类函数,原则一律删除。}
H2:EMA(H1;20);LINETHICK1;
DRAWTEXT((CROSS(H1;H2) AND (CLOSE 《 EMA(CLOSE;60)));(LOW * 0。92);'买');
第三步{去掉修饰符} 分别去掉:指标线粗细、显示文字、文字位置函数和文字
H1:EMA(CLOSE;8);
H2:EMA(H1;20);
CROSS(H1;H2) AND CLOSE 《 EMA(CLOSE;60);
第四步{个别加等号} 条件选股只能输出一条语句,上面这三行为全部输出,所以,作为“条件”的前两行还必须在冒号后面加上等号,表达不输出。结果:
H1:=EMA(CLOSE;8);
H2:=EMA(H1;20);
CROSS(H1;H2) AND CLOSE 《 EMA(CLOSE;60);
例二、找出笑脸和买入信号
以本人发过的《跟庄建仓》为例。
A01:=DYNAINFO(7);
A03:=BARSCOUNT(CLOSE);
A04:=(SMA((CLOSE / HHV(HIGH;120));3;1) * 100);
A05:=IF((A03 》 20);A04;0);
A06:=IF((LOW 》 A01);0;IF((HIGH 《 A01);1;(((A01 … LOW) + 0。009) / ((HIGH … LOW) + 0。009))));
A07:=DMA(A06;(VOL / CAPITAL)) * 60;
A09:=IF((((A07 》 0) AND (A07 》 REF(A07;1))) AND (A05 80;趋势;80);
DRAWICON(CROSS(趋势;0);0;1);
FILLRGN((A09 》 0 AND (趋势REF(趋势;1)AND 趋势90;100;105;10;2);COLORRED;
STICKLINE(CROSS(Var4;…40);10;55;6;0);COLORRED;
Var10:=(Var9…LLV(Var9;4))/(HHV(Var9;4)…LLV(Var9;4))*100;
DRAWTEXT(IF(CROSS(Var9;Var10) AND Var9》87;95;0);88;'险');Color00FF00;ALIGN1;
DRAWICON(CROSS(90;Var9);95;9);
Var11:=SMA(ABS(L…REF(L;1));3;1)/SMA(MAX(L…REF(L;1);0);3;1)*100;
Var12:=HHV(Var11;30)*8;
火焰山:EMA(IF(LOW 0) AND (A07 》 REF(A07;1))) AND (A05 80;趋势;80);
DRAWICON(CROSS(趋势;0);0;1);
FILLRGN((A09 》 0 AND (趋势REF(趋势;1)AND 趋势3/100AND(VOL/VOL;1)》2;
但我完成测试时电脑不给通过 上面提示说〃行2:缺少;〃
请问我是哪里错了?谢谢!
大庆老杨
以这个题目讲解一下。
1、收盘价等专用函数如(C,O,H,L,V,AND,OR)是不能作为引导语句的。
2、后面输出和前面交待的条件多处重复。
整理后的:
MA1:=MA(CLOSE;10);
MA2:=MA(CLOSE;20);
CROSS(MA1;MA2)ANDCLOSE/REF(CLOSE;1)》3/100 AND VOL/(VOL;1)》2;
或者:
MA1:=MA(CLOSE;10);
MA2:=MA(CLOSE;20);
AA:=CROSS(MA1;MA2);
BB:=CLOSE/REF(CLOSE;1)》3/100;
VV:=VOL/REF(VOL;1)》2;
AA AND BB AND VV;
编写公式如同做数学题,要有一个反复领会和实践的过程,不能指望一蹴而就。
没事时打开公式编辑器,从简单的入手,编几个,看看图形,慢慢就会,熟能生巧。
第八讲 函数的综合运用
第一部分:引用已有公式中的数据
基本引用例一
〃macd。 diff〃; 〃macd。dea〃;
基本格式: 指标名称 语句名称 (注意:必须用双引号引上)
加入参数例二
〃kdj。 k〃 (9;3;3) ;
基本格式:指标名称 语句名称 参数 (指标名称和语句名称之间用隔点。隔开)
加入参数例三
周m:〃macd。 diff #WEEK〃;
引用周线:指标名称 语句名称 周函数 (注意:周函数前加#字号)
月K:〃kdj。k#MONTH〃;
引用月线同上,只是换成月函数。
…
应用实例:主图 顶底背离
A1:=BARSLAST(ref(cross(〃macd。diff〃(12;26;9);〃macd。dea〃(12;26;9));1));
B1:=ref(c;A1+1)》c and ref(〃macd。diff〃(12;26;9);A1+1)0;5);0;0。75;3;0);COLOR00FF00;
DRAWTEXT(FILTER(B1》0;5);0。57;'MACD底背离');COLOR00FF00;
A2:=BARSLAST(ref(cross(〃kdj。k〃(9;3;3);〃kdj。d〃(9;3;3));1));
B2:=ref(c;A2+1)》c and ref(〃kdj。k〃(9;3;3);A2+1)0;5);0;1;3;0);COLORYELLOW;
DRAWTEXT(FILTER(B2》0;5);0。80;'KDJ底背离');COLORYELLOW;
A3:=BARSLAST(ref(cross(〃RSI。RSI1〃(6;12;24);〃RSI。RSI2〃(6;12;24));1));
B3:=ref(c;A3+1)》c and ref(〃RSI。RSI1〃(6;12;24);A3+1)0;5);0;0。5;3;0);COLORFFCC66;
DRAWTEXT(FILTER(B3》0;5);0。25;'RSI底背离');COLORFFCC66;
DRAWTEXT(FILTER(D1》0;5);1。47;'MACD顶背离');COLOR0066FF;
C2:=BARSLAST(ref(cross(〃kdj。d〃(9;3;3);〃kdj。k〃(9;3;3));1));
D2:=ref(c;C2+1)〃kdj。k〃(9;3;3) and cross(〃kdj。d〃(9;3;3);〃kdj。k〃(9;3;3));
KDJ顶背离:STICKLINE(FILTER(D2》0;5);2;1;3;0);COLORRED;
DRAWTEXT(FILTER(D2》0;5);1。2;'KDJ顶背离');COLORRED;
C3:=BARSLAST(ref(cross(〃RSI。RSI2〃(6;12;24);〃RSI。RSI1〃(6;12;24));1));
D3:=ref(c;C3+1)〃RSI。RSI1〃(6;12;24) and cross(〃RSI。RSI2〃(6;12;24);〃RSI。RSI1〃(6;12;24));
RSI顶背离:STICKLINE(FILTER(D3》0;5);2;1。5;3;0);COLORFF00FF;
DRAWTEXT(FILTER(D3》0;5);1。75;'RSI顶背离');COLORFF00FF;
第二部分 逐步增加函数
以均线为例,主图:
基本句型
MA5:MA(C;5);
MA10:MA(C;10);
MA30:MA(C;30);
MA60:MA(C;60);
增加颜色(注:在没有颜色输出符号时,系统会自动加上颜色)
MA5:MA(C;5);COLORBLUE;
MA10:MA(C;10);COLORF00FF0;
MA30:MA(C;30);COLORFFFF00;
MA60:MA(C;60);COLORYELLOW;
将10日均线变成小圆圈线
MA5:MA(C;5);COLORBLUE;
MA10:MA(C;10);COLORF00FF0;CIRCLEDOT;
MA30:MA(C;30);COLORFFFF00;
MA60:MA(C;60);COLORYELLOW;
将60日均线加粗
MA5:MA(C;5);COLORBLUE;
MA10:MA(C;10);COLORF00FF0;CIRCLEDOT;
MA30:MA(C;30);COLORFFFF00;
MA60:MA(C;60);COLORYELLOW;LINETHICK3;
在5日均线金叉10日均线处显示符号
MA5:MA(C;5);COLORBLUE;
MA10:MA(C;10);COLORF00FF0;CIRCLEDOT;
MA30:MA(C;30);COLORFFFF00;
MA60:MA(C;60);COLORYELLOW;LINETHICK3;
金叉:=CROSS(MA5;MA10);
DRAWICON(金叉;L;1);
DRAWTEXT(金叉;L;'金叉');
STICKLINE(金叉;H;L;6;0); (注:这三种显示方式用其中一种就行)
30日均线向上时显示红色,否则为绿色
MA5:MA(C;5);COLORBLUE;
MA10:MA(C;10);COLORF00FF0;CIRCLEDOT;
MA30:MA(C;30);COLORFFFF00;
MA60:MA(C;60);COLORYELLOW;LINETHICK3;
金叉:=CROSS(MA5;MA10);
DRAWICON(金叉;L;1);
DRAWTEXT(金叉;L;'金叉');
STICKLINE(金叉;H;L;6;0);
PARTLINE(MA30》=REF(MA30;1);MA30);COLORRED;
PARTLINE(MA30=REF(MA30;1);RGB(255;0;0);MA30=REF(MA30;1);MA30;DRAWNULL);COLORRED;
IF(MA30