
等级: 新手上路
- 注册:
- 2021-6-3
- 曾用名:
|
INPUT:
N(13, 5, 50), // 突破周期参数
M(1, 1, 100); // 交易手数
VARIABLE:
HH13: =0, // 前N根K线最高价
LL13: =0; // 前N根K线最低价
ENTERPRICE=0; // 持仓均价
// 计算前N根K线极值(不含当前K线)
HH13: =HHV(HIGH, N); // 前N根最高价
LL13: = REF(LLV(LOW, N), 1); // 前N根最低价
// 多空信号计算
BuyCondition: = CLOSE > HH13 AND HOLDING = 0; // 突破前高且无持仓
SellCondition := CLOSE < LL13 AND HOLDING = 0; // 跌破前低且无持仓
// 保本止损计算
LongStopCondition: = LOW <= ENTERPRICE AND HOLDING > 0; // 多单保本触发
ShortStopCondition: = HIGH >= ENTERPRICE AND HOLDING < 0;// 空单保本触发
// 反向平仓条件
LongExitCondition: = CLOSE < LL13 AND HOLDING > 0; // 多单平仓条件
ShortExitCondition: = CLOSE > HH13 AND HOLDING < 0; // 空单平仓条件
// 交易系统
IF BuyCondition THEN BEGIN
BUY(BuyCondition, M, MARKET);
ENTERPRICE = CLOSE; // 记录入场价格
END
IF SellCondition THEN BEGIN
SELLSHORT(1, M, MARKET);
ENTERPRICE = CLOSE; // 记录入场价格
END
// 多单处理
IF HOLDING > 0 THEN BEGIN
IF LongStopCondition THEN
SELL(1, M, MARKET);
IF LongExitCondition THEN
SELL(1, M, MARKET);
END
// 空单处理
IF HOLDING < 0 THEN BEGIN
IF ShortStopCondition THEN
SELLSHORT(1, M, MARKET);
IF ShortExitCondition THEN
SELLSHORT(1, M, MARKET);
END
// 图表标记(可选)
DRAWICON(BuyCondition, LOW, 1); // 做多标记
DRAWICON(SellCondition, HIGH, 2); // 做空标记
持仓:holding,linethick0;
资产:asset,noaxis;
可用现金:cash(0),linethick0;
|
|