Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:MSGOUT

1楼
gaojb 发表于:2020/10/30 14:10:45
代码如下:

//在3分钟K线上提示均线金叉、死叉和KD高位死叉、低位金叉

//初始化变量
MAJC:=0;
MASC:=0;
KDGWSC:=0;
KDDWJC:=0;
//是否到达3分钟
MINUTE_3:=MOD(MOD(INTPART(dynainfo(207)/100),100)*100,3);

//均线
MA_1:=MA(CLOSE,MA1);
MA_2:=MA(CLOSE,MA2);
MA_3:=MA(CLOSE,MA3);

//KD
RSV:=(CLOSE-LLV(LOW,KD_N))/(HHV(HIGH,KD_N)-LLV(LOW,KD_N))*100;
K:=SMA(RSV,KD_P1,1);
D:=SMA(K,KD_P2,1);

//信号
//三均线金叉
MAJC:= MA_1>MA_2 AND MA_2>MA_3 AND NOT(REF(MA_1,1)>REF(MA_2,1) AND REF(MA_2,1)>REF(MA_3,1));
输出消息1:= STKNAME()+' 三均线金叉';
SPEAK(MAJC,输出消息1);
MSGOUT(MAJC AND MINUTE_3=0,输出消息1);

//三均线死叉
MASC:= MA_1<MA_2 AND MA_2<MA_3 AND NOT(REF(MA_1,1)<REF(MA_2,1) AND REF(MA_2,1)<REF(MA_3,1));
输出消息2:= STKNAME()+' 三均线死叉';
SPEAK(MASC,输出消息2);
MSGOUT(MASC AND MINUTE_3=0,输出消息2);

//KD高位死叉
KDGWSC:= REF(K,1)>75 AND REF(D,1)>75 AND CROSS(D,K);
输出消息3:= STKNAME()+' KD高位死叉';
SPEAK(KDGWSC,输出消息3);
MSGOUT(KDGWSC AND MINUTE_3=0,输出消息3);

//KD低位金叉
KDDWJC:= REF(K,1)<22 AND REF(D,1)>22 AND CROSS(K,D);
输出消息4:= STKNAME()+' KD低位金叉';
SPEAK(KDDWJC,输出消息4);
MSGOUT(KDDWJC AND MINUTE_3=0,输出消息4);

运行模式是逐K线(仅刷最后一根K线)

输出是这样的:
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 KD高位死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 KD高位死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 KD高位死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉
2020/10/30 13:54:01  300_11跨4800 三均线死叉
2020/10/30 13:54:01  300_11跨4800 三均线金叉

问题:这是什么情况?每条K线对应一行数据吗?和K线图对照,也不对啊!代码哪里有问题吗?
2楼
yukizzc 发表于:2020/10/30 14:21:51

在消息栏输出消息,可以使用该函数进行公式调试

用法:MSGOUT(COND,S),当COND为1时,在消息栏输出字符串S

例如:MSGOUT(OPEN<CLOSE,'大阳线')在执行公式时,对于逐K线计算模式,只要符合阳线的周期都将会得到输出。对于序列计算模式,最后一个周期COND成立时才进行输出,此时参数S必须是常数。
所属函数组:特色函数

3楼
gaojb 发表于:2020/10/30 14:27:45
麻烦在软件上实际跑一下
共3 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in .05078 s, 3 queries.