Rss & SiteMap

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

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

标题:2个策略加载在多个品种上

1楼
drliang680 发表于:2020/12/16 19:12:02
你好!2个策略加载在多个品种上,每个策略在每个品种上只开1手。区别是1个策略的周期较短,频繁操作,另外1个策略的周期较长,操作不频繁。但是有个问题,这2个策略的开平仓语句是这样写的:

开多:BUY(KD AND HOLDING=0,1,MARKETR);         
平多:SELL(PD and holding>0,'',MARKETR);                       
开空:BUYSHORT(KK AND HOLDING=0,1,MARKETR);     
平空:SELLSHORT(PK and holding<0,'',MARKETR);      

这样一来,短周期的策略开仓后,这个品种的holding就不是0了,而是1了。长周期的策略就开不了仓了。请问该如何处理?谢谢!
2楼
gxx978 发表于:2020/12/17 9:41:01
holding表示一个窗口上的虚拟持仓,在各个窗口上是相互独立的,不会互相影响的。
3楼
drliang680 发表于:2020/12/17 14:35:51
如果是后台程序化,这么写:

TBUY(kd and TBUYHOLDING(1)=0,1,MKT,0,0,'','');
TSELL(pd and TBUYHOLDING(1)>0,TBUYHOLDING(1),MKT,0,0,'','');
TBUYSHORT(kk and TSELLHOLDING(1)=0,1,MKT,0,0,'','');
TSELLSHORT(pk and TSELLHOLDING(1)>0,TSELLHOLDING(1),MKT,0,0,'','');

会有冲突吗?

4楼
FireScript 发表于:2020/12/17 14:51:46
 会的。后台里面除非你多账号,在策略里面指定到不同账号下。否则你就一个账号,肯定避免不了影响的。
5楼
drliang680 发表于:2020/12/17 15:06:50
也就是说在一个资金账号下,如果是后台程序化,这个问题是无法解决的?
6楼
FireScript 发表于:2020/12/17 15:12:31
后台程序化里  如果你是多个策略 交易一个品种,那么在持仓判断上 是会相互影响的。理论上可以通过策略编写来尽量减少这种影响,比如自行用全局变量记录本策略的开平仓。 但是这个只是一个大概思路,得具体情况具体看了。

我看你现在用的是图表策略,图表多个策略之间影响是不大的。你上面那个长线策略不开仓和短线策略应该是无关的。除非是你资金问题,导致下单失败。
[此贴子已经被作者于2020/12/17 15:15:48编辑过]
7楼
drliang680 发表于:2020/12/17 15:18:35
我现在用的就是后台程序化,请问自行用全局变量记录本策略的开平仓如何实现?
8楼
drliang680 发表于:2020/12/17 15:33:27
我的后台程序化很简单:

kd:=XXX;
pd:=XXX;
kk:=XXX;
pk:=XXX;
TBUY(kd and TBUYHOLDING(1)=0,1,MKT,0,0,'','');
TSELL(pd and TBUYHOLDING(1)>0,TBUYHOLDING(1),MKT,0,0,'','');
TBUYSHORT(kk and TSELLHOLDING(1)=0,1,MKT,0,0,'','');
TSELLSHORT(pk and TSELLHOLDING(1)>0,TSELLHOLDING(1),MKT,0,0,'','');
9楼
FireScript 发表于:2020/12/17 15:51:47
 前面说的有问题,纠正下,有点想当然了。后台里面用全局变量记录更难搞。一个是成交状态要判断,另一个问题是 你程序暂停再次开启就无法很好的衔接 。停止程序时候你还要记住上次的持仓情况。以及其他的一些乱七八糟的问题。这个方式还是行不通。

你这个估计还是要回归到用图表程序化上去操作了。图表上不同窗口的虚拟持仓是独立的。你前面那个长线不开仓应该是其他问题造成的,不会是其他策略的影响的。
共9 条记录, 每页显示 10 条, 页签: [1]


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