以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  多策略的时候,如何避免持仓读取相互影响  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=181692)

--  作者:NH
--  发布时间:2020/8/13 9:06:00
--  多策略的时候,如何避免持仓读取相互影响
后台交易。多策略对一个账户交易,单策略里 会有加仓。加仓的时候会读取是否已有持仓。  那么多策略的时候 怎么避免其他策略的持仓 被当下的策略读取呢?
--  作者:FireScript
--  发布时间:2020/8/13 9:31:12
--  
 避免不了。你就一个账号,持仓都是汇总的。直接读取持仓情况下是没办法区分开到底是哪个策略下单的仓位。
--  作者:NH
--  发布时间:2020/8/13 10:11:51
--  

那么那些 有几十组 上百组策略的  交易是如何实现的呢? 准备几百个账户吗?


--  作者:FireScript
--  发布时间:2020/8/13 10:43:38
--  

你可以考虑采用全局变量记录的方式去记录,每次开仓和平仓时候维护下这个全局变量。开仓+1,平仓-1. 开仓和平仓之前也需要读取下这个全局变量,来作为开仓和平仓的判断依据。


如果真的要每个策略完全独立开操作,其实除了多账户没有其他办法。全局变量记录的方式,实现起来是很麻烦的。

--  作者:NH
--  发布时间:2020/8/14 11:15:12
--  
//固定时间间隔,有信号就下单,信号闪烁情况下造成HOLDING值不稳定,故不能调用图表的HOLDING来控制仓位,必须使用后台程序化交易, 总体思路是用BARPOS和全局变量结合起来,控制是否开仓。

//序列模式运行

//t1_flag 0表示没有仓位,1表示持有多头,-1表示持有空头

//bar控制一根K线只能有一次开平仓

ss:=1; //手数

ma5:ema(c,5);

buycond:=h>ma5;

sellcond:=l<ma5;


 

//平多

if extgbdata(\'t1_flag\')>0 and sellcond  and barpos>extgbdata(\'bar\')  then

  begin

  tsell(1,ss,mkt);

  extgbdataset(\'t1_flag\',0);

  end


 

//平空

if extgbdata(\'t1_flag\')<0 and buycond and barpos>extgbdata(\'bar\')  then

  begin

  tsellshort(1,ss,mkt);

  extgbdataset(\'t1_flag\',0);

  end  


--  作者:NH
--  发布时间:2020/8/14 11:15:47
--  
//固定时间间隔,有信号就下单,信号闪烁情况下造成HOLDING值不稳定,故不能调用图表的HOLDING来控制仓位,必须使用后台程序化交易, 总体思路是用BARPOS和全局变量结合起来,控制是否开仓。

//序列模式运行

//t1_flag 0表示没有仓位,1表示持有多头,-1表示持有空头

//bar控制一根K线只能有一次开平仓

ss:=1; //手数

ma5:ema(c,5);

buycond:=h>ma5;

sellcond:=l<ma5;


 

//平多

if extgbdata(\'t1_flag\')>0 and sellcond  and barpos>extgbdata(\'bar\')  then

  begin

  tsell(1,ss,mkt);

  extgbdataset(\'t1_flag\',0);

  end


 

//平空

if extgbdata(\'t1_flag\')<0 and buycond and barpos>extgbdata(\'bar\')  then

  begin

  tsellshort(1,ss,mkt);

  extgbdataset(\'t1_flag\',0);

  end  


--  作者:NH
--  发布时间:2020/8/14 12:04:53
--  

是否可以用这个办法限制 开仓次数?


--  作者:wenarm
--  发布时间:2020/8/14 12:13:41
--  

你可以考虑用这种方式记录自己开仓手数。但是不能百分比达到控制。其中牵扯的因素很多。包括未成交因素、高速开平触发情景等情况的影响。