
等级: 新手上路
- 注册:
- 2024-3-5
- 曾用名:
|
MA1 := MA(CLOSE, 5);
MA2 := MA(CLOSE, 10);
MA3 := MA(CLOSE, 20);
MA4 := MA(CLOSE, 30);
VARIABLE :ma_move:=0;
VARIABLE : 开仓数量 :=10;
VARIABLE : 平仓数量 :=10;
VARIABLE : 已开多 :=100;
VARIABLE : 已开空 :=100;
MA30 :MA (C,30); 均线向上:ALL(MA30>REF(MA30,1),3),NODRAW ;
MA5:MA (C,5);
MA10:MA (C,10);
MA20:MA(C,20);
ma60:ma(c,60);
MA30:=MA (C,30); 均线向下:ALL(MA30<REF(MA30,-1),3),NODRAW;
MA5:=MA (C,5);
MA10:=MA (C,10);
MA20:=MA(C,20);
ma60:=ma(c,60);
//更新MA_move变量
IF MA30 > REF(MA30, 1) THEN ma_move := 1;
IF MA30 < REF(MA30, 1) THEN ma_move := -1;
// 交易条件
// 计算均线交叉程度
MA_cross_degree := (ABS(MA5 - REF(MA5, 1)) + ABS(MA10 - REF(MA10, 1)) + ABS(MA20 - REF(MA20, 1)) + ABS(MA30 - REF(MA30, 1)));
// 设置阈值
threshold :=100;
// 开多条件
开多条件 :(ma5>ma60); // 开多条件
IF 开多条件 AND 已开多 = 0 and not (close=ma60) THEN BEGIN
BUY(开仓数量, 开多条件, MARKET); // 开多条件触发开仓
已开多 := 1;
END;
平多条件 :=(cross(ma5,ma60))and(ma5<ma30) and(close<ma60); // 平多条件
IF 平多条件 THEN BEGIN
SELL(平仓数量, 平多条件, MARKET ); // 平多条件触发平仓
已开多 := 0;
END;
// 开空条件
开空条件 : (ma5<ma60); // 开空条件
IF 开空条件 AND 已开空 = 0 and not (close=ma60) THEN BEGIN
BUYSHORT(开仓数量, 开空条件, MARKET); // 开空条件触发开仓
已开空 := 1;
END;
平空条件 :=(cross(ma5,ma60))and(ma5>ma30) and(close>ma60) ; // 平空条件
IF 平空条件 THEN BEGIN
SELLSHORT(平仓数量, 平空条件, MARKET); // 平空条件触发平仓
已开空 := 0;
end ;
//其他
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?
x
|