金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1832|回复: 10

如何达成输出文件只记录一行

[复制链接]

43

主题

131

帖子

141

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
发表于 2023-9-12 09:17 | 显示全部楼层 |阅读模式
老师好,DEBUGFILE很好用,但记录文件中在最后K的整个期间内,只要满足条件都进行了记录,条目数太多,如何达成只记录一条? 比如:        IF  PD THEN BEGIN
                SELL(1,HD,LIMITR,C-2*MINDIFF);
                净盈亏:=ABS(HD)*(C-BPRICE)*MULTIPLIER-TACCOUNT(31)*2;
                IF ISLASTBAR THEN DEBUGFILE('D:\每日交易文件\成交明细.TXT','Q2策略'&STKNAME&STKLABEL&'|平多 %.1f',净盈亏);
                HD:=0;
                BPRICE:=0;
        END

回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2023-9-12 13:01 | 显示全部楼层
这只能自己用一个全局变量去做控制,把日期加时间给赋值过去,如果是同一个k就不会再进行debugfile


GLOBALVARIABLE:n=date+time;
if (date+time)!=n then
begin
        n:=date+time;
        debugfile();
end
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

43

主题

131

帖子

141

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-9-12 13:54 | 显示全部楼层
哦,没看板块所属,发错板跨了,抱歉! 好的,学习了,感谢老师!
回复

使用道具 举报

43

主题

131

帖子

141

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-9-12 23:36 | 显示全部楼层
老师好,按照您的指点实盘测试后,发现记录平仓明细的时间点是在买入时刻,而非卖出时刻,如把全局变量段放到买入条件之后,反而在卖出的准确时刻进行了记录,但记录的买入价格又与卖出价一样!老师您帮我看看,这个时间逻辑到底是怎么回事?
        VARIABLE:HD=0;//持仓数
        VARIABLE:KPRICE=0;//买入价
        GLOBALVARIABLE:N=DATE+TIME; //
        SS:=1;  
        KD:=HD=0 AND C>0;
        PD:=HD<>0 AND C<=O;
        IF KD THEN BEGIN
                BUY(1,SS,LIMITR,C+2*MINDIFF);
                HD:=SS;
                KPRICE:=C;
        END
         
        IF PD THEN BEGIN
                SELL(1,HD,LIMITR,C-2*MINDIFF);  
                净盈亏:=HD*(C-KPRICE)*MULTIPLIER-GEGCHARGE('',C,HD,1)*2;
                IF (DATE+TIME)<>N THEN BEGIN
                    N:=(DATE+TIME);
                        DEBUGFILE('D:\交易明细.TXT','手续费:|%.1f',GEGCHARGE('',C,HD,1)*2);
                        DEBUGFILE('D:\交易明细.TXT','净盈亏|'&STKNAME&'|'&STKLABEL&'|平多|%.1f',净盈亏);
                END
                HD:=0;
                KPRICE:=0;
        END         

回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2023-9-13 08:58 | 显示全部楼层
        IF PD THEN BEGIN
                SELL(1,HD,LIMITR,C-2*MINDIFF);  
                净盈亏:=HD*(C-KPRICE)*MULTIPLIER-GEGCHARGE('',C,HD,1)*2;
                IF (DATE+TIME)<>N and islastbar THEN BEGIN
                    N:=(DATE+TIME);
                        DEBUGFILE('D:\交易明细.TXT','手续费:|%.1f',GEGCHARGE('',C,HD,1)*2);
                        DEBUGFILE('D:\交易明细.TXT','净盈亏|'&STKNAME&'|'&STKLABEL&'|平多|%.1f',净盈亏);
                END
                HD:=0;
                KPRICE:=0;
        END         
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2023-9-13 08:59 | 显示全部楼层
要加一个判断islastbar,控制只判断最新一根k情况,否者图表策略是逐k模式每一根k都去进行判断了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

43

主题

131

帖子

141

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-9-13 11:23 | 显示全部楼层
老师好,在这个例子中,我用了初始化的VARIABLE:KPRICE:=0,后续用来记录买入价,当买入时:KPRICE:=CLOSE; 似乎后期KPRICE是依据逐K运行变化的? 我要记录买入时确定的C价,是否要用globalvariable ,还是有其他的方法?
回复

使用道具 举报

43

主题

131

帖子

141

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-9-13 12:04 | 显示全部楼层
老师好,接着刚才的问题,请教最基本的概念(莫怪学识不精),我理解VARIABLE的含义是等于最后一次赋值后的一个常数,那如果VARIABLE:Y:=CLOSE(初始化时就定义为收价,系统解释的例子)、或者我上述问题中的:“初始化的VARIABLE:KPRICE:=0,后续用来记录买入价,当买入时:KPRICE:=CLOSE; ”,只要后续没有更新赋值,这个全局变量是一个恒定值么,恒定等于最后赋值的那一个时刻的值?
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2023-9-13 12:28 | 显示全部楼层
variable定义的全局变量是逐k每一根k都会执行,他是每一根k上面都有一个数值的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

43

主题

131

帖子

141

积分

Rank: 4

等级: 专业版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-9-13 14:29 | 显示全部楼层
老师好,这两日来这几个基本问题都没搞定,还请老师帮忙给写个详细具体的:1、用全局变量在买入时记录开仓数、买入价;2、在卖出一刻,用DEBUGFILE记录本轮的买入价、净利润计算、手续费,且只记录一行(用于盘后整理分析)。我写的代码经历实盘行情后,出现各种困难和意外,始终不达本意!拜托老师!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 11:49 , Processed in 0.238853 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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