金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 340|回复: 11

代码止损逻辑没有生效

[复制链接]

83

主题

203

帖子

213

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2025-1-10 11:12 | 显示全部楼层 |阅读模式
后台程序化交易,止损代码没生效,情况如下后台策略开仓,1月6号满足条件,开仓1手
截图202501101110017491.png
止损的逻辑是,浮亏超过7%就卖,但是已经亏16%了,还没止损
截图202501101112179393.png
BUY_DAY:=ref(DATE,TENTERBARS);//开仓日
DAYDIFF:TRADINGDATEDIFF(BUY_DAY,DATE);//开仓后过了几天

//出场条件1: 浮亏大于7%止损
IF DAYDIFF>0 AND (TAVGENTERPRICE-C)/TAVGENTERPRICE>0.07 THEN
   tsell(THOLDING>0,THOLDING,MKT);//条件3



请老师帮忙看下是咋回事
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-1-10 11:17 | 显示全部楼层
本帖最后由 技术009 于 2025-1-10 11:23 编辑

TENTERBARS  需要从后台监控中获取数据的。你检查下你当前运行这个代码的后台预警的监控记录中
是否有之前的开仓记录。截图发过来看下。

截图202501101123366896.png
只有这里有记录,才能获取到开仓历时。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-1-10 11:23 | 显示全部楼层
这个只能用debugfile输出你平仓的各个条件,这些都要调试后才能知道原因的。如下,可以把调试语句加载平仓代码前面,使用后台程序化,必须要学会调试的,否则永远找不到原因的,没有执行平仓,那肯定是代码计算不满足,至于为什么和预期的不符,那只能通过调试来找原因了。
DEBUGFILE('C:\TEST.TXT',STKLABEL&' DAYDIFF='&NUMTOSTR(DAYDIFF,2)&' TAVGENTERPRICE='&NUMTOSTR(TAVGENTERPRICE,2)&' C='&NUMTOSTR(C,2)&' THOLDING='&NUMTOSTR(THOLDING,0),1);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

83

主题

203

帖子

213

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2025-1-10 11:34 | 显示全部楼层
截图202501101134392483.png
这里好像看不到之前的开仓记录
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-1-10 11:35 | 显示全部楼层
如果没有,那是没有tenterbars的值的。那就算不到daydiff的值的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-1-10 11:37 | 显示全部楼层
那就不行了。TENTERBARS 会获取不到值。

这个函数是依赖于你之前操作的记录的。你这里都没有,包括你前面那个明细里 也没看到开仓记录。

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

使用道具 举报

83

主题

203

帖子

213

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2025-1-10 11:38 | 显示全部楼层
技术009 发表于 2025-1-10 11:37
那就不行了。TENTERBARS 会获取不到值。

这个函数是依赖于你之前操作的记录的。你这里都没有,包括你前 ...

这个数据是存储到哪里的?
我开仓后改过这个策略的代码,会不会修改了,就没地方存了?
回复

使用道具 举报

2

主题

617

帖子

658

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2025-1-10 12:36 | 显示全部楼层
在后台的监控页面中,就是你4楼的页面。

修改策略代码不会影响到交易记录,只有更改设置、如更换周期这类的操作(等于从新开始了一个新品种)。

你这个没有,有可能是你删除了开平记录。你上面代码的逻辑压根不需要判断开仓几天。直接判断是否有可用持仓即可。
tbuyholidngex函数。
回复

使用道具 举报

83

主题

203

帖子

213

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2025-1-10 14:15 | 显示全部楼层
admin 发表于 2025-1-10 12:36
在后台的监控页面中,就是你4楼的页面。

修改策略代码不会影响到交易记录,只有更改设置、如更换周期这 ...

有道理啊,止损不用判断开了几天
本来加天数限制,是因为A股T+1,自己在代码里做了判断
回复

使用道具 举报

83

主题

203

帖子

213

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2025-1-10 14:18 | 显示全部楼层
截图202501101418362488.png
这里的改哪些算是更改设置了呢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-6 07:08 , Processed in 0.222143 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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