以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  指标函数的使用问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=95032)

--  作者:lance0307
--  发布时间:2016/3/22 16:35:40
--  指标函数的使用问题
请问金字塔的指标函数是否只能用在序列模式下?
--  作者:yukizzc
--  发布时间:2016/3/22 16:47:38
--  
不是啊,也可以用在逐k模式的
--  作者:lance0307
--  发布时间:2016/3/22 17:21:11
--  
那么请问图表化策略能用序列模式吗?
--  作者:王锋
--  发布时间:2016/3/22 17:28:35
--  

使用简单图表交易系统是可以的。

ENTERLONG 等这些。

 

或者还有个方案就是你用逐K线模式的新图表系统,调用序列模式的用户函数的指标返回结果


--  作者:lance0307
--  发布时间:2016/3/22 18:16:09
--  
如果公式是逐K模式,调用序列模式的指标会造成程序崩溃哦



--  作者:王锋
--  发布时间:2016/3/22 18:18:38
--  

那是你的指标编写问题,你可以试试调用系统自带的KDJ等序列指标试试了


--  作者:lance0307
--  发布时间:2016/3/22 18:25:30
--  
那我的指标该怎么写呢?

我遇到这个问题之后,我把指标改成逐K模式,再加载就完全可以啊

指标什么都没改过

--  作者:yukizzc
--  发布时间:2016/3/22 21:49:34
--  

把指标贴下,这边测试


--  作者:lance0307
--  发布时间:2016/3/25 11:29:38
--  
todaybarcount:=TODAYBAR;
a1:=0;
v1:=0;
for pos=barpos-todaybarcount downto barpos-todaybarcount-59 do begin
if pos<1 or (pos>=1 and date[pos]!=date[barpos-todaybarcount]) then begin
break;
end
else begin
a1:=a1+amount[pos];
v1:=v1+vol[pos];
end
end
last1jsj:=a1/v1/multiplier;
last1jsj:=INTPART(last1jsj/MINDIFF);
last1jsj:=last1jsj*MINDIFF;
getlastjsj:last1jsj;
上面就是获取T-1日的结算价的指标代码,我用逐K模式家在在公式上就没有问题,如果把指标改称序列模式加载到公式上就程序崩溃了

--  作者:yukizzc
--  发布时间:2016/3/25 13:36:30
--  
逐K线计算时,控制语句比如IF THEN ,FOR 等语句工作机制是每周期都去执行一次,因此在逐K线模式下,可以利用这种灵活的模式来设计我们的策略,比如加仓、减仓、资金管理策略等等。

    序列模式计算时,控制语句条件允许使用序列变量,由于序列模式只执行一次控制语句解析,对于序列变量,仅取最后一个数据做为条件判断。

 

barpos还有todaybar这类序列变量在for还有if条件控制里都是最后一根k的取值,你这种每根k取自己的序列变量值请使用逐k。有关这个说明可以在模式说明中有提到