金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 336|回复: 6

网格策略执行环节求助

[复制链接]

1

主题

4

帖子

4

积分

Rank: 1

等级: 新手上路

注册:
2025-4-11
曾用名:
发表于 2025-4-11 09:17 | 显示全部楼层 |阅读模式
// 金字塔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

1

2

2

3

3

回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-4-11 09:19 | 显示全部楼层
图上是静态的,都是走完k的状态和代码里呈现实时效果本来就是不一样的

而且你这里还用了sleep这回直接整个软件延迟卡住的,建议不要使用

网格代码没办法很好编写的,建议直接用软件提供的功能吧
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

4

帖子

4

积分

Rank: 1

等级: 新手上路

注册:
2025-4-11
曾用名:
 楼主| 发表于 2025-4-11 09:44 | 显示全部楼层
技术008 发表于 2025-4-11 09:19
图上是静态的,都是走完k的状态和代码里呈现实时效果本来就是不一样的

而且你这里还用了sleep这回直接整 ...

sleep是后面加的,去掉也不影响,去掉了还是有同样的问题,我用分时图跑也是同样的问题,是软件跑策略的时候逻辑的问题吗
回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-4-11 10:00 | 显示全部楼层
盘后看到信号是走完k的状态, 固定轮询跑的是盘中情况,这两者是不一样的


类比早上大盘大涨,下午大跌变绿

你盘中和盘后看到涨跌是不一样的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

4

帖子

4

积分

Rank: 1

等级: 新手上路

注册:
2025-4-11
曾用名:
 楼主| 发表于 2025-4-11 10:06 | 显示全部楼层
技术008 发表于 2025-4-11 10:00
盘后看到信号是走完k的状态, 固定轮询跑的是盘中情况,这两者是不一样的

那我这个程序可以优化一下不?消除这个的影响,我跑实时k线也有这个问题,就很奇怪
回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-4-11 10:07 | 显示全部楼层
运行模式选择走完k,盘后才去判断信号和下单
截图202504111007359708.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

4

帖子

4

积分

Rank: 1

等级: 新手上路

注册:
2025-4-11
曾用名:
 楼主| 发表于 2025-4-11 10:30 | 显示全部楼层
技术008 发表于 2025-4-11 10:07
运行模式选择走完k,盘后才去判断信号和下单

好嘞,谢谢,我去试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-5-25 04:40 , Processed in 0.152501 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表