共20 条记录, 每页显示 10 条, 页签:
[1]
[2]
1楼
liyuan0050 发表于:2021/3/11 21:42:09
老师你好,我的诉求是:EXPMA(指数平滑移动平均线)两条(5日和20日线),5日线上穿20日线,K线(阴K线阳K线)变红色,5日线下穿20线,K线(阴K线阳K线)变绿色。
变红色,K线下方提示“看多”的文字;变绿色,K线上方提示“看空”的文字。
提示“看多”“看空”的同时带上声音提示。 请老师帮我定一下码,谢谢!
2楼
FireScript 发表于:2021/3/12 10:27:33
//从expma里抽取的代码
N:=4;
wx:=DRAWNULL;
M1:EMA(CLOSE,5);
M3:EMA(CLOSE,20)*if(n<3,wx,1);
cd1:cross(m1,m3);
cd2:cross(m3,m1);
DRAWTEXT(cd1,h,'看多');
DRAWTEXT(cd2,l,'看空');
SPEAK(cd1,h,'看多');
SPEAK(cd2,l,'看空');
K线变色那个没有直接函数,要额外画,稍候处理下。先把主干逻辑贴上来。
3楼
liyuan0050 发表于:2021/3/12 16:02:26
4楼
FireScript 发表于:2021/3/12 16:24:53
N:=4;
wx:=DRAWNULL;
M1:EMA(CLOSE,5);
M3:EMA(CLOSE,20)*if(n<3,wx,1);
cd1:cross(m1,m3);
cd2:cross(m3,m1);
cd:c>=o;//区分阴阳线的,与上面三个条件无关
STICKLINE(cd1 or cd2 ,C,o,8,if(cd,1,0),if(cd1,COLORYELLOW,COLORGREEN));//绘制柱体
//绘制上下影线
STICKLINE(cd1 or cd2,if(not(cd),O,c),h,0,if(cd,1,0),if(cd1,COLORYELLOW,COLORGREEN));
STICKLINE(cd1 or cd2,if(cd,O,c),L,0,if(cd,1,0),if(cd1,COLORYELLOW,COLORGREEN));
DRAWTEXT(cd1,h,'看多');
DRAWTEXT(cd2,l,'看空');
SPEAK(cd1,h,'看多');
SPEAK(cd2,l,'看空');
颜色你可以自己再改下。
实际效果大致如下:

此主题相关图片如下:temp.png

5楼
liyuan0050 发表于:2021/3/12 17:00:19
老师,这个“看多”后的K线全部弄成红色的,“看空”后的K线全部弄成绿色的。这样,码该怎么写?
6楼
FireScript 发表于:2021/3/12 17:02:38
N:=4;
wx:=DRAWNULL;
M1:EMA(CLOSE,5);
M3:EMA(CLOSE,20)*if(n<3,wx,1);
cd1:cross(m1,m3);
cd2:cross(m3,m1);
cd:c>=o;//区分阴阳线的,与上面三个条件无关
STICKLINE(cd1 or cd2 ,C,o,8,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));//绘制柱体
//绘制上下影线
STICKLINE(cd1 or cd2,if(not(cd),O,c),h,0,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));
STICKLINE(cd1 or cd2,if(cd,O,c),L,0,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));
DRAWTEXT(cd1,h,'看多');
DRAWTEXT(cd2,l,'看空');
SPEAK(cd1,'看多');
SPEAK(cd2,'看空');
前面没留意,speak函数参数搞错了。你替换成上面的。 颜色改成红和绿了。
7楼
liyuan0050 发表于:2021/3/12 22:24:16
谢谢老师,现在是在“看多”和”看空“的当根K线是红色和绿色,能不能在“看多”的当根K线和之后的K线都是红色,直到是“看空”的当根K线变为绿色之后的K线也都是绿色,如此反复.
8楼
FireScript 发表于:2021/3/15 9:51:05
cd1:cross(m1,m3);
cd2:cross(m3,m1);
改成
cd1:m1>m3;
cd2:m3>m1;
9楼
liyuan0050 发表于:2021/3/15 12:07:53
老师这样修改后K线是全部变红或变绿了,但是每根K线都在提示”看多“或”看空“,我是想设成只在第一根K线变色时有提示”看多“或”看空“的文字,该怎么写码?
10楼
FireScript 发表于:2021/3/15 13:14:01
N:=4;
wx:=DRAWNULL;
M1:EMA(CLOSE,5);
M3:EMA(CLOSE,20)*if(n<3,wx,1);
cd1:m1>m3;
cd2:m3>m1;
cd:c>=o;//区分阴阳线的,与上面三个条件无关
STICKLINE(cd1 or cd2 ,C,o,8,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));//绘制柱体
//绘制上下影线
STICKLINE(cd1 or cd2,if(not(cd),O,c),h,0,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));
STICKLINE(cd1 or cd2,if(cd,O,c),L,0,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));
DRAWTEXT(cross(m1,m3),h,'看多');
DRAWTEXT(cross(m3,m1),l,'看空');
SPEAK(cross(m1,m3),'看多');
SPEAK(cross(m3,m1),'看空');
共20 条记录, 每页显示 10 条, 页签:
[1]
[2]