金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 胖虎爱吃鱼

虚拟持仓问题

[复制链接]

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-5-22 14:21 | 显示全部楼层
技术006 发表于 2023-5-22 13:43
不能引用cc0,被引用周期k线没结束,其结果会一直变化。自然就会闪烁。你要引用的应该是cc。即被引用周期上 ...

那这种策略组合没问题呀
//策略理论持仓
tren0:stkindiex('','一箭穿心.cc0',0,21,3,10000);  //引用3分钟周期上的策略a的h值。
wave0:stkindiex('','震荡反转.cc0',0,3,0,5000);  //引用15分钟周期上的策略b的h值。


abcholding:=tren0+wave0;
//上一根k线的理论持仓
tren1:stkindiex('','一箭穿心.cc',0,21,3,10000);  //引用3分钟周期上的策略a的h值。
wave1:stkindiex('','震荡反转.cc',0,3,0,5000);  //引用15分钟周期上的策略b的h值。
before_abcholding:=tren1+wave1;

//账户多头持仓
tbuyho:tbuyholdingex('',stklabel,1);
//账户空头持仓
tsellho:tsellholdingex('',stklabel,1);

//是否有未成交单,返回1表示有未成交
is_order:tglobalsubmitex(0,'',stklabel,0);

//如果当前品种有挂单或者理论策略的当根k理论持仓没有变化,就不执行
if is_order or (abcholding=before_abcholding) then exit;
else
begin
        //多头部分                       
        if abcholding>=0 and tsellho>0 then tsellshort(1,tsellho,lmt,c);//平空
        //理论持仓大于0,补仓
        if abcholding>0 and abcholding>tbuyho then
        begin
                tbuy(1,abcholding-tbuyho,lmt,c);
        end
        //理论持仓大于0,减仓
        if abcholding>0 and abcholding<tbuyho then
        begin
                tsell(1,tbuyho-abcholding,lmt,c);
        end

        //空头部分
        if abcholding<=0 and tbuyho>0 then tsell(1,tbuyho,lmt,c);//平多
        //理论持仓小于0,补仓
        if abcholding<0 and abs(abcholding)>tsellho then
        begin
                tbuyshort(1,abs(abcholding)-tsellho,lmt,c);
        end
        //理论持仓小于0,减仓
        if abcholding<0 and abs(abcholding)<tsellho then
        begin
                tsellshort(1,tsellho-abs(abcholding),lmt,c);
        end                        
end
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-5-22 14:44 | 显示全部楼层
胖虎爱吃鱼 发表于 2023-5-22 14:21
那这种策略组合没问题呀
//策略理论持仓
tren0:stkindiex('','一箭穿心.cc0',0,21,3,10000);  //引用3 ...

这个执行逻辑怎么可能没有问题?cc0,只要不能保证稳定,下面代码的逻辑就会混乱。
第三页中,客服不是给出了处理净持仓下单的范例代码了吗?

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-5-22 14:51 | 显示全部楼层
技术006 发表于 2023-5-22 14:44
这个执行逻辑怎么可能没有问题?cc0,只要不能保证稳定,下面代码的逻辑就会混乱。
第三页中,客服不是给 ...

已经在最后一个帖子中弄好了,代码贴出来了。关键账户还是没有同步理论持仓下单
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-5-22 14:53 | 显示全部楼层
调试的引用持仓结果没有
截图202305221452541962.png
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-5-22 14:58 | 显示全部楼层
不要调试工具,根本没有任何意义(这调试的作用一般只用循环体逻辑问题时),它根本不能反映出后台实际执行的结果。后台的执行过程使用debugfile输出各个关键因子值的结果。直接查日志即可。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-5-22 22:23 | 显示全部楼层
技术006 发表于 2023-5-22 14:58
不要调试工具,根本没有任何意义(这调试的作用一般只用循环体逻辑问题时),它根本不能反映出后台实际执行 ...

那怎么处理呢。。。
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-5-23 08:13 | 显示全部楼层
后台用debugfile调试输出函数。只有这种才能实时跟踪每次执行中各个环境的结果
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-6-1 14:15 | 显示全部楼层
请问后台多策略用了之前那个代码,是已经没问题的。但是最近下单经常会出现多下了,然后再平仓
截图202306011414267603.png
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-6-1 14:41 | 显示全部楼层
这个需要借助debugfile来输出你的理论持仓和实际仓位的信息,然后再来分析了,否则是没法查原因的。只能定位到问题了,才能想办法是否代码需要优化调整的。需要通过输出的日志,来分析是否是引用过来的理论持仓发生了变化,导致的多下,然后又平仓的,需要观察理论持仓的变化过程啊。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2023-6-1 15:26 | 显示全部楼层
技术010 发表于 2023-6-1 14:41
这个需要借助debugfile来输出你的理论持仓和实际仓位的信息,然后再来分析了,否则是没法查原因的。只能定 ...

我觉得是下面这个代码的问题,应该用不了这么多
bh_new_month_t:=tbuyholdingex('','',0);                                 //多头今仓
bh_new_month_y:=tbuyholdingex('','',1)-tbuyholdingex('','',0);          //多头老仓
sh_new_month_t:=tsellholdingex('','',0);                                //空头近今仓
sh_new_month_y:=tsellholdingex('','',1)-tsellholdingex('','',0);        //空头老仓
new_month_kd_w:=tisremainex(1,'',stklabel);                             //未成交开多单
new_month_pd_w:=tisremainex(2,'',stklabel);                             //未成交开多单
new_month_kk_w:=tisremainex(3,'',stklabel);                             //未成交开空单
new_month_pk_w:=tisremainex(4,'',stklabel);                             //未成交开多单

new_month_jcc:=(bh_new_month_y+bh_new_month_t)-(sh_new_month_y+sh_new_month_t)+(new_month_kd_w-new_month_kk_w);   //实际账户净持仓(不含平仓未成交单)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-23 01:10 , Processed in 0.144794 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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