
等级: 新手上路
- 注册:
- 2025-3-3
- 曾用名:
|
// 金字塔交易策略:RSI形态突破+10%止盈
// 策略说明:
// 1. 当RSI<20且当前低点>前一个低点时,买入开多/平空
// 2. 当RSI>80且当前高点<前一个高点时,卖出开空/平多
// 3. 多头持仓盈利≥10%时止盈,空头持仓盈利≥10%时止盈
// 适用模式:"走完一根K线以后"(建议使用收盘价信号)
//====== 参数设置 ======
INPUT:
P(14, 1, 100, 1), // RSI周期
ProfitTarget(10, 1, 50, 1); // 止盈百分比
//====== 中间变量 ======
VAR:
LC(0), // 前收盘价
RSI(0), // RSI值
LastLow(0), // 前一个低点
LastHigh(0), // 前一个高点
EntryPrice_Long(0), // 多头开仓价格
EntryPrice_Short(0), // 空头开仓价格
IsFirstBar(true); // 首根K线标志
//====== 初始化 ======
IF IsFirstBar THEN BEGIN
LastLow = LOW; // 初始化低点
LastHigh = HIGH; // 初始化高点
IsFirstBar = false;
END;
//====== 计算指标 ======
LC = REF(CLOSE, 1);
RSI = SMA(MAX(CLOSE - LC, 0), P, 1) / SMA(ABS(CLOSE - LC), P, 1) * 100;
//====== 交易条件 ======
// 低点抬高条件:当前低点 > 前低点 且 RSI<20
BuyCondition = LOW > LastLow AND RSI < 20;
// 高点降低条件:当前高点 < 前高点 且 RSI>80
SellCondition = HIGH < LastHigh AND RSI > 80;
// 更新参考点
IF RSI < 20 THEN LastLow = LOW; // 更新低点参考
IF RSI > 80 THEN LastHigh = HIGH; // 更新高点参考
// 止盈条件(盈利≥10%)
LongProfit = (CLOSE - EntryPrice_Long) / EntryPrice_Long * 100 >= ProfitTarget;
ShortProfit = (EntryPrice_Short - CLOSE) / EntryPrice_Short * 100 >= ProfitTarget;
//====== 交易系统 ======
// 多头持仓止盈
SELL(LongProfit, 0, MARKET);
// 空头持仓止盈
SELLSHORT(ShortProfit, 0, MARKET);
// 开多平空条件
BUY(BuyCondition, 1, MARKET);
SELLSHORT(BuyCondition, 0, MARKET);
// 开空平多条件
BUYSHORT(SellCondition, 1, MARKET);
SELL(SellCondition, 0, MARKET);
//====== 仓位管理 ======
// 记录开仓价格
IF BuyCondition THEN BEGIN
EntryPrice_Long = CLOSE; // 记录多头开仓价
EntryPrice_Short = 0; // 清空空头开仓价
END
IF SellCondition THEN BEGIN
EntryPrice_Short = CLOSE; // 记录空头开仓价
EntryPrice_Long = 0; // 清空多头开仓价
END;
// 清空已平仓价格
IF HOLDING = 0 THEN EntryPrice_Long = 0;
IF HOLDINGSHORT = 0 THEN EntryPrice_Short = 0;
//====== 状态显示 ======
当前持仓:HOLDING, COLORGRAY;
当前资产:ASSET, NOAXIS, COLORGRAY;
DRAWTEXT(BuyCondition, LOW, '←买', COLORRED);
DRAWTEXT(SellCondition, HIGH, '←卖', COLORGREEN);
|
|