
等级: 新手上路
- 注册:
- 2024-3-5
- 曾用名:
|
DEA:=EMA(DIFF,M);
MACD:=2*(DIFF-DEA);
//MA 指标
VARIABLE:1F金叉:=0, 1F死叉:=0;
VARIABLE :ma_move:=0;
VARIABLE:open_long:=0; // 新增变量
VARIABLE:open_short:=0; // 新增变量
VARIABLE:open_short:=0; // 新增变量
VARIABLE:stop_loss:=0; // 新增变量
金叉1:=CROSS(DIFF,DEA),NODRAW;
死叉1:=CROSS(DEA,DIFF),NODRAW;
金叉K: =barslast(金叉1>0),NODRAW;
死叉K: =BARSLAST(死叉1>0),NODRAW;
IF 金叉K=0 then BEGIN
1F金叉:=1;1F死叉:=0;
级别:=1;
END
IF 死叉K=0 then BEGIN
1F金叉:=0:;1F死叉:=1;
级别:=1;
END
1F金叉值:1F金叉,;
1F死叉值:1F死叉,;
3F金叉:STKINDI('','MACD引用.金叉值’,0,17,-1),NODRAW;
3F死叉:STKINDI('','MACD引用.金叉值’,0,17,-1),NODRAW;
5F金叉:STKINDI('','MACD引用.金叉值’,0,2,-1),NODRAW;
5F死叉:STKINDI('','MACD引用.金叉值’,0,2,-1),NODRAW;
10F金叉:STKINDI('','MACD引用.金叉值’,0,18,-1),NODRAW;
10F死叉:STKINDI('','MACD引用.金叉值’,0,18,-1),NODRAW;
15F金叉:STKINDI('','MACD引用.金叉值’,0,3,-1),NODRAW;
15F死叉:STKINDI('','MACD引用.金叉值’,0,3,-1),NODRAW;
30F金叉:STKINDI('','MACD引用.金叉值’,0,4,-1),NODRAW;
30F死叉:STKINDI('','MACD引用.金叉值’,0,4,-1),NODRAW;
MA36 :MA (C,36); 均线向上:ALL(MA36>REF(MA36,1),3), ;
MA36:=MA (C,36); 均线向下:ALL(MA36<REF(MA36,1),3),;
//更新MA_move变量
IF 均线向上 THEN MA_move:=1;
IF 均线向下 THEN MA_move:=-1;
手数:=ss;
//交易条件
// 更新open_long变量
开多平空条件:=CROSS(MACD,0);//开多平空条件
开空平多条件:=CROSS(0,MACD);//开空平多条件
//交易执行
// 添加新的交易条件
IF 金叉1 AND 均线向上 AND REF(MA36,1) < MA36 THEN open_long:=1;
IF 死叉1 AND 均线向下 AND REF(MA36,1) > MA36 THEN open_short:=1;
EXITSHORT:=CROSS(MACD,0) AND holding>0,TFILTER;
EXITLONG:=CROSS(0,MACD) AND holding>0,TFILTER;
ENTERLONG:=金叉1 AND 均线向上 AND REF(MA36,1) < MA36,TFILTER;
ENTERSHORT:=死叉1 AND 均线向下 AND REF(MA36,1) > MA36,TFILTER;
// 添加开仓信号的提示
IF 金叉1 AND 均线向上 AND REF(MA36,1) < MA36 THEN BEGIN
open_long:=1;
END;
IF 死叉1 AND 均线向下 AND REF(MA36,1) > MA36 THEN BEGIN
open_short:=1;
END;
// 添加新的交易条件
IF 开多平空条件 THEN BEGIN
EXITSHORT:=1;
EXITLONG:=0;
END
IF 开空平多条件 THEN BEGIN
EXITSHORT:=0;
EXITLONG:=1;
END
IF 开多平空条件 THEN BEGIN
ENTERLONG:=1;
ENTERSHORT:=0;
END
IF 开空平多条件 THEN BEGIN
ENTERLONG:=0;
ENTERSHORT:=1;
END |
|