金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3163|回复: 5

图表改后台问题?

[复制链接]

75

主题

300

帖子

300

积分

等级: 免费版

注册:
2021-6-1
曾用名:
发表于 2021-12-8 10:07 | 显示全部楼层 |阅读模式
本帖最后由 技术006 于 2021-12-8 10:56 编辑

我们从图表转入后台时候往往会发现后台没有持仓同步这个功能,那是因为后台本质上使用的是账户持仓而非理论持仓
那么如果我们还是想要实现这个功能怎么办呢,这边给出一个模板范例大致原理就是获取图表策略的理论持仓holding然后和账户持仓做匹配。
此外范例增加了有未成交单或者图表最新的持仓和上一根不一样(最新k有发生持仓变化),此时同步不会执行。

注意:所引用的策略最后要输出一个ho:holding;用来被调用,另外这里默认调用500根k计算得出持仓结果,如果要和图表上进行对应也需要控制图表k线数量在500
另外这里策略理论持仓是一个策略的,如果你有多个策略引用可以进行多个策略的stkindiex,然后把引用过来的持仓加起来得到一个总的理论持仓


//策略理论持仓
ho1:stkindiex(stklabel,'BOLL布林带交易系统.ho',0,1,0,500);
//上一根k线的理论持仓
before_ho1:stkindiex(stklabel,'BOLL布林带交易系统.ho',0,1,-1,500);
//账户多头持仓
tbuyho:tbuyholdingex('',STKLABEL,1);
//账户空头持仓
tsellho:tsellholdingex('',STKLABEL,1);
//是否有未成交单,返回1表示有未成交
is_order:TGLOBALSUBMITEX(0,'',stklabel,0);

//如果当前品种有挂单或者理论策略的当根k理论持仓有变化,就不执行
if is_order or (ho1<>before_ho1) then exit;
else
BEGIN
        //多头部分
        //理论持仓大于0,补仓
        if ho1>0 and ho1>tbuyho then
        BEGIN
                tbuy(1,ho1-tbuyho,mkt);
        END
        //理论持仓大于0,减仓
        if ho1>=0 and ho1<tbuyho then
        BEGIN
                tsell(1,tbuyho-ho1,mkt);
        END

        //空头部分
        //理论持仓小于0,补仓
        if ho1<0 and abs(ho1)>tsellho then
        BEGIN
                tbuyshort(1,abs(ho1)-tsellho,mkt);
        END
        //理论持仓小于0,减仓
        if ho1<=0 and abs(ho1)<tsellho then
        BEGIN
                tsellshort(1,tsellho-abs(ho1),mkt);
        END                        
END
这段代码是实现持仓校对,实现的时候需要写个图表策略,输出持仓吗?然后在写个后台策略,引用图表策略的持仓和账号实际持仓做对比,来校对吗?
回复

使用道具 举报

30

主题

7077

帖子

7087

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-12-8 10:09 | 显示全部楼层
是的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

75

主题

300

帖子

300

积分

等级: 免费版

注册:
2021-6-1
曾用名:
 楼主| 发表于 2021-12-8 10:20 | 显示全部楼层

f is_order or (ho1<>before_ho1) then exit;为何要有这句呢?没有理解
回复

使用道具 举报

30

主题

7077

帖子

7087

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-12-8 10:22 | 显示全部楼层
//如果当前品种有挂单或者理论策略的当根k理论持仓有变化,就不执行

就是这个呀,这个看你需求可加可不加,还请用户理解下
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

75

主题

300

帖子

300

积分

等级: 免费版

注册:
2021-6-1
曾用名:
 楼主| 发表于 2021-12-8 10:42 | 显示全部楼层
技术008 发表于 2021-12-8 10:22
//如果当前品种有挂单或者理论策略的当根k理论持仓有变化,就不执行

就是这个呀,这个看你需求可加可不 ...

最新的持仓和上一根不一样(最新k有发生持仓变化),为什么要这样判断呢?有点不理解,麻烦解释一下
回复

使用道具 举报

30

主题

7077

帖子

7087

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-12-8 11:01 | 显示全部楼层
本帖最后由 技术008 于 2021-12-8 11:04 编辑

那你可以去掉,这个只是我个人这么处理,模拟图表当前k有信号不进行同步这样一个动作
很多东西都是带有个人想法的逻辑,这个不一定是每个人都适用,所以你一定是在理解基础上可以自己去修改而不是只能照着适用
每个人想法是不一样的,举个最简单例子,有挂单我到底要不要同步
不管你怎么选永远有人会有其他想法,所以你要有能能力自己读懂代码然后改造成自己的,否者你。。。。。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 17:22 , Processed in 0.277822 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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