以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  多交易系统后台如何添加持仓区分  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=48535)

--  作者:eric917
--  发布时间:2013/2/8 10:30:43
--  多交易系统后台如何添加持仓区分

平多:=L<MAH1;
开多:=H>上轨 AND H>MAN ;

平空:=H>MAL1;
开空:=L<下轨 AND H<MAN ;

交易时间:=TIME>090000 AND TIME<=151300;
开仓时间:=TIME>090000 AND TIME<=150500;

if 平多 AND POSITION=1 then begin
   tsell(1,SS,mkt);
    POSITION=0;
end

if 开多 AND 交易时间 AND POSITION=0 then begin
   tbuy(1,SS,mkt);
   POSITION=1;
end

if 平空 AND POSITION=-1 then begin
   tsellshort(1,SS,mkt);
    POSITION=0;
end

if 开空 AND 交易时间 AND  POSITION=0 then begin
   tbuyshort(1,SS,mkt);
   POSITION=-1;
end

IF NOT(交易时间) AND POSITION<>0 THEN BEGIN
   TSELL(1,SS,MKT);
   TSELLSHORT(1,SS,MKT);
END 

 

之前问过客服,如果上面的代码使用在多个后台交易系统时,能否区分出该交易系统自己的持仓进行操作

客服说要使用EXTGBDATASET和EXTGBDATA函数

 

查找过资料后,还是不太会定义

 

能否帮忙举个例子简单教教怎么写呢?


--  作者:jinzhe
--  发布时间:2013/2/8 10:34:28
--  

extbgdataset(\'aa\',1);

把1赋值给aa,字符型

extgbdata(\'aa\');

取aa的值,字符型


--  作者:eric917
--  发布时间:2013/2/8 11:21:29
--  

谢谢~~~


--  作者:eric917
--  发布时间:2013/2/8 11:31:34
--  

麻烦帮我看看我这样定义对不对(环境是持有多空各10手单,且同时运行10个后台交易系统,后面是其中一个交易系统)

 

SS为交易手数

 

VARIABLE : POSITION=0 ;   //仓位状态
//0表示没有仓位,1表示持有多头, -1表示持有空头

 

平多:=L<MAH1;
开多:=H>上轨 AND H>MAN ;

平空:=H>MAL1;
开空:=L<下轨 AND H<MAN ;

交易时间:=TIME>090000 AND TIME<=151300;
开仓时间:=TIME>090000 AND TIME<=150500;

if 平多 AND EXTGBDATA(\'POSITION\')=1 then begin
   tsell(1,SS,mkt);
   EXTGBDATASET(\'POSITION\',0);
end

if 开多 AND 交易时间 AND EXTGBDATA(\'POSITION\')=0 then begin
   tbuy(1,SS,mkt);
   EXTGBDATASET(\'POSITION\',1);
end

if 平空 AND EXTGBDATA(\'POSITION\')=-1 then begin
   tsellshort(1,SS,mkt);
   EXTGBDATASET(\'POSITION\',0);
end

if 开空 AND 交易时间 AND EXTGBDATA(\'POSITION\')=0 then begin
   tbuyshort(1,SS,mkt);
   EXTGBDATASET(\'POSITION\',1);
end

IF NOT(交易时间) AND EXTGBDATA(\'POSITION\')<>0 THEN BEGIN
   TSELL(1,SS,MKT);
   TSELLSHORT(1,SS,MKT);
END 

 

谢谢


--  作者:eric917
--  发布时间:2013/2/8 11:34:58
--  

我上面这样写,交易的时候会否出错呢?

在论坛上看过资料,说最好使用虚拟仓位holding 和 tholding 一起用

 

如果我上面这个环境有需要两个同时用吗?


--  作者:jinzhe
--  发布时间:2013/2/8 13:09:08
--  
根据自己的需求来确定是否需要holding和tholding一起用
--  作者:eric917
--  发布时间:2013/2/8 13:56:32
--  
以下是引用eric917在2013-2-8 11:31:34的发言:

麻烦帮我看看我这样定义对不对(环境是持有多空各10手单,且同时运行10个后台交易系统,后面是其中一个交易系统)

 

SS为交易手数

 

VARIABLE : POSITION=0 ;   //仓位状态
//0表示没有仓位,1表示持有多头, -1表示持有空头

 

平多:=L<MAH1;
开多:=H>上轨 AND H>MAN ;

平空:=H>MAL1;
开空:=L<下轨 AND H<MAN ;

交易时间:=TIME>090000 AND TIME<=151300;
开仓时间:=TIME>090000 AND TIME<=150500;

if 平多 AND EXTGBDATA(\'POSITION\')=1 then begin
   tsell(1,SS,mkt);
   EXTGBDATASET(\'POSITION\',0);
end

if 开多 AND 交易时间 AND EXTGBDATA(\'POSITION\')=0 then begin
   tbuy(1,SS,mkt);
   EXTGBDATASET(\'POSITION\',1);
end

if 平空 AND EXTGBDATA(\'POSITION\')=-1 then begin
   tsellshort(1,SS,mkt);
   EXTGBDATASET(\'POSITION\',0);
end

if 开空 AND 交易时间 AND EXTGBDATA(\'POSITION\')=0 then begin
   tbuyshort(1,SS,mkt);
   EXTGBDATASET(\'POSITION\',1);
end

IF NOT(交易时间) AND EXTGBDATA(\'POSITION\')<>0 THEN BEGIN
   TSELL(1,SS,MKT);
   TSELLSHORT(1,SS,MKT);
END 

 

谢谢

那么上面这样写,用在

持有多空各10手单,且同时运行10个不同后台交易系统 环境中

 

可以吗?


--  作者:eric917
--  发布时间:2013/2/8 15:13:22
--  

有人回答一下吗?


--  作者:王锋
--  发布时间:2013/2/9 13:20:56
--  
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332 问题22