金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3725|回复: 6

后台交易在当前品种空头持仓为0时也出现平空信号

[复制链接]

4644

主题

4742

帖子

4767

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2023-6-6 09:28 | 显示全部楼层 |阅读模式
本帖最后由 代人发帖 于 2023-6-6 09:34 编辑

请教:后台交易在当前品种空头持仓为0时也出现平空信号,只是没有实际下单量与成交量,应该是没有交易信号的,持仓相关函数是否用错了或者其他问题呢?
//开仓和平仓
TBUY(开多条件1 AND T AND TBUYHOLDINGEX(ZH1,'',2)=0,头寸,LMT,CLOSE+3*MINDIFF,0,ZH1,'');
TSELL(平多条件1 AND T AND TBUYHOLDINGEX(ZH1,'',2)>0,TBUYHOLDINGEX(ZH1,'',2),LMT,CLOSE-3*MINDIFF,0,ZH1,'');

TBUYSHORT(开空条件1 AND T AND TSELLHOLDINGEX(ZH1,'',2)=0,头寸,LMT,CLOSE-3*MINDIFF,0,ZH1,'');
TSELLSHORT(平空条件1 AND T AND TSELLHOLDINGEX(ZH1,'',2)>0,TSELLHOLDINGEX(ZH1,'',2),LMT,CLOSE+3*MINDIFF,0,ZH1,'');
并且在15分钟K线换线时几个后台预警同时发出平空或平多信号
没有未成交在内,并且后面还有未成交判断与撤单语句
昨晚到今天连续出现这个问题,感觉持仓判断没算进去
请看无未成交委托,用的simnow模拟账户



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

使用道具 举报

3

主题

130

帖子

130

积分

Rank: 4

等级: 专业版

注册:
2023-6-5
曾用名:
发表于 2023-6-6 09:30 | 显示全部楼层
并且在15分钟K线换线时几个后台预警同时发出平空或平多信号
没有未成交在内,并且后面还有未成交判断与撤单语句
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-6-6 09:38 | 显示全部楼层
从你的这段平空的代码来看,没有空头持仓的话,该品种不应该触发平空指令,tsellholdingex('','',2)是包含未成交平空单的,你可以在条件中加上未成交等于0,或者就要使用debugfile来输出你的持仓,来跟踪持仓的获取情况了,便于事后分析原因。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

130

帖子

130

积分

Rank: 4

等级: 专业版

注册:
2023-6-5
曾用名:
发表于 2023-6-6 09:56 | 显示全部楼层
是应该不发出平空指令,感觉对持仓数量的调取是否存在哪些问题或者调取后再处理上有哪些冲突。按照示例最后面加了debugout语句,调试打开文档也记录的是持仓数量为0.
//监控持仓和资金状况
当前持仓量:=TBUYHOLDINGEX(ZH1,'',2);
当前可用资金:=TACCOUNT(19);
DEBUGOUT('当前持仓量%.2f',当前持仓量 );
DEBUGOUT('当前可用资金%.2f',当前可用资金 );
回复

使用道具 举报

3

主题

130

帖子

130

积分

Rank: 4

等级: 专业版

注册:
2023-6-5
曾用名:
发表于 2023-6-6 09:57 | 显示全部楼层
我后面按照示例加了如下语句,调试打开文档也显示持仓数量为0.
//监控持仓和资金状况
当前持仓量:=TBUYHOLDINGEX(ZH1,'',2);
当前可用资金:=TACCOUNT(19);
DEBUGOUT('当前持仓量%.2f',当前持仓量 );
DEBUGOUT('当前可用资金%.2f',当前可用资金 );
回复

使用道具 举报

3

主题

130

帖子

130

积分

Rank: 4

等级: 专业版

注册:
2023-6-5
曾用名:
发表于 2023-6-6 09:59 来自手机 | 显示全部楼层
我后面按照示例加了如下语句,调试打开文档也显示持仓数量为0. //监控持仓和资金状况 当前持仓量:=TBUYHOLDINGEX(ZH1,'',2); 当前可用资金:=TACCOUNT(19); DEBUGOUT('当前持仓量%.2f',当前持仓量 ); DEBUGOUT('当前可用资金%.2f',当前可用资金 );
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-6 10:12 | 显示全部楼层
首先平仓语句检查持仓是最后环节,所以如果平仓条件里没判断好持仓,那么是会在没有持仓时候触发平仓动作的,当然了实际上是会无法有效执行的。

从日志来看:
1.你空头信号是不同语句触发的64行以及72行。你贴的语句其中只有一个平空语句。你应该有一个语句没有控制好。
2. 如果某一个时刻, 2个不同语句都满足了平仓条件,第一个语句执行了平仓,到第二个语句这里时候 他们可能会因为成交回报还没返回,也触发一次下单的。这种是可用增加未成交判断来进行过滤的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-24 16:30 , Processed in 0.083981 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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