hh:=ref(h,1);
ll:=ref(l,1);
kd:=CROSS(c,hh);
kk:=CROSS(c,ll);
ZH1:'602307';
PZ1:'if07';
VARIABLE:A=0;
//开仓和平仓TBUYHOLDINGEX( 账户名,指定的品种 ,买持类型 )
TBUY(kd AND TBUYHOLDINGEX( ZH1,PZ1 ,0 )<10,1,LMT,CLOSE,0,ZH1,PZ1 );
//TSELL(kk,TBUYHOLDINGEX( ZH1,PZ1 ,0 ),MKT,0,ZH1,PZ1);
tbuyshort(kk and TBUYHOLDINGEX( ZH1,PZ1 ,0 )<10,1,LMT,CLOSE,0,ZH1,PZ1 );
//移动止损模块部分*******************************
//A有三种数值状态:1,0,最新价;
//当A=1时表示当前有持仓,A=0时表示移动止损执行完毕,A=最新价时用于比较价格是否回落
//将A赋值为1,表示当前有持仓
IF TBUYHOLDINGEX( '','' ,0 )>0 AND EXTGBDATA('a' )=0 THEN BEGIN
EXTGBDATASET( 'a',1 );
END
//使A始终表示监控开始后的最高价
IF DYNAINFO( 7)>EXTGBDATA('a' ) and EXTGBDATA('a' )>0 THEN BEGIN
EXTGBDATASET( 'a',DYNAINFO( 7));
END
//发现价格回落止损,并将A赋值为0表示移动止损动作完成
IF EXTGBDATA('a' )-DYNAINFO( 7)>10*MINDIFF and EXTGBDATA('a' )>0 THEN BEGIN
TSELL(1,1,MKT );
EXTGBDATASET( 'a',0);
END
//固定止损条件判断
ZSCOND:TAVGENTERPRICEEX2(ZH1 ,PZ1 ,0)-DYNAINFO( 7)>=10*MINDIFF;
TSELL(ZsCOND,TBUYHOLDINGEX( ZH1,PZ1 ,0 ),MKT,0,ZH1,PZ1);
现在能开仓不能移动止损
hh:=ref(h,1);
ll:=ref(l,1);
kd:=CROSS(c,hh);
kk:=CROSS(c,ll);
ZH1:'601684';
PZ1:'if07';
//开仓和平仓TBUYHOLDINGEX( 账户名,指定的品种 ,买持类型 )
TBUY(kd AND TBUYHOLDINGEX( ZH1,PZ1 ,0 )<10,1,LMT,CLOSE,0,ZH1,PZ1 );
//TSELL(kk,TBUYHOLDINGEX( ZH1,PZ1 ,0 ),MKT,0,ZH1,PZ1);
//移动止损模块部分*******************************
//A有三种数值状态:1,0,最新价;
//当A=1时表示当前有持仓,A=0时表示移动止损执行完毕,A=最新价时用于比较价格是否回落
//将A赋值为1,表示当前有持仓
IF TBUYHOLDINGEX( '','' ,0 )>0 AND EXTGBDATA('a' )=0 THEN BEGIN
EXTGBDATASET( 'a',1 );
END
//使A始终表示监控开始后的最高价
IF DYNAINFO( 7)>EXTGBDATA('a' ) and EXTGBDATA('a' )>0 THEN BEGIN
EXTGBDATASET( 'a',DYNAINFO( 7));
END
//发现价格回落止损,并将A赋值为0表示移动止损动作完成
IF EXTGBDATA('a' )-DYNAINFO( 7)>20*MINDIFF and EXTGBDATA('a' )>0 THEN BEGIN
TSELL(1,1,MKT );
EXTGBDATASET( 'a',0);
END
把么有意义的varaible:a=0给删了,在把移动止损设置为20,本地测试没问题了
我是高频交易的;止损设置成10也没问题的吧