以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [求助]公式运行变量查看器显示出# (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=188100) |
|
-- 作者:熊猫 -- 发布时间:2021/4/28 22:34:16 -- [求助]公式运行变量查看器显示出#
大神,这是源代码,还是昨天的问题,在使用公式运行变量查看器的时候,显示出##是怎么回事? 品种是pp09,3分钟图,我想统计的是连续亏损2次出现的个数,这个数据在日线图就是正常的,不知道为啥在2分钟图就这样了。 variable:c1=0,loss_num=0,win_num=0,next_num=0,first_open=0,下次开仓量=0,上次开仓量=0; variable:loss1=0,loss2=0,loss3=0,loss4=0; VARIABLE:loss_per=0; variable:n2:=4,n3:=20,n1:=5,m1:=2,m2:=2; MA5:MA(CLOSE,n2); MA10:MA(CLOSE,n3); CONDBUY:=CROSS(MA5,MA10); CONDSELL:=CROSS(MA10,MA5); 平多开空:=CONDSELL and HOLDING>=0; 平空开多:=CONDBUY and HOLDING<=0; d:=date+19000000; 日期条件:=if(d>20201001,1,0); 回测开始时间:BARSLAST( d<20201001); 上次开仓量:=if(holding<>0,abs(holding),n1); if CONDBUY and 日期条件 then SELLSHORT(1,HOLDING,MARKET); if NUMPROFIT(1)<0 and ( CONDBUY) then begin loss1:=loss1+1; END if NUMPROFIT(1)/ENTERPRICE>0.005 and ( CONDBUY) then begin loss1:=0; END if CONDBUY and 日期条件 then buy(1,2,MARKET); if CONDSELL and 日期条件 then sell(1,HOLDING,MARKET) ; if NUMPROFIT(1)<0 and (CONDSELL) then begin loss1:=loss1+1; END if NUMPROFIT(1)/ENTERPRICE>0.005 and (CONDSELL ) then begin loss1:=0; END if condsell and 日期条件 then BUYSHORT(1,2,MARKET); if condbuy and 日期条件 then sellshort(1,HOLDING,MARKET) ; 盈利次数:win_num; 亏损次数:loss_num; 连续亏损2次:count(ref(loss1,1)=2 and loss1=0 ,回测开始时间); 连续亏损3次:count(ref(loss1,1)=3 and loss1=0 ,回测开始时间); 连续亏损4次:count(ref(loss1,1)=4 and loss1=0 ,回测开始时间); |
|
-- 作者:FireScript -- 发布时间:2021/4/29 9:51:03 -- 数据不足导致的。一个日线相当于非常多得2分钟线了。所以你2分钟数据不足的话, 回测开始时间:BARSLAST( d<20201001); 这个变量就出问题了,因为你至少要加载包括这个日期的分钟数据才行。
|