金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 106137

后台多策略以净持仓方式发开平指令

[复制链接]

33

主题

212

帖子

212

积分

Rank: 4

等级: 专业版

注册:
2024-6-21
曾用名:
 楼主| 发表于 2024-12-2 09:17 | 显示全部楼层
ho1:stkindiex(stklabel,'策略1工业硅.ho',0,6,-1,500);
ho2:stkindiex(stklabel,'策略2工业硅.ho',0,6,-1,500);
  
//上一根k线的理论持仓
ho:ho1+ho2;
ho6:stkindiex(stklabel,'策略1工业硅.ho',0,6,0,500);
ho7:stkindiex(stklabel,'策略2工业硅.ho',0,6,0,500);
//集合竞价时候,我们直接对比实际持仓和当前的理论持仓。因为这时候新的K线其实没有生成.这时候的理论持仓其实是前面已经确定的历史的理论持仓,可以直接操作的
//当前K线理论持仓
hc:ho6+ho7;
   
//账户多头持仓
tbuyho:tbuyholdingex('',stklabel,1);
//账户空头持仓
tsellho:tsellholdingex('',stklabel,1);
//是否有未成交单,返回1表示有未成交
is_order:tglobalsubmitex(0,'',stklabel,0);
//如果当前品种有挂单就不执行
if is_order then exit;
//集合竞价时间 请根据品种自行配置。必须是北京时间,不是金字塔时间。夜盘205500-205900,白盘085500-085900,中金所092500-092900
isjh:currenttime>085500 andcurrenttime<085900;
//注意报单价,如果不合理有可能不成交,目前是采用基于对手价超价报单(涨跌停价格取不到,只能用盘口对手价操作),我改为前一日结算价加减一个最小变动价位。若不成交,则连续竞价前撤单,之后市价发单
if isjh then
begin
   //多头部分   
                  
   ifhc>=0 and tsellho>0 then tsellshort(1,tsellho,lmt,DYNAINFO(62)*1+0.05)-mindiff);
   //理论持仓大于0,补仓
   ifhc>0 and hc>tbuyho then
  begin
       tbuy(1,hc-tbuyho,lmt,DYNAINFO(62)*1+0.05)-mindiff);
  end
   //理论持仓大于0,减仓
   ifhc>0 and hc<tbuyho then
  begin
       tsell(1,tbuyho-hc,lmt,DYNAINFO(62)*1-0.05)+mindiff);
  end
   //空头部分
   ifhc<=0 and tbuyho>0 then tsell(1,tbuyho,lmt,DYNAINFO(62)*1-0.05)+mindiff);
   //理论持仓小于0,补仓
   ifhc<0 and abs(hc)>tsellho then
  begin
       tbuyshort(1,abs(hc)-tsellho,lmt,DYNAINFO(62)*1-0.05)+mindiff);
  end
   //理论持仓小于0,减仓
   ifhc<0 and abs(hc)<tsellho then
  begin
       tsellshort(1,tsellho-abs(hc),lmt,DYNAINFO(62)*1+0.05)-mindiff);
  end                        
end
//集合竞价申报时间结束,时间一到,撤掉所有挂单
TCANCEL (currenttime>085930 andcurrenttime<085935,0);
  
//连续交易阶段.和集合竞价阶段谁先谁后顺序没有关系。因为单品种运行,没有加 and currenttime>=090000,中间代码在此处省略
if not(isjh)  then
begin   

省略
                                    
end

回复

使用道具 举报

33

主题

212

帖子

212

积分

Rank: 4

等级: 专业版

注册:
2024-6-21
曾用名:
 楼主| 发表于 2024-12-2 09:24 | 显示全部楼层
上述代码用于实盘工业硅,(不间断监控打勾,只在交易时间刷新去勾,交易时段选项去勾),1分钟图+固定1秒轮询+5根K后台预警运行,仍旧是8点59分有警告,8点59分集合竞价未成交,9点01有警告,9点01分成交,请老师帮忙分析下8点59分工业硅集合竞价未成交的原因,谢谢!
1.jpg
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-12-2 09:45 | 显示全部楼层
本帖最后由 资深技术05 于 2024-12-2 09:49 编辑

按照我前面的写法。 8:59 不应该有满足任何信号条件的。 集合竞价时间条件直接就限制了条件的呀。

你这个集合竞价时间条件是怎么写的?你这个报单又是在撮合阶段报进去的。这个之前说过不止一次了吧。撮合阶段,你报不了单的呀。


回复

使用道具 举报

33

主题

212

帖子

212

积分

Rank: 4

等级: 专业版

注册:
2024-6-21
曾用名:
 楼主| 发表于 2024-12-2 10:54 | 显示全部楼层
集合竞价时间就是这个isjh:currenttime>085500 andcurrenttime<085900;
集合竞价申报时间结束,时间一到,撤掉所有挂单,是下面这个
TCANCEL (currenttime>085930 andcurrenttime<085935,0);
实盘运行就是这个代码
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-12-2 13:16 | 显示全部楼层
你日志发我看下。我 看下你这个报单时间。按照你那个写法 不应该在29之后报单才对的呀。
回复

使用道具 举报

33

主题

212

帖子

212

积分

Rank: 4

等级: 专业版

注册:
2024-6-21
曾用名:
 楼主| 发表于 2024-12-2 14:32 | 显示全部楼层
资深技术05 发表于 2024-12-2 13:16
你日志发我看下。我 看下你这个报单时间。按照你那个写法 不应该在29之后报单才对的呀。

哪一个?
1.jpg
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-12-2 14:41 | 显示全部楼层
截图202412021441172162.png

这个先给下吧。 其他的都是26号的。
回复

使用道具 举报

33

主题

212

帖子

212

积分

Rank: 4

等级: 专业版

注册:
2024-6-21
曾用名:
 楼主| 发表于 2024-12-2 14:41 | 显示全部楼层
上传了交易日志

PleaceOrder.txt2024-12-02 09#01#09.txt

500.01 KB, 下载次数: 3

回复

使用道具 举报

33

主题

212

帖子

212

积分

Rank: 4

等级: 专业版

注册:
2024-6-21
曾用名:
 楼主| 发表于 2024-12-2 14:43 | 显示全部楼层
资深技术05 发表于 2024-12-2 14:41
这个先给下吧。 其他的都是26号的。

[url=]PleaceOrder.txt[/url]

PleaceOrder.txt

104 KB, 下载次数: 2

回复

使用道具 举报

33

主题

212

帖子

212

积分

Rank: 4

等级: 专业版

注册:
2024-6-21
曾用名:
 楼主| 发表于 2024-12-2 14:47 | 显示全部楼层
不用看尿素,尿素的净持仓策略没有用到集合竞价。暂时就是工业硅用集合竞价试一下,一个品种单独用一个净持仓策略。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 13:49 , Processed in 0.243300 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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