以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 函数定义 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=78160) |
-- 作者:germcn -- 发布时间:2015/4/30 11:22:52 -- 函数定义 怎么函数定义 只会初始化一遍 |
-- 作者:pyd -- 发布时间:2015/4/30 11:25:20 -- 具体是什么情况?代码贴下 |
-- 作者:germcn -- 发布时间:2015/4/30 11:33:06 -- VARIABLE:mt=1; if mt>1 then begin 公式... end; 公式 ... mt:=mt+1; 这么写是否 if mt>1 then begin 公式... end 永远不会被执行到,因为他每次都要被初始化为1 如果是这情况 如果写代码 mt初始化后,不会再被初始化 [此贴子已经被作者于2015/4/30 11:33:35编辑过]
|
-- 作者:qq代人发帖 -- 发布时间:2015/4/30 13:52:39 -- 逐K线计算情况下:mt不会每次都初始化的 if语句里面的mt>1时公式可以被执行 例如k线图上第一根k上公式运行一遍结束时mt=2,第二根就满足mt>1公式就执行了。后面k线mt一直累加,mt都满足大于1,公式都被执行。 |
-- 作者:netfox -- 发布时间:2015/4/30 15:13:55 -- 以下是引用germcn在2015/4/30 11:33:06的发言:
VARIABLE:mt=1; if mt>1 then begin
公式...
end;
公式 ...
mt:=mt+1;
这么写是否
if mt>1 then begin
公式...
end 永远不会被执行到,因为他每次都要被初始化为1
如果是这情况 如果写代码 mt初始化后,不会再被初始化
[此贴子已经被作者于2015/4/30 11:33:35编辑过]
加一句 if closetime(1) then mt:=1;
弄一个合适时间初始化一次, 全局变量是全局,每日初始化是每日。 |
-- 作者:germcn -- 发布时间:2015/4/30 15:25:25 -- 我是后台的序列交易方式 也不会每次被初始化吗 |
-- 作者:germcn -- 发布时间:2015/4/30 15:25:38 -- 谢谢指点 |
-- 作者:pyd -- 发布时间:2015/4/30 15:43:28 -- 后台不要用这个全局变量 |
-- 作者:germcn -- 发布时间:2015/4/30 16:00:42 -- 如果我的这种情况 后台就写 mt:=1; 关键每次都初始化 mt为1吗
|
-- 作者:yukizzc -- 发布时间:2015/4/30 16:07:37 -- 看下函数说明,序列模式下variable申明的序列变量会被强制转换为常数,故与普通的常数变量是没有区别的,因此序列模式下的序列变量不要使用variable进行申明。 一般后台你用EXTGBDATASET这种的全局变量定义。 |