以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 今天早上不交易,昨晚上都一直在交易,怎么回事???? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=86488) |
-- 作者:高万福 -- 发布时间:2015/10/22 10:31:44 -- 今天早上不交易,昨晚上都一直在交易,怎么回事???? GLOBALVARIABLE:n=0,m=1; GLOBALVARIABLE:tt=0; c1:=VALUEWHEN(TODAYBAR=1,c); if m>c1 then tbuy(1,1,mkt) if m=n+1 and c>c1-10*(n+1) and c<c1-10*n and time<>tt then begin tbuy(1,10*n,mkt); n:=n+1; m:=m+1; tt:=time; end GLOBALVARIABLE:n1=0,m1=1; GLOBALVARIABLE:tt1=0; c11:=VALUEWHEN(TODAYBAR=1,c); if c<c11 then tbuyshort(1,1,mkt); if m1=n1+1 and c<=c11+10*(n1+1) and c>c11+10*n1 and time<>tt1 then begin tbuyshort(1,10*n,mkt); n1:=n1+1; m1:=m1+1; tt1:=time; end PD:=(DYNAINFO(7)-TAVGENTERPRICEEX2(\'\',\'\',0))*TBUYHOLDING(1)*DYNAINFO(209)>200; PK:=(TAVGENTERPRICEEX2(\'\',\'\',1)-DYNAINFO(7))*TSELLHOLDING(1)*DYNAINFO(209)>200; debugfile(\'D:\\test.txt\',\'当前盈亏为%.2f\',TOPENPROFIT); 盈亏:=(DYNAINFO(7)-TAVGENTERPRICEEX2(\'\',\'\',0))*TBUYHOLDING(1)*DYNAINFO(209); debugfile(\'D:\\test2.txt\',\'当前盈亏为%.2f\',盈亏); if PD THEN tsell(1,TbuyHOLDING(1),mkt); if PK THEN tsellshort(1,TSELLHOLDING(1),mkt); 老师,这是源码,昨晚上一直在交易,今天早上就不交易了,怎么回事??????
|
-- 作者:jinzhe -- 发布时间:2015/10/22 10:33:19 -- 晚上交易表示晚上开仓条件满足,早上不交易表示早上交易条件不满足
|
-- 作者:高万福 -- 发布时间:2015/10/22 10:35:14 -- 问题是我的策略是大于第一根K或小于第一根K交易呢,昨天白天也一直交易呢,问题出在什么地方??? |
-- 作者:高万福 -- 发布时间:2015/10/22 10:37:20 -- 今天早上一次都没有交易 |
-- 作者:高万福 -- 发布时间:2015/10/22 10:42:12 -- 再说昨晚上最后一次成交价比今天早上现价都低啊,为什么没有过成交啊 |
-- 作者:jinzhe -- 发布时间:2015/10/22 10:47:28 -- 条件不成立,开仓条件里面有多个条件 请逐一调试输出查找原因是哪个应该成立的条件不成立 |
-- 作者:高万福 -- 发布时间:2015/10/22 11:25:15 -- 老师,我发现今天早上打开是判断的今天早上的第一根K,是不是改成取一个周期的开盘价就不会出现今天这种情况?? |
-- 作者:jinzhe -- 发布时间:2015/10/22 11:29:03 -- 这些推测不出结果的,还是要调试原因。用debugfile进行调试,我在其他帖子里面看到其他工作人员已经给出调试的方法了,请按照调试方法进行对条件的调试。 |
-- 作者:高万福 -- 发布时间:2015/10/22 11:32:06 -- 我把两个策略分开放在一个两个品种上面就一直在成交,把两个策略放在一个里面,昨晚上有留仓,今天早上就不成交 |
-- 作者:jinzhe -- 发布时间:2015/10/22 13:36:51 -- GLOBALVARIABLE:n=0,m=1; GLOBALVARIABLE:tt=0; c1:=VALUEWHEN(TODAYBAR=1,c); if m>c1 and tholding=0 then tbuy(1,1,mkt) if m=n+1 and c>c1-10*(n+1) and c<c1-10*n and time<>tt and tholding>0 then begin tbuy(1,10*n,mkt); n:=n+1; m:=m+1; tt:=time; end GLOBALVARIABLE:n1=0,m1=1; GLOBALVARIABLE:tt1=0; c11:=VALUEWHEN(TODAYBAR=1,c); if c<c11 and tholding=0 then tbuyshort(1,1,mkt); if m1=n1+1 and c<=c11+10*(n1+1) and c>c11+10*n1 and time<>tt1 and tholding<0 then begin tbuyshort(1,10*n,mkt); n1:=n1+1; m1:=m1+1; tt1:=time; end |