以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [原创]帮忙修改和回答下我的问题,自己解决不了啦  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=28270)

--  作者:期股逍遥
--  发布时间:2012/9/20 16:40:08
--  [原创]帮忙修改和回答下我的问题,自己解决不了啦

看啦论坛里面阿火的帖子,然后自己修改的,但是发现几个问题不能解决,麻烦老师帮忙修改和回答下。

谢谢!

http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=9439

这个是阿火的帖子的地址。

我交易的时候不能等K线走完,只要一出信号就交易。

现在是使用多框架的时候我设置30%的,都是几个品种一起下单,然后提示资金不够,导致不能成交,

所以想用下面的取得实际持仓的数据,不知道对不对。

 

runmode:0;

variable:zs=0,cc=0;

Globalvariable:hold=drawnull;  //放这里对吗

 

 


开多: =。。。。。。。。。。。。; //多头开仓条件

平多:=。。。。。。。。。。。。; //空头平仓条件

开空:=。。。。。。。。。。。。;; //空头开仓条件

平空: :=。。。。。。。。。。。。;; //空头平仓条件


cc800988:=holding;//这句放在信号稳定的地方,即时下单的,就放下单语句的后面,K线走完下单的就放下单语句的前面,是放这里吗

entertime:=time>085959 and time<145900;//我想开盘就成交,只要给出信号,不知道写085959对不对,还有最后1分钟前无条件平仓,不知道写145900对不对

if holding>0 and cc<=0 then sell(1,0,limitr,o); //平多这里是填0还是填30%好?

if holding<0 and cc>=0 then sellshort(1,0,limitr,o);  //平空这里是填0还是填30%好?

if holding=0 and cc>0 then buy(1,30%,limitr,o);

if holding=0 and cc<0 then buyshort(1,30%,limitr,o);

if cc>0 and l<zs then begin

 sell(1,30%,limitr,min(o,zs-0.6)); //不知道-0.6是什么意思,能解释下吗

 cc:=0;

end

if cc<0 and h>zs then begin

 sellshort(1,30%,limitr,max(o,zs+0.6)); //不知道+0.6是什么意思,能解释下吗

 cc:=0;

end

 

if cc>0 and 平多 then cc:=0;  //不知道平多放这里对不对,反正测试有问题

if cc<0 and 平空 then cc:=0; //不知道平空放这里对不对,反正测试有问题

if cc=0 and 开多 and entertime then begin

 cc:=1;

zs:=c-10; //不明白-10是什么意思,麻烦解释下

end

//不知道开多放这里对不对,反正测试有问题

if cc=0 and 开空 and entertime then begin

cc:=-1;

zs:=c+10; //不明白+10是什么意思,麻烦解释下

end

 //不知道平空放这里对不对,反正测试有问题

 

if time>=150000 then begin

 cc:=0;

end

 

 

 

drawtextex(1,1,800,0,\'虚拟持仓为:\'+numtostr(cc800988,0));//在图表上输出虚拟持仓以便监控,

感觉这句有问题,放上去后,图形就差不多是一条直线啦,问下怎么解决
if not(islastbar) or workmode<>1 then exit;
xiadan800988:=cc800988-hold;
if xiadan800988>0.5 then begin
cang:=min(xiadan800988,abs(hold));
if hold<0 then tsellshort(1,cang,mkt,0,0,\'800988\'),allowrepeat;
cang:=xiadan800988+min(hold,0);
if cang>0 then tbuy(1,cang,mkt,0,0,\'800988\'),allowrepeat;
end
if xiadan800988<-0.5 then begin
cang:=min(abs(xiadan800988),abs(hold));
if hold>0 then tsell(1,cang,mkt,0,0,\'800988\'),allowrepeat;
cang:=abs(xiadan800988)-max(hold,0);
if cang>0 then tbuyshort(1,cang,mkt,0,0,\'800988\'),allowrepeat;
end
hold:=cc800988;


我使用的时候,已经改成我自己的账户号码的
--  作者:王锋
--  发布时间:2012/9/20 17:11:04
--  

这是后台的代码,你放到图表上当然无法正常显示了。

后台的代码编写需要相对较高的用户基础水平,请认真学习 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332 问题4中的后台调试技巧,如果你无法胜任这个工作,那么只能劝你暂时放弃后台,使用图表交易


--  作者:期股逍遥
--  发布时间:2012/9/21 15:21:47
--  
谢谢,斑竹的回答,但是我的问题还是没解决。谁能回答我红色字体的问题啊