Rss & SiteMap

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

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

标题:[求助]stkindi调用问题

1楼
dsyang 发表于:2013/12/31 15:33:26
1.问题1
sp1:='cu1403'; 
INPUT:dotime(2);
macd_sp1:=stkindi(sp1,'macd.macd1',0,dotime,0);
macd_sp1_1:=stkindi(sp1,'macd.MACD1',0,dotime,-1);
macd_sp1_2:=stkindi(sp1,'macd.MACD1',0,dotime,-2);
 我 的目地是调用,sp1(商品1,可自己选择代码),想取到macd数据5分钟,最后一根,倒数第二根,倒数第三根 的macd.macd1的数据
但是 输出来变成
2013/12/31 15:26:47  -0.#QNAN
2013/12/31 15:26:47  -1.#QNAN
2013/12/31 15:26:47  -0.#QNAN
这个是怎么回事。很多时候 都是 #QNAN
1.问题2
上面的最后一个参数0,-1,-2  是不是表示最后一根,倒数第二根,倒数第三根。
如果是新的一根K线出来,是不是 还是一样表示最后一根,倒数第二根,倒数第三根。
2楼
jinzhe 发表于:2013/12/31 15:40:44

输出代码写错了,你输出代码是怎么写的?

3楼
dsyang 发表于:2013/12/31 15:53:12
MSGOUT(1,numtostr(macd_sp1_1,5));
MSGOUT(1,numtostr(macd_sp1,5));
MSGOUT(1,numtostr(macd_sp1_2,5));
输出 要看数值是不是我 macd 取出来的值
4楼
dsyang 发表于:2013/12/31 15:53:44
上面的最后一个参数0,-1,-2  是不是表示最后一根,倒数第二根,倒数第三根。
如果是新的一根K线出来,是不是 还是一样表示最后一根,倒数第二根,倒数第三根。
5楼
王锋 发表于:2013/12/31 15:58:20

sp1:='cu1403';

金字塔是没有这种品种代码的,你可以按下F2,看看动态牌上的代码是什么样的格式

6楼
RogarZ 发表于:2013/12/31 17:08:07
仔细阅读下 函数说明  参照函数说明的写法 书写
7楼
dsyang 发表于:2014/1/2 12:05:59

macd_sp1:=stkindi(sp1,'macd.macd1',0,dotime,0);
macd_sp1_1:=stkindi(sp1,'macd.MACD1',0,dotime,-1);
macd_sp1_2:=stkindi(sp1,'macd.MACD1',0,dotime,-2);
这个取值的问题,就是要把数据窗口打开才能正确显示,真的太不爽了。如果没有打开数据窗口就显示乱码。这个软件真的要优化一下。我一下子要取5个或10个商品那要打开10个窗口。
把这里面的数据 代入我的定定义函数,算出来的值,都是0,怎么回事啊!我一般用逐K线模式。序列模拟试试也是一样的结果!
csp1:=checkmacd(macd_sp1,macd_sp1_1,macd_sp1_2);
MSGOUT(1,numtostr(csp1,2));
值都是0 ,请问一下是什么问题啊!我都快搞崩溃了!

Function checkmacd(Formula,sn1,sn2,sn3)
    '系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
    checkmacd=0
    if sn1>0 and sn2<0 then checkmacd=1
    if sn1>0 and sn2>0 and sn3<0 then checkmacd=1
    if sn1<0 and sn2>0 then checkmacd=-1
    if sn1<0 and sn2<0 and sn3>0 then checkmacd=-1
    

End Function

8楼
jinzhe 发表于:2014/1/2 13:08:28

sp1:='cu1403'; 

改成

sp1:='cu03';

9楼
dsyang 发表于:2014/1/2 14:21:31
这个早改了。数据也能取得到了

sp1:='cu1403'; 

改成

sp1:='cu03';

10楼
dsyang 发表于:2014/1/2 14:22:24
现在是这个问题了!


macd_sp1:=stkindi(sp1,'macd.macd1',0,dotime,0);
macd_sp1_1:=stkindi(sp1,'macd.MACD1',0,dotime,-1);
macd_sp1_2:=stkindi(sp1,'macd.MACD1',0,dotime,-2);
这个取值的问题,就是要把数据窗口打开才能正确显示,真的太不爽了。如果没有打开数据窗口就显示乱码。这个软件真的要优化一下。我一下子要取5个或10个商品那要打开10个窗口。
把这里面的数据 代入我的定定义函数,算出来的值,都是0,怎么回事啊!我一般用逐K线模式。序列模拟试试也是一样的结果!
csp1:=checkmacd(macd_sp1,macd_sp1_1,macd_sp1_2);
MSGOUT(1,numtostr(csp1,2));
值都是0 ,请问一下是什么问题啊!我都快搞崩溃了!

Function checkmacd(Formula,sn1,sn2,sn3)
    '系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
    checkmacd=0
    if sn1>0 and sn2<0 then checkmacd=1
    if sn1>0 and sn2>0 and sn3<0 then checkmacd=1
    if sn1<0 and sn2>0 then checkmacd=-1
    if sn1<0 and sn2<0 and sn3>0 then checkmacd=-1
    

End Function

共14 条记录, 每页显示 10 条, 页签: [1] [2]


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