教你学股票公式编程 -(2)

2018-12-25 23:18

件)成立。其余时间,指标的数值为0,可理解为信号(条件)不成立。

2、巧用BACKSET()函数:

1BACDSET(X,N)注释:向前赋值,若X非0则把当前周期及前N-1周期的数值设置为1;

2示例:把信号向前移。

TJ1:=ISLASTBAR;{最后一天的条件}

TJ2:BACKSET(TJ1,6);

观察TJ2指标线图,发现最后6天的TJ2信号都是1,即一个高度为1的矩形。公式中,还无法判断哪天是倒数第6天。

3、显然倒数第6天,是上面矩形的前沿,如何在公式中,表达这个矩形的前沿? 容易想到的办法:

1倒数第6天的当天,TJ2为1,更早的1天TJ2=0,因此可以编出如下代码:

TJ1:=ISLASTBAR;{最后一天的条件}

TJ2:=BACKSET(TJ1,6); TJ3:TJ2 AND REF(TJ2,1)=0;

2倒数第6天的当天,TJ2为1,更早的1天TJ2=0,即当天TJ2比早一天的TJ2更大,

因此可以编出如下代码:

TJ1:=ISLASTBAR;{最后一天的条件} TJ2:=BACKSET(TJ1,6); TJ3:TJ2>REF(TJ2,1);

3倒数第6天的当天,TJ2为1,更早的1天TJ2=0,可以想像为TJ2指标线上穿了一条高度为0.5的水平线,因此可以编出如下代码:

TJ1:=ISLASTBAR;{最后一天的条件} TJ2:=BACKSET(TJ1,6); TJ3:CROSS(TJ2,0.5);

4巧用FILTER()过滤函数,FILTER(X,N),若X非0,可以让X保持当天的值不变,且过滤其后N个周期使之数值为0。

TJ1:=ISLASTBAR;{最后一天的条件}

TJ2:=BACKSET(TJ1,6);

TJ3:FILTER(TJ2,5);{第1次的TJ2保持为1不变,其后的5个周期过滤为0}

这样就初步找到了4种方法,可以标记倒数第6天,若想用图标来标记的话,代码例举如下:

TJ1:=ISLASTBAR;{最后一天的条件} TJ2:=BACKSET(TJ1,6); TJ3:=TJ2>REF(TJ2,1);

DRAWICON(TJ3,L,1);

------------------------------------------------------------------------------- 0007--MACD金死叉间最大、最小值

A1:=CROSS(\ A2:=BARSLAST(A1);

A3:=HHVBARS(\

A4:=BACKSET(REF(A3>=1,1) AND \A5:=BACKSET(REF(A4=0,1) AND A4=1,2); 高值:IF(FILTER(A5,2),\DRAWICON(高值>0,高值,4);

B1:=CROSS(0,\ B2:=BARSLAST(B1);

B3:=LLVBARS(\

B4:=BACKSET(REF(B3>=1,1) AND \B5:=BACKSET(REF(B4=0,1) AND B4=1,2); 低值:IF(FILTER(B5,2),\

DRAWICON(低值<0,低值,5);

------------------------------------------------------------------------------- 0008--曲线在N天内的平均变化率

{设A,B,R为三条曲线;N,M等为参数。如:A:MA(C,N);B:=MA(C,M);R:=C/REF(C,1)-1;等等}

FA:=(A/REF(A,N)-1)/N; FB:=(B/REF(B,N)-1)/N;

FR:=(R/REF(R,N)-1)/N;

------------------------------------------------------------------------------- 0009--变动角

{设A,B,R为三条曲线;N,M等为参数。如:A:MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等}

FA:=(A/REF(A,N)-1)/N; FB:=(B/REF(B,N)-1)/N; FR:=(R/REF(R,N)-1)/N;

∮A:=ATAN(FA); ∮B:=ATAN(FB); ∮R:=ATAN(FR);

------------------------------------------------------------------------------- 0010--曲线上相距N天的两点的连线的斜率

{设A,B,R为三条曲线;N,M等为参数。如:A:MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等}

KA:=(A-REF(A,N))/N; KB:=(B-REF(B,N))/N; KR:=(R-REF(R,N))/N;

------------------------------------------------------------------------------- 0011--倾角

{设A,B,R为三条曲线;N,M等为参数。如:A:MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等}

KA:=(A-REF(A,N))/N;

KB:=(B-REF(B,N))/N; KR:=(R-REF(R,N))/N;

∠A:=ATAN(KA);

∠B:=ATAN(KB); ∠R:=ATAN(KR);

------------------------------------------------------------------------------- 0012--交叉点

{设A,B,R为三条曲线;N,M等为参数。如:A:MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等}

CAB:=CROSS(A,B);{交叉}

JAB:=LONGCROSS(A,B,N);{维持-交叉} JYA:=BETWEEN(A,N,M);{介于} FWA:=RANGE(A,N,M);{范围}

------------------------------------------------------------------------------- 0013--下拐点(由下向上转)

{设A,B,R为三条曲线;N,M等为参数。如:A:MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等}

KA:=(A-REF(A,N))/N;

∠A:=ATAN(KA);

XD1:=LLVBARS(A,N)=M;{以N日最低点}

XD2:=REF(COUNT(A-REF(A,1)<=0,N)=N,M) AND COUNT(A-REF(A,1)>0,M)=M;{以M日变化量的正负}

XD3:=REF(COUNT(∠A-REF(∠A,1)<=0,N)=N,M) AND ∠A>0;{以当日变化角的正负} ------------------------------------------------------------------------------- 0014--上拐点(由上向下转)

{设A,B,R为三条曲线;N,M等为参数。如:A:MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等}

KA:=(A-REF(A,N))/N; ∠A:=ATAN(KA);

SD1:=HHVBARS(A,N)=M;{以N日最低点}

SD2:=REF(COUNT(A-REF(A,1)>=0,N)=N,M) AND COUNT(A-REF(A,1)<0,M)=M;{以当日变化量的正负}

SD3:=REF(COUNT(∠A-REF(∠A,1)>=0,N)=N,M) AND ∠A<0;{以当日变化角的正负}

------------------------------------------------------------------------------- 0015--位置(求得交叉点/拐点到当前的周期)

{设A,B,R为三条曲线;N,M等为参数。如:A:MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等}

CAB:=CROSS(A,B);{交叉}

WZ1:=BARSLAST(CAB);{第一(交叉)点的位置}

WZ2:=REF(WZ1,WZ1+1)+WZ1+2;{第二(交叉)点的位置} WZ3:=REF(WZ1,WZ2+1)+WZ2+2;{第三(交叉)点的位置} WZ4:=REF(WZ1,WZ3+1)+WZ3+2;{第四(交叉)点的位置} WZ5:=REF(WZ1,WZ4+1)+WZ4+2;{第五(交叉)点的位置} {WZN:=REF(WZ1,WZ(N-1)+1)+WZ(N-1)+2;}

------------------------------------------------------------------------------- 0016--曲线A叠加曲线B

{设A,B,R为三条曲线;N,M等为参数。如:A:MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等}

F:=A/REF(A,1)-1;{A的变化率}

JS:=REF(B,BARSCOUNT(C));{叠加位置(初始)} DJ:(SUM(F,0)+1)*JS;{叠加曲线(初始位置)}

JD:=REF(B,BARSLAST(条件));{叠加位置(定点)} DJ:=(SUM(F,0)+1)*JD;{叠加曲线(预定位置)}

------------------------------------------------------------------------------- 0017--任意两条指标线在某数以下(或以上)两次金叉的通式

JM:=CROSS(\指标名称.指标线1\指标名称.指标线2\

JMCOUNT:=COUNT(JM,BARSLAST(\指标名称.指标线1(或指标线2)\大于或小于某数));

JMTJ:40*(\指标名称.指标线1(或指标线2)\小于或大于某数)); DRAWTEXT (JMTJ,40,'????二次金叉');

条件选股:60*(JMTJ AND ????),COLORGREEN;

例一:

MACD在0轴线以下二次金叉

JM:=CROSS(\

JMCOUNT:=COUNT(JM,BARSLAST(\

JMTJ:40*(\DRAWTEXT (JMTJ,40,'MACD在0轴线以下二次金叉');

条件选股:60*(JMTJ AND SLOPE(MA(C,5),2)>0),COLORGREEN;

DRAWTEXT (条件选股,50,'5日3%成功率:44.71%');

例二:

KD在60轴线以下二次金叉

JM:=CROSS(\

JMCOUNT:=COUNT(JM,BARSLAST(\

JMTJ:40*(\DRAWTEXT (JMTJ,\在60轴线以下二次金叉');

条件选股:60*(JMTJ AND SLOPE(MA(C,20),3)>0),COLORGREEN;

DRAWTEXT (条件选股,50,'5日3%成功率:50.3%');

例三:

SLOWKD在30轴线以下二次金叉

JM:=CROSS(\

JMCOUNT:=COUNT(JM,BARSLAST(\ JMTJ:28*(\ DRAWTEXT (JMTJ,28,'SLOWKD在30轴线以下二次金叉');

条件选股:50*(JMTJ AND SLOPE(MA(C,20),2)>0),COLORGREEN; -------------------------------------------------------------------------------


教你学股票公式编程&nbsp;-(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:山东省济宁市2018届高三第二次模拟考试语文试题 Word版含答案&nb

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: