以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 这个求结算价的公式,编译通不过,是怎么回事 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=63378) |
|
-- 作者:lsg2005616 -- 发布时间:2014/4/1 14:14:27 -- 这个求结算价的公式,编译通不过,是怎么回事
|
|
-- 作者:lsg2005616 -- 发布时间:2014/4/1 14:14:58 -- 老师请查看一下 |
|
-- 作者:jinzhe -- 发布时间:2014/4/1 14:17:36 -- 前面1,2,3这类序号去掉, 多学学怎么写代码,这个问题一眼就能看明白 |
|
-- 作者:lsg2005616 -- 发布时间:2014/4/1 14:39:45 -- 现在是去了也不行 ,说settlementprice变量名重复 |
|
-- 作者:jinzhe -- 发布时间:2014/4/1 14:40:32 -- 发代码 |
|
-- 作者:lsg2005616 -- 发布时间:2014/4/1 14:47:11 -- if strcmp(marketlabel,\'SQ\')=0 then begin label:=strleft(stklabel,2); if strcmp(label,\'CU\')=0 then begin pricelimit:=0.06; marginlevel:=0.16; commission:=0.03; goto next2@; end; if strcmp(label,\'AL\')=0 then begin pricelimit:=0.06; marginlevel:=0.14; commission:=6; goto next2@; end; if strcmp(label,\'ZN\')=0 then begin pricelimit:=0.06; marginlevel:=0.17; commission:=12; goto next2@; end; if strcmp(label,\'RU\')=0 then begin pricelimit:=0.06; marginlevel:=0.18; commission:=0.015; goto next2@; end; if strcmp(label,\'AU\')=0 then begin pricelimit:=0.06; marginlevel:=0.14; commission:=45; goto next2@; end; if strcmp(label,\'FU\')=0 then begin pricelimit:=0.06; marginlevel:=0.16; commission:=3; goto next2@; end; if strcmp(label,\'RB\')=0 then begin pricelimit:=0.06; marginlevel:=0.16; commission:=0.015; goto next2@; end; if strcmp(label,\'WR\')=0 then begin pricelimit:=0.06; marginlevel:=0.15; commission:=0.015; goto next2@; end; end; if strcmp(marketlabel,\'DQ\')=0 then begin label:=strleft(stklabel,1); if strcmp(label,\'A\')=0 then begin pricelimit:=0.06; marginlevel:=0.15; commission:=6; goto next2@; end; if strcmp(label,\'B\')=0 then begin pricelimit:=0.06; marginlevel:=0.15; commission:=6; goto next2@; end; if strcmp(label,\'C\')=0 then begin pricelimit:=0.06; marginlevel:=0.14; commission:=3; goto next2@; end; if strcmp(label,\'M\')=0 then begin pricelimit:=0.06; marginlevel:=0.15; commission:=5; goto next2@; end; |
|
-- 作者:lsg2005616 -- 发布时间:2014/4/1 14:47:28 -- if strcmp(label,\'Y\')=0 then begin pricelimit:=0.06; marginlevel:=0.15; commission:=8; goto next2@; end; if strcmp(label,\'L\')=0 then begin pricelimit:=0.06; marginlevel:=0.16; commission:=12; goto next2@; end; if strcmp(label,\'P\')=0 then begin pricelimit:=0.06; marginlevel:=0.16; commission:=6; goto next2@; end; if strcmp(label,\'V\')=0 then begin pricelimit:=0.06; marginlevel:=0.16; commission:=12; goto next2@; end; end; if strcmp(marketlabel,\'ZQ\')=0 then begin label:=strleft(stklabel,2); if strcmp(label,\'WT\')=0 then begin pricelimit:=0.06; marginlevel:=0.15; commission:=3; goto next2@; end; if strcmp(label,\'WS\')=0 then begin pricelimit:=0.06; marginlevel:=0.14; commission:=3; goto next2@; end; if strcmp(label,\'ER\')=0 then begin pricelimit:=0.06; marginlevel:=0.16; commission:=3; goto next2@; end; if strcmp(label,\'CF\')=0 then begin pricelimit:=0.06; marginlevel:=0.17; commission:=12; goto next2@; end; if strcmp(label,\'SR\')=0 then begin pricelimit:=0.06; marginlevel:=0.17; commission:=6; goto next2@; end; if strcmp(label,\'TA\')=0 then begin pricelimit:=0.06; marginlevel:=0.16; commission:=8; goto next2@; end; if strcmp(label,\'RO\')=0 then begin pricelimit:=0.06; marginlevel:=0.16; commission:=6; goto next2@; end; end; if strcmp(marketlabel,\'ZJ\')=0 then begin label:=strleft(stklabel,2); if strcmp(label,\'IF\')=0 then begin pricelimit:=0.1; marginlevel:=0.2; commission:=0.008; goto next3@; end; end; next2@; begintime:=time>=092000 and time<=145500; endtime:=time>=150000; n:=barslast(time=090500)+1; settlementprice:if(time=150000,trimprice(sum(vol*close,n)/sum(vol,n)),0); goto next4@; next3@; begintime:=time>=093000 and time<=151000; endtime:=time>=151500; n:=barslast(time=141500)+1; settlementprice:if(time=151500,trimprice(sum(vol*close,n)/sum(vol,n)),0); goto next4@; next4@; |
|
-- 作者:lsg2005616 -- 发布时间:2014/4/1 14:48:11 -- 太长了,分成两节 |
|
-- 作者:jinzhe -- 发布时间:2014/4/1 14:57:58 -- 你怎么乱删? settlementprice:if(time=151500,trimprice(sum(vol*close,n)/sum(vol,n)),0); 这个原来的是 settlementprice:=if(time=151500,trimprice(sum(vol*close,n)/sum(vol,n)),0);
中间有等号的,删了之后就不是赋值而是显示数据线,你定义两个同样名字的线当然不行了 把两个定义都加上等号 然后在公式最后写上 ss:settlementprice; |
|
-- 作者:lsg2005616 -- 发布时间:2014/4/1 16:29:39 -- 继续请教一下,有了这个结算价的计算方法,怎么在公式中引用这个结算价? |