Rss & SiteMap

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

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

标题:天灵灵,地灵灵,全局变量来显灵,有请董大大,火大大

1楼
sun884588 发表于:2012/6/28 17:27:40

是这样一个东西

 

远期卖一:=DYNAINFO2( 34,'zjif12');
远期买一:=DYNAINFO2( 28,'zjif12');
近期卖一:=DYNAINFO2( 34,'zjif07');
近期买一:=DYNAINFO2( 28,'zjif07');

买远抛近差值1:远期卖一-近期买一;
买近抛远差值1:远期买一-近期卖一;

 

 

我想通过全局变量来记录每天合约价差的变化。

 

分别记录4个全局变量

 

他们分别对应2个基础值。基础值就是,买远抛近差值1以及买近抛远差值1的最高和最低。

我主要想看这两个基础值得波动范围。

 

也就是

 

我希望通过全局变量记录4个东西。

 

买远抛近差值1最高,买远抛近差值1最低,买近抛远差值1最高,买近抛远差值1最低。

 

每次行情数据进入机器,那么分别比较:买远抛近差值1和买远抛近差值1最高,买远抛近差值1最低之间的关系,大小,如果最新的买远抛近差值1大于

买远抛近差值1最高,那么买远抛近差值1最高就是最新的值得数值,反之,如果买远抛近差值1<买远抛近差值1最高,那么原来的买远抛近差值1最高的值不改变。如果买远抛近差值1<买近抛远差值1最低,那么买近抛远差值1最低就变成最新的买远抛近差值1,全局变量改变。如果没有小于,也就是没有创当日最低,那么就不动作,之前的最低还是最低。

 

 

买近抛远差值1最高和最低的原理完全和上面一样。即4个全局变量分别记录2组数值的最高,最低。就可以了。但是需要不断更新,比较,即进来的最新行情数据都和全局变量不断比较,全局变量有因为行情的变化而变化。

 

谢谢大家。

 

 

2楼
董小球 发表于:2012/6/29 10:38:32
{在这里http://www.weistock.com/WeisoftHelp/quanjubianliang.htm
设置两个全局变量A和B,方便后面使用
}

远期卖一:=DYNAINFO2( 34,'zjif12');
远期买一:=DYNAINFO2( 28,'zjif12');
近期卖一:=DYNAINFO2( 34,'zjif07');
近期买一:=DYNAINFO2( 28,'zjif07');
买远抛近差值1:远期卖一-近期买一;
买近抛远差值1:远期买一-近期卖一;

//如果发现a和b没有值,就把他们初始化为下面的值;
IF EXTGBDATA('A' )=0 and currenttime>085900 and currenttime<151500 THEN BEGIN
EXTGBDATASET( 'A',买远抛近差值1);
END

IF EXTGBDATA('B' )=0 and currenttime>085900 and currenttime<151500 THEN BEGIN
EXTGBDATASET( 'B',买近抛远差值1);
END

//把A和B跟当前的差值进行比较,如果小于当前差值,就把新的差值赋给A和B,
//总之让A和B始终代表最大的差值;
IF 买远抛近差值1>EXTGBDATA('A' ) and EXTGBDATA('A' )>0 THEN BEGIN
EXTGBDATASET( 'A',买远抛近差值1);
END

IF 买近抛远差值1>EXTGBDATA('B' ) and EXTGBDATA('B' )>0 THEN BEGIN
EXTGBDATASET( 'B',买近抛远差值1);
END

//收盘后把A和B重新初始化为0;
IF currenttime>151500 THEN BEGIN
EXTGBDATASET( 'A',0);
END

IF currenttime>151500 THEN BEGIN
EXTGBDATASET( 'B',0);
END
3楼
董小球 发表于:2012/6/29 10:38:46
大概思路就是这样的,自己再研究研究吧
4楼
sun884588 发表于:2012/6/29 11:40:15
谢谢董大大
共4 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in .06250 s, 2 queries.