以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  IF语句中的变量问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=848)

--  作者:拈花逐影
--  发布时间:2010/2/3 15:37:36
--  IF语句中的变量问题

对IF语句中的变量如何执行判断的,有点困惑,请斑竹指教

例如今天FU05最高价4508,现在收盘价4598

 

IF CLOSE>4500 THEN
BEGIN

 ACTIVE:=1;
 DEBUGFILE(\'E:\\DEBUG.txt\',\'HERE EXECUTED%.0f\',ACTIVE);
 EXTGBDATASET(STKLABEL&\'ACTIVE\',1);
END

对上面语句,会发现DEBUGFILE中没有输出,但是全局变量却执行了设置,有点困惑,请斑竹指教


--  作者:拈花逐影
--  发布时间:2010/2/3 15:51:32
--  
补充一句,使用的是1分钟周期。
--  作者:admin
--  发布时间:2010/2/3 17:09:30
--  

原因很简单,

你看DEBUGFILE的说明就知道,他只在最后一个周期才执行的函数,FU05最后一个价格是4498,所以不会执行DEBUGFILE的部分,你指的全局变量有数据,那是因为全局变量没有最后一个周期的限制,是之前的周期满足条件后写进去的.

DEBUGFILE只所以使用最后一个周期来完成数据写入,是基于效率考虑,因为DEBUGFILE是给做后台程式化交易调试用的,金字塔的后台程式化交易的指令都是基于最后一个周期的信号发出


--  作者:拈花逐影
--  发布时间:2010/2/3 18:20:29
--  

明白了,谢谢!