Rss & SiteMap

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

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

标题:extgbdataset处理的超全局变量,如何做初始化声明阿

1楼
qq代人发帖 发表于:2015/9/14 10:02:18
extgbdataset处理的超全局变量,如何做初始化声明阿
2楼
jinzhe 发表于:2015/9/14 10:04:26
不用做初始化,初始值为0
3楼
cjh2015 发表于:2015/9/14 10:20:20
可是不初始化声明,系统会报错未定义变量
4楼
jinzhe 发表于:2015/9/14 10:23:12
不会,你代码是怎么写的?
5楼
cjh2015 发表于:2015/9/14 10:31:40

就是软件系统自带的唐齐安通道,想使用一个超全局变量,比如POSITION去替换holding

 

//DESIGNED BY ROGARZ
 
//中间变量
INPUT:X(20,1,100,1),NMIN(10,1,100,1),SS(1,1,10000,1);
X周期高点:=REF(HHV(H,X),1);//X是参数,自行调整
X周期低点:=REF(LLV(L,X),1);
手数:=SS;
开仓时间:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100;
平仓时间:=TIME>=CLOSETIME(0)-NMIN*100;
{NMIN为参数,CLOSETIME(0)-NMIN*100表示 收盘时间-提前N分钟 N由NMIN控制}
 
//交易条件:
开多平空条件:=High>=X周期高点 and 开仓时间 and holding<=0;
开空平多条件:=Low<=X周期低点 and 开仓时间 and holding>=0;

//交易系统
收盘平多:sell(平仓时间 and holding>0, 0, thisclose);
收盘平空:sellshort(平仓时间 and holding<0,0,thisclose);

平空:sellshort(开多平空条件 and holding<0, 手数,limitr,X周期高点);
平多:sell(开空平多条件 and holding>0,手数,limitr,X周期低点);
开空:buyshort(开空平多条件 and holding=0,手数,limitr,X周期低点);
开多:buy(开多平空条件 and holding=0, 手数,limitr,X周期高点);

当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值

6楼
jinzhe 发表于:2015/9/14 10:36:45
这里没有显示你有任何进行全局变量的代码,请把你的问题贴出来好吗?
7楼
cjh2015 发表于:2015/9/14 10:55:18

使用POSITION替换holding去控制开平仓,如果对POSITION声明呢? 

 

 

//中间变量
INPUT:X(20,1,100,1),SS(1,0,10000,1);
X周期高点:=REF(HHV(H,X),1);
X周期低点:=REF(LLV(L,X),1);
手数:=SS;


//交易条件:
开仓时间:=DYNAINFO(207)>=010100 and DYNAINFO(207)<=185000 ;
平仓时间:=DYNAINFO(207)>=185400;
开多平空条件:=C>=X周期高点 and POSITON<=0;
开空平多条件:=C<=X周期低点 and POSITON>=0;

//交易系统
IF 平仓时间 and POSITON=1 THEN BEGIN
Tsell(1,手数,MKT),ORDERQUEUE;
EXTGBDATASET(POSITON,0);
END

IF 平仓时间 and POSITON=-1 THEN BEGIN
Tsellshort(1,手数,MKT),ORDERQUEUE;
EXTGBDATASET(POSITON,0);
END

IF 开空平多条件 and POSITON=1 THEN BEGIN
Tsell(1,手数,MKT),ORDERQUEUE;
EXTGBDATASET(POSITON,0);
END

IF 开多平空条件 and POSITON=-1 THEN BEGIN
Tsellshort(1,手数,MKT),ORDERQUEUE;
EXTGBDATASET(POSITON,0);
END


IF 开多平空条件 and 开仓时间 and POSITON<=0 THEN BEGIN
Tbuy(1,手数,MKT),ORDERQUEUE;
EXTGBDATASET(POSITON,1); 
END

IF 开空平多条件 and 开仓时间 and POSITON>=0 THEN BEGIN
Tbuyshort(1,手数,MKT),ORDERQUEUE;
EXTGBDATASET(POSITON,-1);
END

8楼
jinzhe 发表于:2015/9/14 11:02:32

这个是你用错了啊,

定义全局变量是extgbdataset('position',123);

获取全局变量是extgbdata('position')

变量名注意要加单引号

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


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