以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  学习Variable型全局变量的困惑  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=67902)

--  作者:LT-IQH89
--  发布时间:2014/7/28 10:11:07
--  学习Variable型全局变量的困惑

1variable:n=1;    //控制条件交易量

   variable:num=0;//控制条件交易次数

两个或两个以上是否可以同时成立使用;

2if 条件  then begin

   buyshort(1,n,market);

   n:=n*2;

end

在这上面条件语句中,是否有循环?是“条件”、还是“n;

3、有没有——信号语句排列规则——先平后开

4、能不能与

平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号

一起使用?


--  作者:yukizzc
--  发布时间:2014/7/28 10:14:47
--  

1.可以一起用

2.没有循环啊,这个逻辑就是条件成立就开空n手,然后将全局变量n乘2赋值给n

 

3.开平语句顺序如下

平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号
平多:SELL(PD,1,THISCLOSE);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号

 

4.什么与平空一起使用?1里面的全局变量吗,这个可以啊


--  作者:LT-IQH89
--  发布时间:2014/7/28 10:28:39
--  
谢谢老师

3.开平语句顺序

平空:SELLSHORT(条件,1,THISCLOSE); 

if  条件 then begin

   sellshort(1,0,market);

  n:=n*2;

end

if  条件  then begin

   buyshort(1,n,market);

  n:=n*2;

end

老师,是这样也可以?顺序有没有问题?




--  作者:pyd
--  发布时间:2014/7/28 10:39:30
--  
可以
--  作者:LT-IQH89
--  发布时间:2014/7/28 11:00:01
--  

variable:num=0;//控制条件交易次数

平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号

if条件AND num<1  then begin

   减仓:SELLSHORT(1,50%,THISCLOSE);

   num:=num+1;

end

开空建仓:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号

开空加仓1:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号

开空加仓2:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号

 

上面语句结构,信号都有,但是增加

variable:n=1;    //控制条件交易量

variable:num=0;//控制条件交易次数

把所有开、平语句全部变为条件语句输出,出现“减仓”“ 开空加仓2”信号没有了,不知原因。

请老师指教,谢谢。

 


--  作者:yukizzc
--  发布时间:2014/7/28 11:17:20
--  

你开空语句里有holding=0的限制,有仓位后是不会再去开仓的。

减仓没信号,你看下是不是没有持仓了自己输出holding在图上看下


--  作者:pyd
--  发布时间:2014/7/28 11:19:34
--  

n=1在哪里有用到?

减仓有num<1的限制 只会减仓一次。

加仓条件有holding=0 的限制,如果已经有持仓加仓条件就不成立。


--  作者:LT-IQH89
--  发布时间:2014/7/28 11:44:16
--  
谢谢两位老师的指导;
仅仅通过variable:n=1;  来控制条件交易量;
问题是,开、平的所有条件不变,
只改变了语句,如:
if  减仓条件 AND ABS(HOLDING)>0 AND num<1 then begin
   减仓:SELLSHORT(1,50%,THISCLOSE);
   num:=num+1;
end 

if 建仓条件 and holding=0 then begin
   建仓:BUYSHORT(holding=0,N,market);
   n:=N*2;
end

if 加仓1条件 and holding<0 and num<2 then begin
   加仓1:BUYSHORT(1,N,market);
   n:=N*2;
   num:=num+2;
end
if 加仓2条件 and holding<0 and num<2 then begin
   加仓2:BUYSHORT(1,N,market);
   n:=N*2;
   num:=num+2;
end

也反复检查了老师提出的问题,就是“减仓”“加仓2”没有信号?

--  作者:pyd
--  发布时间:2014/7/28 11:51:27
--  

当holding=0时 先去建仓,线建仓,再加仓1后num=2,所以加仓2的num<2条件不成立,减仓的num<1的条件也不成立。

 


--  作者:LT-IQH89
--  发布时间:2014/7/28 13:26:53
--  
请问老师,那又如何解决?是不是要针对每一个条件设置一个对应的交易次数的全局变量