Rss & SiteMap

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

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

标题:昨天在QQ群问了客服一个问题还没有得到解答

1楼
sven0321 发表于:2012/11/15 8:39:21

我编了一段小代码想测试extgbdata 和extgbstring 用的图表模式测试的 品种是CF00

 

extgbdataset('a1',0);

 

if extgbdata('a1')=0 then begin
extgbdataset('a1',extgbdata('a1')+1);

end;


if extgbdata('a1')=1 then begin
EXTGBSTRINGSET( '多头品种',stklabel);
end;

 

if EXTGBSTRING('多头品种')= "CF00" then begin
EXTGBSTRINGSET( '多头品种','ax00');
end;

 

a4:extgbstring('多头品种'),linethick0;

drawtext(1,100,a4);

a2:extgbdata('a1'),linethick0;

 

按照我的想法是 DRAWTEXT的显示 应该是AX00 可是结果是CF00也就是当前的STKLABEL 通过单步调试 上面代码红色部分 IF判断条件不成立 直接跳过了 我很疑惑 不知道问题是在哪

2楼
jinzhe 发表于:2012/11/15 9:18:16

工作人员测试中,请稍候

3楼
董小球 发表于:2012/11/15 9:25:48
extgbdata 这种全局变量是一个单一数值的变量,如果你在图表交易中使用,并且作为下单信号的判断条件的话,他的变化会不断影响你的历史信号。

http://www.weistock.com/WeisoftHelp/zbgs003.htm

另外,你的红色语句无效是因为你不能用 =来判断字符串,只有数值才能用=来判断是否相等
EXTGBSTRING('多头品种')= "CF00"   

对于字符串应该用STRCMP函数来比较

下面这么写,就对了:
if STRCMP(EXTGBSTRING('多头品种') , 'CF00')=0 then begin
EXTGBSTRINGSET( '多头品种','ax00');
end;
4楼
jinzhe 发表于:2012/11/15 9:32:26

""是引用

 

可以在公式里面进行如下修改

nn:=stklabel;
 

if EXTGBSTRING('多头品种')= nn then begin
EXTGBSTRINGSET( '多头品种','ax00');
end

 

 

可以得到预期的结果

5楼
jinzhe 发表于:2012/11/15 9:33:13

这样的公式问题不要在群里问客服,此类的公式问题统一在论坛上处理


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20121115093217.png
图片点击可在新窗口打开查看

6楼
sven0321 发表于:2012/11/15 13:09:22
嗯 懂了 多谢楼上2位的解答
共6 条记录, 每页显示 10 条, 页签: [1]


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