由空间关系确定其关系发生的位置,可以使用BARSLAST函数来实现输出。
网友的留言截图:

网友留意
留言思路需求是依据5日均线与10均日线的交叉关系,确定该交叉发生的时间位置。本文以MA均线为例做出说明。下图为思路需求示意图:

留言思路示意图
思路步骤:
- 空间关系使用CROSS函数进行条件表达;
- 位置确定以BARSLAST函数进行输出。
算法建立:
1.输出两条MA均线
MA5:MA(CLOSE,5),COLORWHITE;
MA10:MA(CLOSE,10),COLORYELLOW;
2. 5日均线向下交叉10均线的位置确定
SCWZ:=CONST(BARSLAST(CROSS(MA10,MA5))),COLORGREEN;
3. 5日均线向上交叉10均线的位置确定
JCWZ:=CONST(BARSLAST(CROSS(MA5,MA10))),COLORRED;
4.交叉位置的标示方法一:垂直线
DRAWSL(CURRBARSCOUNT=SCWZ+1,CLOSE,10000,1024,2),COLORGREEN;
DRAWSL(CURRBARSCOUNT=JCWZ+1,CLOSE,10000,1024,2),COLORRED;
5. 交叉位置的标示方法二:画图标
DRAWICON(CURRBARSCOUNT=SCWZ+1,HIGH*1.003,2);
DRAWICON(CURRBARSCOUNT=JCWZ+1,L,1);
6.输出交叉点处的收盘价格
SCCLOSE:=CONST(REF(CLOSE,SCWZ)),COLORGREEN;
JCCLOSE:=CONST(REF(CLOSE,JCWZ)),COLORRED;
7.跌幅
DF:=IF(SCWZ<JCWZ,(CONST(C)-SCCLOSE)*100/SCCLOSE,DRAWNULL),COLORGREEN;
8.涨幅
ZF:=IF(SCWZ>JCWZ,(CONST(C)-JCCLOSE)*100/JCCLOSE,DRAWNULL),COLORRED;
9.主图标注输出
DRAWTEXT(ISLASTBAR AND DF!=DRAWNULL,H*1.003,STRCAT(‘跌幅 ‘,STRCAT(CON2STR(DF,2),’ %’))),COLORGREEN;
DRAWTEXT(ISLASTBAR AND ZF!=DRAWNULL,L,STRCAT(‘涨幅 ‘,STRCAT(CON2STR(ZF,2),’ %’))),COLORRED;
完整代码一:

代码一
MA5:MA(CLOSE,5),COLORWHITE;
MA10:MA(CLOSE,10),COLORYELLOW;
SCWZ:=CONST(BARSLAST(CROSS(MA10,MA5))),COLORGREEN;
JCWZ:=CONST(BARSLAST(CROSS(MA5,MA10))),COLORRED;
{DRAWSL(CURRBARSCOUNT=SCWZ+1,CLOSE,10000,1024,2),COLORGREEN};
{DRAWSL(CURRBARSCOUNT=JCWZ+1,CLOSE,10000,1024,2),COLORRED};
DRAWICON(CURRBARSCOUNT=SCWZ+1,HIGH*1.003,2);
DRAWICON(CURRBARSCOUNT=JCWZ+1,L,1);
SCCLOSE:=CONST(REF(CLOSE,SCWZ)),COLORGREEN;
JCCLOSE:=CONST(REF(CLOSE,JCWZ)),COLORRED;
DF:=IF(SCWZ<JCWZ,(CONST(C)-SCCLOSE)*100/SCCLOSE,DRAWNULL),COLORGREEN;
ZF:=IF(SCWZ>JCWZ,(CONST(C)-JCCLOSE)*100/JCCLOSE,DRAWNULL),COLORRED;
DRAWTEXT(ISLASTBAR AND DF!=DRAWNULL,H*1.003,STRCAT(‘跌幅 ‘,STRCAT(CON2STR(DF,2),’ %’))),COLORGREEN;
DRAWTEXT(ISLASTBAR AND ZF!=DRAWNULL,L,STRCAT(‘涨幅 ‘,STRCAT(CON2STR(ZF,2),’ %’))),COLORRED;
效果示意图一:

示意图一
完整代码二:

代码二
MA5:MA(CLOSE,5),COLORWHITE;
MA10:MA(CLOSE,10),COLORYELLOW;
SCWZ:=CONST(BARSLAST(CROSS(MA10,MA5))),COLORGREEN;
JCWZ:=CONST(BARSLAST(CROSS(MA5,MA10))),COLORRED;
DRAWSL(CURRBARSCOUNT=SCWZ+1,CLOSE,10000,1024,2),COLORGREEN;
DRAWSL(CURRBARSCOUNT=JCWZ+1,CLOSE,10000,1024,2),COLORRED;
DRAWICON(CURRBARSCOUNT=SCWZ+1,HIGH*1.003,2);
DRAWICON(CURRBARSCOUNT=JCWZ+1,L,1);
SCCLOSE:=CONST(REF(CLOSE,SCWZ)),COLORGREEN;
JCCLOSE:=CONST(REF(CLOSE,JCWZ)),COLORRED;
DF:=IF(SCWZ<JCWZ,(CONST(C)-SCCLOSE)*100/SCCLOSE,DRAWNULL),COLORGREEN;
ZF:=IF(SCWZ>JCWZ,(CONST(C)-JCCLOSE)*100/JCCLOSE,DRAWNULL),COLORRED;
DRAWTEXT(ISLASTBAR AND DF!=DRAWNULL,H*1.003,STRCAT(‘跌幅 ‘,STRCAT(CON2STR(DF,2),’ %’))),COLORGREEN;
DRAWTEXT(ISLASTBAR AND ZF!=DRAWNULL,L,STRCAT(‘涨幅 ‘,STRCAT(CON2STR(ZF,2),’ %’))),COLORRED;
效果示意图二:

示意图二
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/760145
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!