以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  MSGOUT同根k线只提示一次  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=57788)

--  作者:zhuangck928
--  发布时间:2013/10/21 11:41:46
--  看代码是否有错误
老师好,请问如何让MSGOUT在同根k线上只提示一次?(盘中每次一有数据进入,满足条件的话,同根k线上会反复提示,看得比较烦。)谢谢!
--  作者:lichenghu
--  发布时间:2013/10/21 13:10:51
--  

IF BARPOS>EXTGBDATA(\'A\') THEN

MSGOUT();

EXTGBDATASET(\'A\',BARPOS);


--  作者:zhuangck928
--  发布时间:2013/10/21 14:04:46
--  
老师能解释下代码意思及原理吗?我感觉这行代码实现的是在一根k线只判断一次。但如果我想实现当根k线在条件condition1 成立后不再判断,是否应改成:

IF BARPOS>EXTGBDATA(\'A\') and condition1 THEN

begin

MSGOUT();

EXTGBDATASET(\'A\',BARPOS);

end;


--  作者:lichenghu
--  发布时间:2013/10/21 14:24:15
--  

 是的,BARPOS在新K线形成的时候值就会变化,而A对应的值只会在MSGOUT后才会刷到最新BARPOS的值

 

所以没输出前BARPOS一直比A大,在输出后2者相等则不会输出

[此贴子已经被作者于2013/10/21 14:24:33编辑过]

--  作者:zhuangck928
--  发布时间:2013/10/21 14:36:20
--  
但是系统提示exitgbdata这个函数会在金字塔或框架关闭后仍然保存,我有好几个框架都要用到,我担心当切换框架后会出现问题。
--  作者:lichenghu
--  发布时间:2013/10/21 14:38:09
--  
  同一个EXTGBDATASET是在整个金字塔范围内共享的,每次开启策略前在工具-数据-全局变量管理器中把对应的值修改为0
--  作者:zhuangck928
--  发布时间:2013/10/21 14:50:30
--  
老师可否用GLOBALVARIABLE实现类似的思路,我遇到的难点是:无法找一个地方自动赋值全局变量为0。谢谢!
--  作者:zhuangck928
--  发布时间:2013/10/21 14:51:51
--  
我这样做的目的是不想每次都修改全局变量。
--  作者:lichenghu
--  发布时间:2013/10/21 14:57:58
--  美股数据是否能接

 用VARIABLE也是可以的,但比较复杂!上述办法比较简单实用

 

对应您代码运行后会在下面全局变量管理找到这个设置的变量,将数值改了0就行了

 

 


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2013/10/21 14:58:15编辑过]