金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1190|回复: 13

开空单后的最低价反弹0.4%止盈出现问题

[复制链接]

3

主题

128

帖子

128

积分

Rank: 4

等级: 专业版

注册:
2023-6-5
曾用名:
发表于 2024-3-12 11:08 | 显示全部楼层 |阅读模式
今早30年国债期货开盘时9:30:01就止盈了昨天开的空单,后台程序上应该是开空单后的最低价反弹0.4%
才止盈平空单,多单之前没出现这个问题,请帮看下主要代码有什么问题吗?谢谢!主要代码如下:
BKHIGH:HHV(H,TENTERBARS+1);
SKLOW:LLV(L,TENTERBARS+1);
平多条件:=REF(C,1)<=BKHIGH*(1-0.4/100);
平空条件:=REF(C,1)>=SKLOW*(1+0.4/100);
昨日也自动收盘了。再请看图片,这个图就显示了BKHIGH:HHV(H,TENTERBARS+1)和SKLOW:LLV(L,TENTERBARS+1),但是SKLOW紫色线就一直是一条直线,应该似BKHIGH逐级抬高。虽然TENTERBARS适用于后台,但图表上这样显示感觉有些异常。
debug一直有输出的,我看数据输出也是正常的,如下:
2024-03-12 09:30:01.745    30年国债2406  多头持仓=0  头寸管理=13  最小变动价=0.0  每手乘数=10000
2024-03-12 09:30:01.746    30年国债2406  开多条件=0  开多条件T=0  C=105.70  
2024-03-12 09:30:01.746    30年国债2406  平多条件1=0  平多条件1T=0  C=105.70  
2024-03-12 09:30:01.747    30年国债2406  平多条件2=0  平多条件2T=0  BKHIGH=106.54  RM=106.11  C=105.70
2024-03-12 09:30:01.748    30年国债2406  空头持仓=13  头寸管理=13
2024-03-12 09:30:01.748    30年国债2406  开空条件=0  开空条件T=0  C=105.70  
2024-03-12 09:30:01.749    30年国债2406  平空条件1=0  平空条件1T=0  C=105.70  
2024-03-12 09:30:01.749    30年国债2406  平空条件2=1  平空条件2T=0  SKLOW=105.70  RM=106.12  C=105.70

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

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

你贴出来的这部分代码,看不出太多问题。“REF(C,1)”只有这里我看你判断用的前一个K的收盘价。我不知道这个是否有影响,因为你运行周期,开仓位置我都完全不知道,无法依据这个判断是否有问题。
既然你有输出当时的日志,我建议你提供下更具体的代码,平仓的语句以及调试输出的部分,我需要把你日志输出的数据和条件里的变量对应上。也提供下系统日志,需要确认到底是哪一行代码触发的平仓。  


还有就是你这个图上加载的指标没有参考意义,TENTERBARS 在图表上根本无法获取有效结果。


回复

使用道具 举报

3

主题

128

帖子

128

积分

Rank: 4

等级: 专业版

注册:
2023-6-5
曾用名:
 楼主| 发表于 2024-3-12 13:45 | 显示全部楼层
运行周期是30分钟,开空单时间是昨日星期一下午14点,小幅下跌持有到收盘,今早开盘就止盈平仓了。按程序逻辑是等开空单后最低价反弹0.4%平仓,并且是K线走完。

平空条件2:=REF(C,1)>=SKLOW*(1+0.4/100) AND TSELLHOLDINGEX(ZH1,'',2)>0 AND TSELLHOLDINGEX(ZH1,'',3)=0;
平空条件2T:=C>=SKLOW*(1+0.4/100) AND TIME=151500 AND PC1 AND TSELLHOLDINGEX(ZH1,'',2)>0 AND TSELLHOLDINGEX(ZH1,'',3)=0;
IF 平多条件2 OR 平多条件2T THEN TSELL(TBUYHOLDINGEX(ZH1,'',2)>0 AND TBUYHOLDINGEX(ZH1,'',3)=0,TBUYHOLDINGEX(ZH1,'',2),LMT,CLOSE-0*MINDIFF,0,ZH1,'');

2024-03-12 09:30:01.741    【后台】TL06 TSellShort 第 78 行 策略:<30M_30债> K线:2024.03.12 10:00:00 出现信号
2024-03-12 09:30:01.741    【后台】TL06 TSellShort 已成功触发下单操作 价格:105.699997 数量:13 类型:0 账户: 品种:TL06
备注:第78行就是上面的IF 平多条件2 OR 平多条件2T THEN TSELL(TBUYHOLDINGEX(ZH1,'',2)>0 AND TBUYHOLDINGEX(ZH1,'',3)=0,TBUYHOLDINGEX(ZH1,'',2),LMT,CLOSE-0*MINDIFF,0,ZH1,'');

2024-03-12 09:30:01.748    30年国债2406  空头持仓=13  头寸管理=13
2024-03-12 09:30:01.748    30年国债2406  开空条件=0  开空条件T=0  
2024-03-12 09:30:01.749    30年国债2406  平空条件1=0  平空条件1T=0  
2024-03-12 09:30:01.749    30年国债2406  平空条件2=1  平空条件2T=0  SKLOW=105.70  RM=106.12  C=105.70
其中RM=SKLOW*(1+0.4/100)
回复

使用道具 举报

3

主题

128

帖子

128

积分

Rank: 4

等级: 专业版

注册:
2023-6-5
曾用名:
 楼主| 发表于 2024-3-12 13:56 | 显示全部楼层
昨日收盘
2024-03-11 15:14:59.207    30年国债2406  空头持仓=13  头寸管理=13
2024-03-11 15:14:59.207    30年国债2406  开空条件=0  开空条件T=0  
2024-03-11 15:14:59.207    30年国债2406  平空条件1=0  平空条件1T=0  
2024-03-11 15:14:59.207    30年国债2406  平空条件2=0  平空条件2T=0  SKLOW=106.16  RM=106.58  C=106.27
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

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

你的输出里,开仓时间之前,昨天收盘之后的 SKLOW 输出是多少。
需要以开仓前的SKLOW为准,核算下。

就是今天这个时间:2024-03-12 09:30:01.741  之前的。
或者你把你输出的日志和系统日志文件直接上传下,我从里面整理下吧。

另外你这里是tsell的呀,你确定下这是你第78行的代码吗?  因为执行的是平空的语句。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

3

主题

128

帖子

128

积分

Rank: 4

等级: 专业版

注册:
2023-6-5
曾用名:
 楼主| 发表于 2024-3-12 14:37 | 显示全部楼层
我刚黏贴有误,第78行应是IF 平空条件2 OR 平空条件2T THEN TSELLSHORT(TSELLHOLDINGEX(ZH1,'',2)>0 AND TSELLHOLDINGEX(ZH1,'',3)=0,TSELLHOLDINGEX(ZH1,'',2),LMT,CLOSE+0*MINDIFF,0,ZH1,'');

昨日收盘
2024-03-11 15:14:59.207    30年国债2406  平空条件2=0  平空条件2T=0  SKLOW=106.16  RM=106.58  C=106.27

昨日收盘SKLOW=106.16,今天开盘SKLOW=105.70
回复

使用道具 举报

3

主题

128

帖子

128

积分

Rank: 4

等级: 专业版

注册:
2023-6-5
曾用名:
 楼主| 发表于 2024-3-12 14:45 | 显示全部楼层
昨日下午14点开空单后,截至到收盘都没有出现最低价反弹0.4%的情况,请看30年国债期货30分钟图。并且今早盘开盘价就执行了平空单交易,除非昨日收盘满足,那么在今天开盘时执行交易,关键是我有设置K线走完交易,以及设置了只有当日下午收盘前10秒如果盘中价格触发执行才可以交易,一般时间是不应盘中价格触发都是等K线走完才执行。
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

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

关键是我有设置K线走完交易,以及设置了只有当日下午收盘前10秒如果盘中价格触发执行才可以交易” 你是设置了走完K+软件的提前N秒下单功能?

如果你是这样的设置,你今天开盘不可能会报单的。要报单,也是第一个K要结束的时候 。所以我觉的你是不是当时设置的固定间隔啊?

如果是按照固定间隔设置来看:
核算下来当时的确是满足你设置的条件,当然了,这个条件不符合 你的思路:“最低价反弹0.4%”.不应该用 ref(c,1) 和 SKLOW*(1+0.4/100) 比较的. 应当直接用c就行了。本身SKLOW 的统计是包含了当前K的,今天低开 直接就更新掉了. 你比较的2个价格 在时间上他们是错开的了都。


或者这样,我也不管你现在怎么设置的了,你如果希望实现“最低价反弹0.4%”。 那就是直接 c和SKLOW*(1+0.4/100)比较,然后用固定间隔模式去运行后台程序化.




回复

使用道具 举报

3

主题

128

帖子

128

积分

Rank: 4

等级: 专业版

注册:
2023-6-5
曾用名:
 楼主| 发表于 2024-3-12 15:22 | 显示全部楼层
策略逻辑主要是走完K线执行,但附加一个到下午收盘之前10秒如果有信号可以固定间隔执行。
用ref(c,1)配合固定间隔的信号执行设置,完成走完K线执行,即平空条件2:=REF(C,1)>=SKLOW*(1+0.4/100) 。

同时设定平空条件2T:=C>=SKLOW*(1+0.4/100) AND TIME=151500 AND PC1 ,PC1:REMAININGTIME(151500)<=10;来完成收盘前10秒固定间隔执行。
回复

使用道具 举报

3

主题

128

帖子

128

积分

Rank: 4

等级: 专业版

注册:
2023-6-5
曾用名:
 楼主| 发表于 2024-3-12 15:41 | 显示全部楼层
好的,谢谢你。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 16:46 , Processed in 0.219269 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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