以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]日内策略变量无法赋值?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=137639)

--  作者:grayelf
--  发布时间:2016/8/7 21:23:11
--  [求助]日内策略变量无法赋值?
 运行在5分钟k线,我现在新交易日出现的时候记录当天开盘价,最高价,最低价,上一日收盘价。
但是shelf+q查看变量值,变量值都是##。。。why?

if date<>ref(date,1) then begin
    daylow:=low;
    dayhigh:=high;
    dayopen:=open;
    lastdayclose:=ref(close,1);
    lastdaybars:=1;
    cs:=1;
    End
else BEGIN
    dayhigh:=max(ref(dayhigh,1),high);
    daylow:=min(ref(daylow,1),low);
    dayopen:=ref(dayopen,1);
    lastdaybars:=ref(lastdaybars,1)+1;
    lastdayclose:=ref(lastdayclose,1);
    End


--  作者:jinzhe
--  发布时间:2016/8/8 9:15:27
--  
用的是序列计算还是逐k线计算?
--  作者:grayelf
--  发布时间:2016/8/8 13:28:33
--  
 序列模式
--  作者:jinzhe
--  发布时间:2016/8/8 13:33:39
--  

你这样写要用逐k线计算才能实现,然后代码这样改:

c1:=ref(c,1);
if date<>ref(date,1) then begin
    daylow:=low;
    dayhigh:=high;
    dayopen:=open;
    lastdayclose:=c1;
    lastdaybars:=1;
    cs:=1;
End

h1:=ref(dayhigh,1);
l1:=ref(daylow,1);
o1:=ref(dayopen,1);
lb1:=ref(lastdaybars,1);
ldc:=ref(lastdayclose,1);
if date=ref(date,1) then  BEGIN
    dayhigh:=max(h1,high);
    daylow:=min(l1,low);
    dayopen:=o1;
    lastdaybars:=lb1+1;
    lastdayclose:=ldc;
 End


--  作者:jinzhe
--  发布时间:2016/8/8 13:34:24
--  

有个简单的方法来记录当天开盘价,最高价,最低价,上一日收盘价。

o1:valuewhen(todaybar=1,o);

hh:hhv(h,todaybar);

ll:llv(l,todaybar);

cc:ref(c,todaybar);


--  作者:grayelf
--  发布时间:2016/8/9 21:38:37
--  
 好的,非常感谢!