
等级: 新手上路
- 注册:
- 2025-4-11
- 曾用名:
|
// 金字塔PEL网格策略-豆粕
// 策略规则:以3400为基准,涨5点开空1手,跌5点平空;跌5点开多1手,涨5点平多
//--- 全局变量定义 ---
VARIABLE:
BasePrice:=3400; // 网格基准价格
CHICANG:=HOLDING(); // 获取持仓
WANGGE:=5; //每个网格的大小
SHOUSHU:=1; //每个网格开仓手数
FLOORS:=0; //持仓对应的网格层数
DIFF0:=0; //当前价格对应网格层数向上取整
DIFF1:=0; //当前价格对应网格层数向下取整
DIFF2:=0; //当前价格小于基准价格时,当前价格加上已成交网格数价格与基准价格之差
DIFF3:=0; //当前价格大于于基准价格时,当前价格加上已成交网格数价格与基准价格之差
BEGIN
FLOORS :=FLOOR(CHICANG/SHOUSHU);
CURRENTPRICE := CLOSE; // 使用最新价判断
DIFF1 :=FLOOR( ABS((CURRENTPRICE-BasePrice)/WANGGE));
DIFF0 :=CEILING( ABS((CURRENTPRICE-BasePrice)/WANGGE));
DIFF2 :=CURRENTPRICE+FLOORS*WANGGE-BasePrice;
DIFF3 :=CURRENTPRICE-FLOORS*WANGGE-BasePrice;
IF CURRENTPRICE > BasePrice AND DIFF3 >=WANGGE THEN BEGIN
BUYSHORT(1,(DIFF1-FLOORS)*SHOUSHU,MARKET);
SLEEP(2000);
END;
IF CURRENTPRICE > BasePrice AND DIFF3 <= (WANGGE*-1) THEN BEGIN
SELLSHORT(1,(FLOORS-DIFF0)*SHOUSHU,MARKET);
SLEEP(2000);
END;
IF CURRENTPRICE < BasePrice AND DIFF2 <=(WANGGE*-1) THEN BEGIN
BUY(1,(DIFF1-FLOORS)*SHOUSHU,MARKET);
SLEEP(2000);
END;
IF CURRENTPRICE < BasePrice AND DIFF2 >=WANGGE THEN BEGIN
SELL(1,(FLOORS-DIFF0)*SHOUSHU,MARKET);
SLEEP(2000);
END;
END;
以上是自己写的简单的网格策略,现在模拟账号有一个问题就是在图表程序化运行过程中,K线图上没有发开平仓命令,但是自己就开平仓了,不知道是哪里有问题,麻烦大佬帮忙看看。
1
2
3
|
|