 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
|
{ 180均线与55均线多空策略
策略逻辑:
1. 180均线作为多空方向判断
2. 55均线作为操作周期
3. 做空条件:价格在180均线下且向下突破55均线
4. 做多条件:价格在180均线上且向上突破55均线
5. 止损:开仓K线的上一K线高点(空单)/低点(多单)
6. 止盈:55均线被反向突破时
}
// ========== 参数设置 ==========
INPUT:MA180_PERIOD(180,10,500,1); // 180均线周期
INPUT:MA55_PERIOD(55,10,100,1); // 55均线周期
INPUT:LOTS(1,1,100,1); // 开仓手数
// ========== 指标计算 ==========
MA180 := MA(CLOSE,MA180_PERIOD); // 180均线
MA55 := MA(CLOSE,MA55_PERIOD); // 55均线
// ========== 交易信号 ==========
// 做空条件:价格在180均线下且向下突破55均线
SHORT_COND := CLOSE < MA180 AND CROSS(MA55,CLOSE)=1;
// 做多条件:价格在180均线上且向上突破55均线
LONG_COND := CLOSE > MA180 AND CROSS(CLOSE,MA55)=1;
// ========== 交易执行 ==========
temp:=ref(high,1);
// 做空开仓
IF SHORT_COND AND HOLDING = 0 THEN BEGIN
BUYSHORT(1, LOTS, MARKET);
// 止损设为上一K线高点
STOP_LOSS_PRICE := temp;
// 记录开仓时的55均线值
ENTRY_MA55 := MA55;
END;
// 做多开仓
temp:=ref(low,1);
IF LONG_COND AND HOLDING = 0 THEN BEGIN
BUY(1, LOTS, MARKET);
// 止损设为上一K线低点
STOP_LOSS_PRICE := temp;
// 记录开仓时的55均线值
ENTRY_MA55 := MA55;
END;
// ========== 止损止盈管理 ==========
// 空单止损止盈
temp:=CROSS(CLOSE,MA55);
IF HOLDING < 0 THEN BEGIN
// 止损执行
IF HIGH >= STOP_LOSS_PRICE THEN
SELLSHORT(1, HOLDING, MARKET);
// 止盈条件:55均线被向上突破
IF temp=1 THEN
SELLSHORT(1, HOLDING, MARKET);
END;
temp:=CROSS(MA55,CLOSE);
// 多单止损止盈
IF HOLDING > 0 THEN BEGIN
// 止损执行
IF LOW <= STOP_LOSS_PRICE THEN
SELL(1, HOLDING, MARKET);
// 止盈条件:55均线被向下突破
IF temp=1 THEN
SELL(1, HOLDING, MARKET);
END;
|
|