以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=184219) |
|
-- 作者:zengxing -- 发布时间:2021/2/7 11:22:06 -- 套利问题求教 套的例子看过了,求教如何一起计算两个合约的总盈利情况,想根据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的多再写下就行了. |
|
-- 作者:zengxing -- 发布时间:2021/2/7 13:49:47 --
|
|
-- 作者: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 |
|
-- 作者:zengxing -- 发布时间:2021/2/7 15:07:50 -- 这个那没法回溯是吧???感觉一般的程序不太一样,那怎么记录反手的次数,因为每次开仓的手数和止损不一样,。 |
|
-- 作者:FireScript -- 发布时间:2021/2/7 15:21:12 -- 是的。没法回溯的。你这里没有必要回溯之前的值的吧? 记录次数这种,都是采用上面的方式的。定义全局变量,然后在反手的代码里面,累加 或者在需要重置的地方重置。都是一样的思路的。你为什么还要记录反手的次数呢。 其实套利最好还是用价差的方式来做处理。没有别的,就是让整个逻辑上会更简单点,代码也少点。 |