Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]多空交替开仓

1楼
sidadeapu 发表于:2017/6/19 16:34:55
请教如果上次开多,这次只能开空;如果上次开空,这次只能开多。先谢了。
2楼
wenarm 发表于:2017/6/19 17:00:03

具体下需求,存在很多种状态。

例如

当第一次开多后,后面触发平多动作后,仓位为0,再次触发开多信号时,不开多?

当第一次开多后,后面触发开多动作后,是否继续加开仓?

等等。。。。

 

3楼
pyd 发表于:2017/6/19 17:02:40

1,图表不支持锁仓,必须一个方向的仓位平多才能反向开仓。

2,后台可以锁仓,用TYPEBAR判断上次信号

if TYPEBAR(1,1) and 开空条件 then tbuyshort()//上次开仓信号是开多,这次开空

4楼
sidadeapu 发表于:2017/6/19 17:18:46
不存在加仓和锁仓的问题,就是当第一次开多后,后面触发平多动作后,仓位为0,再次触发开多信号时,忽略信号不开多,直至触发开空条件。也就是交易结果顺序是:开多,平多,开空,平空,开多,平多,开空,平空.....。
5楼
wenarm 发表于:2017/6/19 17:42:26

通过全局变量标记开仓仓位进行限制,

VARIABLE:flag=0;//初始值是0,第一次开场可能存在空头,或者是多头。所以初始值为0时,在其他条件满足是同样开仓。(进入第一次开仓后flag状态只有正负两种)

if c>o and (flag=0 or flag=1)  then begin     

 sell(1,1,MARKET);
 BUYSHORT(1,1,MARKET);
 flag:=-1;//开仓后将flag置为反向标志位。避免再次开仓。直到开多头仓位,才能被置为1. 

end

if c<o and (flag=0 or flag=-1) then begin
 sellSHORT(1,1,MARKET);
 BUY(1,1,MARKET);
 flag:=1;
end

共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03223 s, 3 queries.