等级: 标准版
- 注册:
- 2021-12-10
- 曾用名:
|
楼主 |
发表于 2022-7-22 15:16
|
显示全部楼层
老师帮我检查一下为什么没办法平空,是做后台程序化套利的,代码如下
监控品种是 自建套利指数, SA-FG 合约
//---------------------------------------------------------------------------------------------------------------------------------
Account := '001' ;
//套利品种
SA := 'SA00' ;
FG := 'FG00' ;
//----<>---- 策 略 指 标 ----[<>]
Diff := ema( close,12 )-ema( close,26 ) ;
Dea := ema( diff,9 ) ;
Macd := 2*( diff-dea ), colorstick;
//---------------------------------------------------------------------------------------------------------------
//开仓
if ref( cross( diff,dea ),1 ) then begin
if tbuyholdingex( Account,SA,0 ) = 0 then tbuy( 1,1,MKT,0,0,Account,SA ) ;
if tsellholdingex( Account,FG,0 ) = 0 then tbuyshort( 1,1,MKT,0,0,Account,FG ) ;
end
//平仓
if ref( cross( dea,diff ),1 ) and tbuyholdingex( Account,SA,0 ) > 0 then tsell( 1,1,MKT,0,0,Account,SA ) ;
if ref( cross( dea,diff ),1 ) and tsellholdingex( Account,FG,0 ) < 0 then tsellshort( 1,1,MKT,0,0,Account,FG ) ;
开仓的时候正常开仓了,但是平仓出场,往往只平掉一边腿,平不了 两个品种的持仓( 具体看 预警记录 )
老师帮忙检查一下代码哪里表述不严谨,修正一下
另外现在用的是 MKT 方式报单,为了确保成交,我想偏移 一个点位 报单, ( 例如之前咨询下单到指定品种 选择 open + 1 个点位 报单,确保成交,MKT 报单是否可以偏移?),或者通过什么方式来确保成交效率
谢谢老师
|
-
|