 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
|
// 参数设置
INPUT:POSITION_RATE1(30,10,100,1); // 初始开仓百分比
INPUT:POSITION_RATE2(60,10,100,1); // 补仓百分比
INPUT:LOSS_PCT(10,1,20,1); // 止损百分比
INPUT:CCL_INCREASE(20,5,50,1); // CCL增仓百分比阈值
// 跨周期调用日线数据
日线持仓量 := openint; // 日线持仓量
日线成交量 := vol; // 日线成交量
日线收盘价 := close; // 日线收盘价
// 均线计算
MA5 := MA(日线收盘价,5);
// CCL指标计算 (简化处理,假设CCL指标值越大表示多方力量越强)
// 这里使用CCI指标模拟CCL指标行为
TYP := (HIGH + LOW + CLOSE)/3;
CCL := (TYP - MA(TYP,14))/(0.015 * AVEDEV(TYP,14));
// 卖空开仓条件
// 条件1:价格在5日均线上方
COND1 := 日线收盘价 > MA5;
// 条件2:CCL指标连续3日以上显示空平信号 (CCL值连续下降)
COND2 := ALL(CCL < REF(CCL,1), 3);
// 卖空开仓信号
SHORT_SIGNAL := COND1 AND COND2;
// 平仓条件
// 条件A:CCL指标连续2日以上多方增仓20%以上 (CCL值连续上升且增幅达标)
COND_A := ALL(CCL/REF(CCL,1) >= 1 + CCL_INCREASE/100, 2);
// 条件B:成交量和持仓量放大 (较前一日增加10%以上)
COND_B := 日线成交量/REF(日线成交量,1) >= 1 AND
日线持仓量/REF(日线持仓量,1) >= 1;
// 平仓信号
COVER_SIGNAL := COND_A AND COND_B;
// 仓位管理
VARIABLE:SHORT_POSITION := 0; // 空头仓位百分比
// 卖空开仓逻辑
IF SHORT_SIGNAL AND SHORT_POSITION = 0 THEN BEGIN
BUYSHORT(1, 30%, MARKET);
SHORT_POSITION := POSITION_RATE1;
END
// 补仓逻辑
IF SHORT_POSITION > 0 AND SHORT_POSITION < 90 THEN BEGIN
// 计算当前浮动盈亏
FLOAT_LOSS := (ENTERPRICE - 日线收盘价)/ENTERPRICE * 100;
// 亏损10%补仓60%
IF FLOAT_LOSS <= -10 THEN BEGIN
BUYSHORT(1, 60%, MARKET);
SHORT_POSITION := SHORT_POSITION + POSITION_RATE2;
END
END
// 止损逻辑
IF SHORT_POSITION > 0 THEN BEGIN
// 计算总仓位盈亏
TOTAL_LOSS := OPENPROFITPER;
// 总仓位亏损10%止损
IF TOTAL_LOSS <= -LOSS_PCT THEN BEGIN
SELLSHORT(1, 100%, MARKET);
SHORT_POSITION := 0;
END
END
// 平仓逻辑
IF COVER_SIGNAL AND SHORT_POSITION > 0 THEN BEGIN
SELLSHORT(1, 100%, MARKET);
SHORT_POSITION := 0;
END
|
|