以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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