等级: 免费版
- 注册:
- 2021-7-20
- 曾用名:
|
楼主 |
发表于 2021-8-23 11:20
|
显示全部楼层
好的,那你测试下,多谢。
ZH1:='';
下单资金量:=20000;
ss:=FLOOR(下单资金量/(100*c)) ;//单位是手
股数:=ss*100;//单位是股
S1:=股数;//每个交易品种投入约2万元,以股数为计量。
if STKLABEL='' then S1:=股数;
ct1:=EXTGBDATA('CT1_'+S1);//和品种挂钩的 全局变量名称
stra:='b'+'_'+STKLABEL;//
VARIABLE:stra=0;
MA5:=MA(CLOSE,5);
MA10:=MA(CLOSE,10);
ma差:=ma1-ma2;//
kd3:=ma差>0;
PD:=ma差<0;
cd1:=TAVGENTERPRICEEX2(zh1,'',0)/DYNAINFO(7)>=1.05 and TTYPE(1)=1;
if cd1 then begin
tsell(cd1,TBUYHOLDINGEX(ZH1,'',1),MKT,1,ZH1,'');//0全部执行止损
end
//回撤开始
//将A赋值为1,表示当前有持仓
IF TBUYHOLDINGEX(ZH1,'' ,0 )>0 AND EXTGBDATA(stra)=0 THEN BEGIN
EXTGBDATASET(stra,1 );
END
//使A始终表示监控开始后的最高价:DYNAINFO(5)
IF DYNAINFO(5)>EXTGBDATA(stra) and EXTGBDATA(stra)>0 THEN BEGIN
EXTGBDATASET(stra,DYNAINFO(5));
END
//{测试移动止损开始}
IF EXTGBDATA(stra)- DYNAINFO(5)/DYNAINFO(7)>1.02 and EXTGBDATA(stra)>0 THEN BEGIN
TSELL(1,TBUYHOLDINGEX(ZH1,'',1),MKT,1,ZH1,'');
EXTGBDATASET(stra,0);//发现价格回落止损,并将a赋值为0表示移动止损动作完成
END
cd:=TENTERBARS(0)=-1 or TENTERBARS(0)>=3;
buy_COND:=DYNAINFO(7)/TAVGENTERPRICEEX2(ZH1,'' ,0)>=1.02 and TAVGENTERPRICEEX2(ZH1,'' ,0)<>0 or TAVGENTERPRICEEX2(ZH1,'' ,0)=0 ;
if kd3 then begin //这二条都是为了防止重复开仓
TBUY(kd3 and cd and TBUYHOLDINGEX(ZH1,'' ,1)<1 and buy_COND,S1,LMT,CLOSE,1,ZH1,'');//
end
BBj:=TAVGENTERPRICEEX2(ZH1,'',0);//多头持仓均价
Byk:=DYNAINFO(7)/BBj;//
IF byk>1.02 and EXTGBDATA('CT1_'+S1)<=0 and TBUYHOLDINGEX(ZH1,'',1)>100 THEN begin //
TBUY(kd3 and TBUYHOLDINGEX(ZH1,'' ,1)>100,S1,LMT,CLOSE,1,ZH1,'');//仓位判断问题,股票单位是股/100股了
EXTGBDATASET('CT1_'+S1,ct1+1);//第二次加多仓
EXTGBDATASET('CT1_'+S1,ct1+2);//第3次加多仓
end
TSELL(pd,TBUYHOLDINGEX(ZH1,'',1),MKT,1,ZH1,'');
if pd then EXTGBDATASET('CT1_'+S1,0); //平仓时候重置 超全局变量 |
|