金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 407|回复: 5

关于后台程序化交易的调试

[复制链接]

83

主题

203

帖子

213

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2024-12-20 15:21 | 显示全部楼层 |阅读模式
截图202412201517389595.png
老师好,我真对这支股票写了后台程序化交易,箭头的时候是买点.我现在要对程序做调试,确保后台程序正确运行
出现信号后,以下是交易代码.
也加了DEBUGFILE函数,输出了参数.
我的预期,是按K线图,时间序列,每一天输出参数和变量,这样才好调试
但是debugfile只输出了每次的最后一次结果
请问该怎么实现呢?

//开多条件
IF Sig AND THOLDING=0 THEN BEGIN
  开多:tbuy(1,10%,MKT),PERTRADER;
END


//以下是止盈止损条件

//平多条件,A股的T+1机制,不能当日交易;
BUY_DAY:=ref(DATE,TENTERBARS);//开仓日
DAYDIFF:TRADINGDATEDIFF(BUY_DAY,DATE);//开仓后过了几天
SCon1:DAYDIFF>=1;//当天不能交易


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

//出场条件2:开仓后,3个交易日收盘离场
IF DAYDIFF>=3 AND REMAININGTIME(CLOSETIME(0))<10*60 THEN
   tsell(THOLDING>0,THOLDING,MKT);//条件3


//出场条件3:最大回撤止盈
IF DAYDIFF>0 AND (HHV(H,TENTERBARS)-TAVGENTERPRICE)/TAVGENTERPRICE>0.07 AND (HHV(H,TENTERBARS)-C)/TAVGENTERPRICE>0.03 THEN
   tsell(THOLDING>0,THOLDING,MKT);//条件2

//调试变量
DEBUGFILE('C:\Debug\TEST.TXT','当前资产=%.2f',TASSET);
DEBUGFILE('D:\Debug\TEST.TXT','当前净持仓=%.0f',THOLDING);


截图202412201520263288.png
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-12-20 15:26 | 显示全部楼层
debugfile只会输出最新K线上的指标值的,debugfile2函数才能输出历史K线上的值,你需要再输出中加上日期和时间,才能知道输出的值是在哪根K线上的。
DEBUGFILE2('C:\DEBUG\TEST.TXT',STKLABEL&' 日期='&NUMTOSTR(DATE,0)&' 当前资产=%.2f',TASSET,1);

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

使用道具 举报

83

主题

203

帖子

213

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-12-20 15:30 | 显示全部楼层
技术010 发表于 2024-12-20 15:26
debugfile只会输出最新K线上的指标值的,debugfile2函数才能输出历史K线上的值,你需要再输出中加上日期和 ...

谢谢老师,我拷贝这一句到代码
又提示我前后台函数混用了,拷贝这一行之前没有提示
TASSET应该是后台函数才对啊
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-12-20 15:34 | 显示全部楼层
debugfile2必须使用逐K模式,这样才会输出历史上的值啊。
截图202412201534196957.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

83

主题

203

帖子

213

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-12-20 15:52 | 显示全部楼层
谢谢老师,第二个问题,我想在debugfile里输出,Sig,Cond1,Cond2,TAASET变量
麻烦您帮我写个范例吧,谢谢
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-12-20 16:02 | 显示全部楼层
DEBUGFILE('C:\Debug\TEST.TXT',STKLABEL&' SIG='&NUMTOSTR(SIG,0)&' COND1='&NUMTOSTR(COND1,0)&' COND2='&NUMTOSTR(COND2,0)&' 当前资产='&NUMTOSTR(TASSET,2),1);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-6 05:52 , Processed in 0.247591 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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