是这样一个东西
远期卖一:=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组数值的最高,最低。就可以了。但是需要不断更新,比较,即进来的最新行情数据都和全局变量不断比较,全局变量有因为行情的变化而变化。
谢谢大家。
{在这里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