以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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型全局变量的困惑 1、variable:n=1; //控制条件交易量 variable:num=0;//控制条件交易次数 两个或两个以上是否可以同时成立使用; 2、if 条件 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); //平空信号
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 -- 请问老师,那又如何解决?是不是要针对每一个条件设置一个对应的交易次数的全局变量 |