等级: 免费版
- 注册:
- 2021-8-6
- 曾用名:
|

楼主 |
发表于 2022-9-6 21:59
|
显示全部楼层
老师,全部代码如下:
DIFF :=EMA(CLOSE,3) - EMA(CLOSE,2);
DEA :=EMA(DIFF,2);
MACD :=2*(DIFF-DEA);
手数:=1;
//交易条件
开多平空条件:=CROSS(MACD,0);//开多平空条件
开空平多条件:=CROSS(0,MACD);//开空平多条件
//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
mark:=0;
N:=300;
abb:timetot0(CLOSETIME(0))-time0,NODRAW;//当前K线时间距离收盘K线结束倒计时,在一个K上对应一个固定值
abb3:timetot0(CLOSETIME(0))-timetot0(dynainfo(207)),NODRAW;//当前时间(当前的北京时间)距离收盘K时间,在最新K上会一直变动。因为这个返回的是具体秒数
IF (abb<N and abb>=0 and (not(ISLASTBAR))) or (ISLASTBAR and abb3>=0 and abb3<N) THEN MARK:=1;
if MARK then //兼顾实际交易时候的信号和历史回测信号
begin
sell(holding>0,holding,market);
sellshort(holding<0,holding,market);
DRAWICON(1,h,1);
end
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
|
|