以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  如何让公式在周期和序列下都能运行?  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=5052)

--  作者:paulshen
--  发布时间:2011/1/29 0:12:46
--  如何让公式在周期和序列下都能运行?

为了让模型在周期下和序列下都能高效运行,我仿照例子做了个简单公式,如下:

 

RUNMODE:0;

variable:I=0;
variable:STLL=0,STHH=0;

B:barpos,linethick0;
D:datacount,linethick0;

if not(islastbar) then exit;

for I=1 to datacount do begin
 STHH[I]:=HIGH[I];
 STLL[I]:=LOW[I];
 
 if I=1 then begin
  STH[I]:=STHH[I];
  STL[I]:=STLL[I];
 end else begin
  STH[I]:if(STHH[I]>STHH[I-1],STHH[I],STHH[I-1]);
  STL[I]:if(STLL[I]<STLL[I-1],STLL[I],STLL[I-1]); 
 end
end

 

在序列下运行正常,但在周期下显示不出东西。请帮忙看看。

 

这样做的目的是,用Buy等指令在周期下测试,同时能在后台运行在序列模式下。

 

[此贴子已经被作者于2011-1-29 0:13:09编辑过]

--  作者:admin
--  发布时间:2011/1/29 0:25:33
--  
STHH 申明的是全局变量,在著周期模式下是个单值变量,不是数组,试试去掉variable声明
--  作者:paulshen
--  发布时间:2011/1/29 7:43:38
--  如何让公式在周期和序列下都能运行?

谢谢。去掉声明后,效果还是一样。


--  作者:paulshen
--  发布时间:2011/2/11 0:49:18
--  如何让公式在周期和序列下都能运行?

能帮忙调试一下这段公式吗?这是可以运行的完整公式。


--  作者:admin
--  发布时间:2011/2/11 8:16:13
--  

公式汗有了

if not(islastbar) then exit;

这个语句,表示只在最后周期才进行的操作,即便改成了可以逐周期,也没法用在BUY,SELL上的


--  作者:paulshen
--  发布时间:2011/2/11 11:30:00
--  

在周期下,是可以去掉这句的,只是效率低一点。


--  作者:admin
--  发布时间:2011/2/11 11:39:07
--  

去不去掉都一样的,如果是普通指标那么逐周期的意义不大,如果要用BUY,SELL交易系统,是行不通的。

BUY,SELL需要每个周期都执行信号判断才能正常工作,你这个公式需要先计算指标数据然后才能出现信号,违背了BUY,SELL的运行机制。

只能使用ENTERLONG等简单交易系统


--  作者:paulshen
--  发布时间:2011/2/11 12:06:35
--  
你这个说法不对,去掉islastbar判断以后,同样是每个周期都会有指标值,每个周期都能做信号判断。希望你们的工程师能做点调试。
--  作者:paulshen
--  发布时间:2011/2/11 12:08:54
--  

实际情况是,我仅仅允许STHH和STLL也显示指标线,在周期下就能正常运行了。很是奇怪!

 

RUNMODE:0;

//variable:I=0;
//variable:STLL=0,STHH=0;

B:barpos,linethick0;
D:datacount,linethick0;

//if not(islastbar) then exit;

for I=1 to datacount do begin
 STHH[I]:HIGH[I];
 STLL[I]:LOW[I];
 
 if I=1 then begin
  STH[I]:=STHH[I];
  STL[I]:=STLL[I];
 end else begin
  STH[I]:if(STHH[I]>STHH[I-1],STHH[I],STHH[I-1]);
  STL[I]:if(STLL[I]<STLL[I-1],STLL[I],STLL[I-1]); 
 end
end


--  作者:paulshen
--  发布时间:2011/2/11 12:09:33
--  
希望你们对待客户的问题能认真一点。