我想写一个大豆-豆粕的差价套利策略,要求是当达到开仓条件时,就用20%的资金下单,每个品种(大豆和豆粕都下相同手数),当达到平仓条件时,就全部平仓。
以下是我写的代码:
input:M(1450,1000,1600,50),N(1250,1000,1300,50),ratio(0.2,0.1,1,0.1);
runmode:0;
AX09:=callstock('DQAX09',VTCLOSE);
M09:=callstock('DQM09',VTCLOSE);
diff:=AX09-M09;
TJ1:=CROSS(diff,M);
TJ2:=CROSS(N,diff);
ZIJIN:asset,linethick0;
KCS:=ntpart(ZIJIN*ratio/(AX09*multiplier*0.09+M09*multiplier*0.09)),linethick0;
if TJ2 then
begin
if strcmp(stklabel,'M09')=0 then sell(holding>0,0,limitr,C);
if strcmp(stklabel,'AX09')=0 then sellshort(holding<0,0,limitr,C);
end
if TJ1 then
begin
if strcmp(stklabel,'M09')=0 then buy(holding=0,KCS,limitr,C);
if strcmp(stklabel,'AX09')=0 then buyshort(holding=0,KCS,limitr,C);
end
现在的问题就是:
1.我用20%的资金下单,例如我有100万,当达到开仓条件时,我就用20万开仓,因为每个品种都要下相同手数,所以我计算手数的方法是:KCS:=intpart(ZIJIN*ratio/(AX09*multiplier*0.09+M09*multiplier*0.09)) 不知道是否正确。
2.我的测试时间段是2011.07.01-2012.07.01,日线周期,然后公式测评,第一次交易开仓手数是相同的,但第二次交易大豆和豆粕的交易手数就不同了(如图所示),于是我发现了是asset的问题,当监控不同品种时asset的值是不一样的,现在就请问如何解决这个问题,或者有什么方法可以使每次开仓都可以开仓相同的手数。
3.然后我看了论坛的帖子,有说套利策略无法在图表交易中实现,不知道是不是这样?我知道在后台是可以实现的,但想在后台实现之前先在图表实现,然后看看测评效果。
此主题相关图片如下:pic.jpg

我是新手,请老师们多多指教,谢谢。
[此贴子已经被作者于2012-8-12 21:57:13编辑过]
你要了解图表的原理 ,每个都是品种的asset都是独立的
专业版很容易做到(套利功能) 你的想法在图表上实现不了。有高人能做到的话,期待在之后回复
以下是引用RogarZ在2012-8-12 21:56:34的发言:
你要了解图表的原理 ,每个都是品种的asset都是独立的
专业版很容易做到(套利功能) 你的想法在图表上实现不了。有高人能做到的话,期待在之后回复
//嗯,测评完后我就明白了原理了,不过现在就想问有没有办法把asset弄成一个“全局变量”,又或者函数列表里有没有另外的资金函数有这个“功能”。
想您所说的,如果在图表实现不了,那么在后台里实现的话,至少也要有测评看下策略的结果啊,不然怎么调参呢。
专业版很容易做到(套利功能)
专业版可以自己做套利价差合约 测试用直接用套利合约就行了 直接对价差图下单
不需要在图表中指定品种 以及你说的种种很麻烦的设置
以下是引用RogarZ在2012-8-12 22:23:31的发言:
专业版很容易做到(套利功能)
专业版可以自己做套利价差合约 测试用直接用套利合约就行了 直接对价差图下单
不需要在图表中指定品种 以及你说的种种很麻烦的设置
//有类似 图表交易中的 测评报告结果吗?并且,可以按资金百分比下单吗?
委托下单手数里,直接填写下单数量不就完了。
你用资金百分比下单,当然下单数量会随着资金的变化而变化了
以下是引用admin在2012-8-13 9:17:33的发言:
委托下单手数里,直接填写下单数量不就完了。
你用资金百分比下单,当然下单数量会随着资金的变化而变化了
//我意思就是想下单数量随资金变化而变化,根据资金状况控制下单手数,每次开仓就用资金的20%下单。可以实现吗?
这个在图表交易中无法实现,只能在实盘里根据实际的可用资金量来搞。
建议你测试时,使用固定手数来实现!
以下是引用王锋在2012-8-13 10:49:38的发言:
这个在图表交易中无法实现,只能在实盘里根据实际的可用资金量来搞。
建议你测试时,使用固定手数来实现!
//嗯,那我明白了,如果我新建一个套利合约,新建的套利合约能不能像一般品种那样,编写策略,然后再测评呢?