以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 限定加仓次数 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=161466) |
-- 作者:大豆0911 -- 发布时间:2018/2/4 17:00:13 -- 限定加仓次数 版主好,我想请教一下,我的图表交易系统设置了:满足A条件,则加仓。但是A条件会随着趋势发展,触发好几次,越往后,加仓效果越不理想。 现在我想限定,只在第一次满足A条件的时候加仓。第二次、第三次A条件出现都不加仓,请问如何实现?非常感谢!
|
-- 作者:wenarm -- 发布时间:2018/2/4 21:31:07 -- 使用全局变量进行控制。 控制部分示例如下。 VARIABLE:flag=0; if 加仓条件 and flag=0 then begin 加仓语句; flag:=1; end 在需要恢复加仓的条件下把flag从新置0,否者在图表上只会加仓一次后,后面将无法进行有效加仓。 |
-- 作者:大豆0911 -- 发布时间:2018/2/4 22:16:26 -- 以下是引用wenarm在2018/2/4 21:31:07的发言:
使用全局变量进行控制。
控制部分示例如下。
VARIABLE:flag=0;
if 加仓条件 and flag=0 then begin
加仓语句; flag:=1; end
在需要恢复加仓的条件下把flag从新置0,否者在图表上只会加仓一次后,后面将无法进行有效加仓。
版主辛苦了,非常感谢!
|
-- 作者:大豆0911 -- 发布时间:2018/2/4 22:56:31 -- 按照版主写的示例,我写出了这样的语句,可是出现了新的问题,就是第一次加仓也不再执行了。烦请版主帮我看看问题所在?谢谢了!(如果我把系统语句中的flag:=1; 改成flag:=0;则和原来一样加仓不止一次)
VARIABLE:flag=0; (中间变量和其他系统语句略)……if 加多条件 and flag=0 then begin
BUY(HOLDING>0,30%,market);//交易系统之加多操作 flag:=1; end if 加空条件 and flag=0 then begin
BUYSHORT(HOLDING<0,30%,market);//交易系统之加空操作 flag:=1; end |
-- 作者:wenarm -- 发布时间:2018/2/4 23:35:58 -- flag只能控制一个方向的限制,你多空两种类型需要使用两个全局变量分别记录处理。 另外,在2楼已经说了,你需要在一个特定的情况下再把flag标志位的值改成0,(例如全平时,将flag置0)否者图表中在第一次加仓后,就再也不会进入加仓的语句段了。 VARIABLE:flag=0,flag1=0; if 加多条件 and flag=0 then begin
BUY(HOLDING>0,30%,market);//交易系统之加多操作 flag:=1; end if 加空条件 and flag1=0 then begin BUYSHORT(HOLDING<0,30%,market);//交易系统之加空操作 flag1:=1; end |
-- 作者:大豆0911 -- 发布时间:2018/2/5 22:33:35 -- 版主您太好了,很感谢!我好好领会一下!
以下是引用wenarm在2018/2/4 23:35:58的发言:
flag只能控制一个方向的限制,你多空两种类型需要使用两个全局变量分别记录处理。
另外,在2楼已经说了,你需要在一个特定的情况下再把flag标志位的值改成0,(例如全平时,将flag置0)否者图表中在第一次加仓后,就再也不会进入加仓的语句段了。
VARIABLE:flag=0,flag1=0;
if 加多条件 and flag=0 then begin
BUY(HOLDING>0,30%,market);//交易系统之加多操作 flag:=1; end if 加空条件 and flag1=0 then begin BUYSHORT(HOLDING<0,30%,market);//交易系统之加空操作 flag1:=1; end |