金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3660|回复: 12

股票后台调试

[复制链接]

60

主题

193

帖子

193

积分

等级: 免费版

注册:
2021-7-30
曾用名:
发表于 2024-2-26 13:57 | 显示全部楼层 |阅读模式
股票后台,不会自动平仓。代码如下。
请问老师,我要输出平仓条件jdma2030和jdma5d的数值,应该如何编写debugfile?
以下写法输出不对。

jdma2030:="JXJDBOLL.JDMA20#min30";
jdma5d:="JXJDBOLL.JDMA5#day";

A20:=A1 AND A2 AND A3 AND A4 AND A5 AND A6 ;    //开仓条件
a21:=jdma2030<0 and jdma3d<0;                            //平仓条件

DEBUGFILE('C:\TEST.TXT','jdma2030%.2f' ,jdma2030);
DEBUGFILE('C:\TEST.TXT','jdma5d%.2f' ,jdma5d);

tbuy(a20 and tbuyholding(1)=0 ,ss1 ,mkt);
tsell(a21 and tbuyholding(1)>0 ,tbuyholding(1) ,mkt);

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-2-26 14:02 | 显示全部楼层
本帖最后由 技术009 于 2024-2-26 14:03 编辑

调试语句写法是可以的,只是有点小问题:变量名称和变量值 中间要来个分隔的东西
DEBUGFILE('C:\TEST.TXT','jdma2030:%.2f' ,jdma2030);
DEBUGFILE('C:\TEST.TXT','jdma5d:%.2f' ,jdma5d);
否则输出的值和变量名称直接在一起成一串,你根本不好查看值。


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

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-2-26 14:03 | 显示全部楼层
debugfile的写法是对的,为了便于输出的内容进行查看,可以这样写:
DEBUGFILE('C:\TEST.TXT','jdma2030的值=%.2f' ,jdma2030);
DEBUGFILE('C:\TEST.TXT','jdma5d的值=%.2f' ,jdma5d);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

60

主题

193

帖子

193

积分

等级: 免费版

注册:
2021-7-30
曾用名:
 楼主| 发表于 2024-2-26 14:38 | 显示全部楼层
谢谢老师。刚才查看了输出值,符合平仓条件,但程序没有执行平仓,应该如何进一步调试
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-2-26 14:44 | 显示全部楼层
那可能开平仓条件并没有全部输出,还有其他的条件不成立造成了信号没有执行。例如这段代码你只输出的jdma2030和jdma5d,但是tbuyholding(1)其实也是你的平仓条件。开仓条件也是这样的判断逻辑。不可能输出的条件全部满足,但是不执行的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

60

主题

193

帖子

193

积分

等级: 免费版

注册:
2021-7-30
曾用名:
 楼主| 发表于 2024-2-27 09:51 | 显示全部楼层
我把平仓条件全部输出了,有很多符合平仓的,但只执行了一个平仓。请老师帮我找下问题在什么地方。
2024-02-27_094559.png
回复

使用道具 举报

60

主题

193

帖子

193

积分

等级: 免费版

注册:
2021-7-30
曾用名:
 楼主| 发表于 2024-2-27 09:53 | 显示全部楼层
代码如下:


jdma2030f:="JXJDBOLL.JDMA20#min30";
jdma3d:="JXJDBOLL.JDMA3#day";

A20:=A1 AND A2 AND A3 AND A4 AND A5 AND A6 {and a7};
a21:=jdma2030f<0 and jdma3d<0;

tbuy(a20 and tbuyholding(1)=0 ,ss1 ,mkt);
tsell(a21 and tbuyholding(1)>0 ,tbuyholding(1) ,mkt);

DEBUGFILE('C:\TEST.TXT','jdma2030f的值是%.2f',jdma2030f);
DEBUGFILE('C:\TEST.TXT','jdma3d的值是%.2f',jdma3d);
DEBUGFILE('C:\TEST.TXT','tbuyholding(1)的值是%.2f',tbuyholding(1));

回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-2-27 09:55 | 显示全部楼层
那你要也输出下品种代码的,否则你都不知道你这条debugfile输出是哪个品种上输出的,你输出的语句要和品种对应上的,这样才能判断的。你可以这样写:
DEBUGFILE('C:\TEST.TXT',stklabel&' jdma2030的值=%.2f' ,jdma2030);
DEBUGFILE('C:\TEST.TXT',stklabel&' jdma5d的值=%.2f' ,jdma5d);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

60

主题

193

帖子

193

积分

等级: 免费版

注册:
2021-7-30
曾用名:
 楼主| 发表于 2024-2-27 10:52 | 显示全部楼层
谢谢老师,正想请教如何输出股票代码
回复

使用道具 举报

60

主题

193

帖子

193

积分

等级: 免费版

注册:
2021-7-30
曾用名:
 楼主| 发表于 2024-2-27 10:53 | 显示全部楼层
问题找到了,谢谢老师
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-18 11:43 , Processed in 0.159820 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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