以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  除了holding的方法之外,如何限制开仓  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=142233)

--  作者:便便12138
--  发布时间:2016/11/4 14:07:46
--  除了holding的方法之外,如何限制开仓
有两个策略,根据相同的逻辑和指标,长期策略A和日内策略B。
策略A:非日内策略,持仓过夜,但是每天最多只反手一次。
B策略:日内策略,当日开的仓在尾盘平仓。

目的,两个策略一起运行,很容易造成仓位的错乱不能控制。一般来说对于单策略而言,通过holding = 0来限制开仓,现在有两个策略了,holding的方法就不可行了。求其他方法可以分别标记当日两个策略的开仓次数。

--  作者:jinzhe
--  发布时间:2016/11/4 14:13:08
--  
两个图表的持仓判断用holding是仍然可行的,两个策略之间的holding不会互相影响
--  作者:便便12138
--  发布时间:2016/11/4 14:16:57
--  
不通过两个图表来查看策略,是两个策略集合成一个图表看,在一段代码里面,集合了两个交易策略,那么holding的判断是不可行的。
--  作者:jinzhe
--  发布时间:2016/11/4 14:31:51
--  

做个标记

vairable:bj1=0;

variable:bj2=0;

bj1和bj2分别是你两个策略里面的标记,=0 时可以开仓,=1时不能平仓,如果你想要再开仓,就把标记置为0

使用方法:

if 策略1的条件 and bj1=0 then begin

   buy(1,1,makret);

   bj1:=1;

end

 

if 策略2的条件 and bj2=0 then begin

   buy(1,1,market);

   bj2:=1;

end

 

要注意图表不能双向持仓,所以当有虚拟持仓时,反向信号是不会出现的


--  作者:便便12138
--  发布时间:2016/11/4 14:47:44
--  
vairable这个申明全局变量在刷新每根K线之后都会刷成0,没用
--  作者:jinzhe
--  发布时间:2016/11/4 15:05:50
--  
不会,variable只会在第一根k线初始化为0