
等级: 新手上路
- 注册:
- 2025-7-17
- 曾用名:
|

楼主 |
发表于 2025-7-20 10:52
|
显示全部楼层
//------------------------------------------------------------------------
// 简称: PriceGridStrategy
// 名称: 价格基准网格策略
// 类别: 公式应用
// 类型: 震荡
// 开仓逻辑:价格下跌0.5%时市价开多,价格上涨0.5%时限价开空
// 平仓逻辑:价格上涨0.7%时市价平多,价格下跌0.7%时市价平空
// 适用周期:日内
// 注意事项:基准价在每次交易后更新为最新成交价,适用于价格震荡行情
//------------------------------------------------------------------------
// 输入参数
INPUT:手数(1,1,100,1); // 开仓手数参数
INPUT:多开(0.5,0.1,2,0.05); // 多头开仓跌幅阈值(百分比)
INPUT:多平(0.7,0.1,2,0.05); // 多头平仓涨幅阈值(百分比)
INPUT:空开(0.5,0.1,2,0.05); // 空头开仓涨幅阈值(百分比)
INPUT:空平(0.7,0.1,2,0.05); // 空头平仓跌幅阈值(百分比)
// 定义变量
globalvariable:basePrice=REF(C,1); // 基准价初始化为当前收盘价
globalvariable:lastTradePrice=0; // 最后成交价初始化为0
// 定义买多条件
开多条件 := C <= basePrice*(1-多开/100); // 当前价格下跌0.5%
// 定义平多条件
平多条件 := C >= basePrice*(1+多平/100); // 当前价格上涨0.7%
// 定义卖空条件
开空条件 := C >= basePrice*(1+空开/100); // 当前价格上涨0.5%
// 定义平空条件
平空条件 := C <= basePrice*(1-空平/100); // 当前价格下跌0.7%
// 执行交易
IF 开多条件 THEN BEGIN
TBUY(TSELLHOLDING(1)<1, 手数, MKT); // 以当前价格市价开多
lastTradePrice := TENTERPRICE; // 记录成交价
basePrice := lastTradePrice; // 更新基准价
END
IF 平多条件 THEN BEGIN
TSELL(TBUYHOLDING(1)>0, 手数, MKT); // 以当前价格市价平多
lastTradePrice := TEXITPRICE; // 记录成交价
basePrice := lastTradePrice; // 更新基准价
END
IF 平空条件 THEN BEGIN
TSELLSHORT(TSELLHOLDING(1)>0, 手数, MKT); // 以当前价格市价平空
lastTradePrice := TEXITPRICE; // 记录成交价
basePrice := lastTradePrice; // 更新基准价
END
IF 开空条件 THEN BEGIN
TBUYSHORT(TBUYHOLDING(1)<1, 手数, MKT); // 以当前价格市价开空
lastTradePrice := TENTERPRICE; // 记录成交价
basePrice := lastTradePrice; // 更新基准价
END |
|