//移动止损模块部分*******************************
VARIABLE:A1=0,aa1=0;
IF 多仓>0 AND EXTGBDATA('a1' )=0 THEN EXTGBDATASET( 'a1',1 );
IF 空仓>0 AND EXTGBDATA('aa1' )=0 THEN EXTGBDATASET( 'aa1',1 );
//使A始终表示监控开始后的最高价
IF DYNAINFO( 7)>EXTGBDATA('a1' ) and EXTGBDATA('a1' )>0 THEN EXTGBDATASET( 'a1',DYNAINFO( 7));
IF DYNAINFO( 7)>EXTGBDATA('aa1' ) and EXTGBDATA('aa1' )>0 THEN EXTGBDATASET( 'aa1',DYNAINFO( 7));
//发现空仓,将A赋值为0
IF 多仓=0 THEN EXTGBDATASET( 'a1',0);
IF 空仓=0 THEN EXTGBDATASET( 'aa1',0);
多最高盈:(EXTGBDATA('a1' )-多仓均价)/MINDIFF,LINETHICK0;
多回撤幅度:多最高盈率-多仓盈亏,LINETHICK0;
空最高盈:(EXTGBDATA('aa1' )-空仓均价)/MINDIFF,LINETHICK0;
空回撤幅度:空最高盈率-空仓盈亏,LINETHICK0;
如上公式,为什么运行单个策略单个品种就正常,运行两个策略或一个策略两个品种就不正常?请问是哪里出错?
使用上有错误
全局变量的说明链接:http://www.weistock.com/WeisoftHelp/index.html?zbgs003.htm
EXTGBDATA 对应的全局变量 在工具-数据管理-全局变量下设置,是整个金字塔内有效的,可以实现多个指标之间的一些沟通。
variable定义的直接使用即可,如下所示:
VARIABLE:A1=0,aa1=0;
IF 多仓>0 AND a1=0 THEN a1:=1;
2楼 我回复错了,后台不能用variable 替换成GLOBALVARIABLE即可。
还有你说问:运行多个策略怎么改?没明白你的需求具体怎样的,建议详细说明下。
GLOBALVARIABLE代替variable吗?每个品种单独做一个公式,同时会运行多个公式,这样会不会冲突的意思?如果会该如何编写?
每个品种之间是独立的,全局变量GLOBALVARIABLE不会相互冲突的。
//移动止损模块部分*******************************
GLOBALVARIABLE=0,aa1=0;
IF 多仓>0 AND a1=0 THEN EXTGBDATASET( 'a1',1 );
IF 空仓>0 AND aa1=0 THEN EXTGBDATASET( 'aa1',1 );
//使A始终表示监控开始后的最高价
IF DYNAINFO( 7)>EXTGBDATA('a1' ) and EXTGBDATA('a1' )>0 THEN EXTGBDATASET( 'a1',DYNAINFO( 7));
IF DYNAINFO( 7)>EXTGBDATA('aa1' ) and EXTGBDATA('aa1' )>0 THEN EXTGBDATASET( 'aa1',DYNAINFO( 7));
//发现空仓,将A赋值为0
IF 多仓=0 THEN EXTGBDATASET( 'a1',0);
IF 空仓=0 THEN EXTGBDATASET( 'aa1',0);
多最高盈:(EXTGBDATA('a1' )-多仓均价)/MINDIFF,LINETHICK0;
多回撤幅度:多最高盈率-多仓盈亏,LINETHICK0;
空最高盈:(EXTGBDATA('aa1' )-空仓均价)/MINDIFF,LINETHICK0;
空回撤幅度:空最高盈率-空仓盈亏,LINETHICK0;
是这样写吗?