Rss & SiteMap

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

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

标题:套利问题求教

1楼
zengxing 发表于:2021/2/7 11:22:06
套的例子看过了,求教如何一起计算两个合约的总盈利情况,想根据2个合约的情况做止盈。

还有,就是如何做一个全局变量,记录连续止损的次数,止损反手的手数会根据次数改变,例如每次加一手。这个要怎么写?
2楼
FireScript 发表于:2021/2/7 13:46:03
 止盈止损可以单独计算的。后台里面 持仓数量,持仓均价都可以取到的。分品种获取了之后直接算盈亏就行了。需要用到下面几个函数:
TBUYHOLDINGEX()
TSELLHOLDINGEX()
TAVGENTERPRICEEX2()
比如:
dyk1:dynainfo2(7,套利品种1)-TAVGENTERPRICEEX2('',套利品种1,0);//多盈亏
kyk1:TAVGENTERPRICEEX2('',套利品种2,1)-dynainfo2(7,套利品种2);//空盈亏

你自行把品种1的空,品种2的多再写下就行了.


3楼
zengxing 发表于:2021/2/7 13:49:47
还有,就是如何做一个全局变量,记录连续止损的次数,止损反手的手数会根据次数改变,例如每次加一手。这个要怎么写?

4楼
FireScript 发表于:2021/2/7 13:55:23
可以这样子。

GLOBALVARIABLE:ct:=1;//默认从1开始
if  止盈条件 then
begin
//平仓语句
ct:=1;//连续止损中断的地方,务必重置全局变量CT。这里是止盈的地方重置了,你如果还有其他地方要终止连续止损的统计,同样也要重置这个全局变量
end


if 止损条件  then  
begin
//平仓语句
ct:=ct+1;//止损的地方累计这个全局变量的值
//在反手的语句里,可以直接用ct作为反手下单的手数
TBUYSHORT(1,ct,MKT ,0,0,账户,套利品种1);
TBUY(1,ct,MKT ,0,0,账户,套利品种2);
end



5楼
zengxing 发表于:2021/2/7 15:07:50
这个那没法回溯是吧???感觉一般的程序不太一样,那怎么记录反手的次数,因为每次开仓的手数和止损不一样,。
6楼
FireScript 发表于:2021/2/7 15:21:12
是的。没法回溯的。你这里没有必要回溯之前的值的吧?

记录次数这种,都是采用上面的方式的。定义全局变量,然后在反手的代码里面,累加 或者在需要重置的地方重置。都是一样的思路的。你为什么还要记录反手的次数呢。


其实套利最好还是用价差的方式来做处理。没有别的,就是让整个逻辑上会更简单点,代码也少点。 

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


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