以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- MSGOUT (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=182785) |
-- 作者:gaojb -- 发布时间:2020/10/30 14:10:45 -- MSGOUT 代码如下: //在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线图对照,也不对啊!代码哪里有问题吗?
|
-- 作者:yukizzc -- 发布时间:2020/10/30 14:21:51 -- 在消息栏输出消息,可以使用该函数进行公式调试 用法:MSGOUT(COND,S),当COND为1时,在消息栏输出字符串S 例如:MSGOUT(OPEN<CLOSE,\'大阳线\')在执行公式时,对于逐K线计算模式,只要符合阳线的周期都将会得到输出。对于序列计算模式,最后一个周期COND成立时才进行输出,此时参数S必须是常数。 |
-- 作者:gaojb -- 发布时间:2020/10/30 14:27:45 -- 麻烦在软件上实际跑一下 |