金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3802|回复: 14

代码相关的小问题

[复制链接]

33

主题

145

帖子

145

积分

等级: 免费版

注册:
2023-10-12
曾用名:
发表于 2024-1-3 21:20 | 显示全部楼层 |阅读模式
1. 代码的前后顺序(没有逻辑嵌套关系、没有不同的判断条件)是否会影响执行的先后?
如:if currenttime>145500 then begin
             buy(...)
             sell(...)
这两者哪个会先被执行
2. 我对图中上方框内止损后反弹开仓的交易模块进行了改写,整合到止损交易模块中去,图表信号和回测结果就变了,感觉嵌套后逻辑应该是一样的,有点不太理解
3. 在一个复杂的交易系统中,比如既有多空,有加减仓,有止损和反弹后的开仓、有平仓后的反手等等,,在交易框架和顺序逻辑编写上,有没有一套比较普遍和通用的框架编写方法,使得各个交易模块不会相互交织和混乱


本帖子中包含更多资源

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

x
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-1-4 09:52 | 显示全部楼层
1.有影响,指标肯定是按顺序计算条件是否满足。  
2.具体要看上下文其他地方。仅仅你提供的这部分可能无法判断,因为逻辑上似乎应该是一样的。你可以把这2版加载在相同K线图上,然后看信号什么时候出现分叉的。  我估摸可能和你这个全局变量在其他地方的赋值之类的有关系。

3.这个没有。都是在相同的仓位上进行开平,几乎很难避免相互的干扰,全靠编写经验了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

33

主题

145

帖子

145

积分

等级: 免费版

注册:
2023-10-12
曾用名:
 楼主| 发表于 2024-1-4 15:03 | 显示全部楼层
找了半天原因还是没有发现问题出在哪儿,对比了下改写前后的信号,发现改写后的所有反弹开仓信号都消失了,这个可能是什么原因造成的,感觉这个就是最大的区别所在了,把代码发上来有劳老师帮看下哈,除了框内其它代码都是一样的

本帖子中包含更多资源

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

x
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-1-4 15:15 | 显示全部楼层
PIN 发表于 2024-1-4 15:03
找了半天原因还是没有发现问题出在哪儿,对比了下改写前后的信号,发现改写后的所有反弹开仓信号都 ...

右边的逻辑主干等同于
cond_stop and cond_buy4 ,即开仓条件必须同时满足cond_stop和cond_buy4

左边的则是可以分开满足,只要cond_stop成立过,之后任意位置上只要cond_buy4成立就会进入开仓。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

33

主题

145

帖子

145

积分

等级: 免费版

注册:
2023-10-12
曾用名:
 楼主| 发表于 2024-1-4 16:19 | 显示全部楼层
技术006 发表于 2024-1-4 15:15
右边的逻辑主干等同于
cond_stop and cond_buy4 ,即开仓条件必须同时满足cond_stop和cond_buy4

好像是这么个道理,我想表达的是if 止损:sell(1,0,market) and holding=0 and cond_buy4 then 反弹开仓,这样的话如果不用mark进行标记,并且想把反弹开仓的交易指令嵌套进止损模块中,这个的话有办法实现嘛?

补充内容 (2024-1-4 16:21):
就是有没有什么语法能把上一个if的结果,作为下一个if判断条件进行嵌套的
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-1-4 16:49 | 显示全部楼层
那不就是左边的写法吗。你上面的连个逻辑,主要看哪一个是符合自己的实际目的。本质上是全局变量标记的逻辑包含另个逻辑范围。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

33

主题

145

帖子

145

积分

等级: 免费版

注册:
2023-10-12
曾用名:
 楼主| 发表于 2024-1-4 16:54 | 显示全部楼层
技术006 发表于 2024-1-4 16:49
那不就是左边的写法吗。你上面的连个逻辑,主要看哪一个是符合自己的实际目的。本质上是全局变量标记的逻辑 ...

好的,我就是想把代码模块整的简单一点,我再研究研究
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-1-4 16:55 | 显示全部楼层
这个是逻辑问题,所以需要先理顺自己本质目标。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

33

主题

145

帖子

145

积分

等级: 免费版

注册:
2023-10-12
曾用名:
 楼主| 发表于 2024-1-4 21:01 | 显示全部楼层
收到,有两个小问题哈:
1. 这个反弹开仓信号出现位置有点不解,按策略只有当止损后才会触发反弹开仓指令,为什么跟在平多信号后面出来了(观察了下除了这根k其它时段好像都是正常的),第三张图是前面那根k调试的情况
2. 这个反弹开仓当根k上有个绿色右小箭头是啥意思,貌似有的k会出现有的不会

本帖子中包含更多资源

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

x
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-1-5 08:26 | 显示全部楼层
这类问题排查的方法:
1.在相关语句的前面增加变量输出,可以看到触发前的结果。单独的查看器都是最终执行触发后的结果。

上面的问题是因为前面有止损,全局变量mark一直是1,直到3月11号。而3月8号对应的平多逻辑中又没有mark相关的逻辑判断。自然不会影响到反弹开仓动作。
如果是想平多后归零,那么mark在平多时也要置0.
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-3 22:44 , Processed in 0.177225 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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