金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 52|回复: 10

关于获取上次平仓日的问题

[复制链接]

35

主题

100

帖子

100

积分

等级: 免费版

注册:
2021-11-21
曾用名:
发表于 2025-1-2 14:16 | 显示全部楼层 |阅读模式
后台交易
股票
程序目标:股票当日或昨日平仓后,即使符合开仓条件,也不再开仓。
我使用了两个函数来测试并跟踪,代码如下:
/////////////////////////////////////////////////////////////////////////////////////////
上次平仓后周期数:=TEXITBARS(1);//NOT(TEXITBARS(1)=0 OR TEXITBARS(1)=1);
股票代码:=STRTONUM(STKLABEL());
上次仓位为0后周期数:=TOPENBAR,LINETHICK0;
IF ISLASTBAR THEN
BEGIN
  DEBUGFILE('D:\222.TXT','股票代码:%.0f',股票代码);
  DEBUGFILE('D:\222.TXT','上次平仓后周期数:%.0f',上次平仓后周期数);
  DEBUGFILE('D:\222.TXT','上次仓位为0后周期数:%.0f',上次仓位为0后周期数);
END;

////////////////////////////////////////////////////////////////////////////////////
监控品种为本地预警中最近自动平仓过的股票。

观察输出的文本文件,发现返回值不能得到上次平仓或上次空仓到现在的周期数。截取部分结果如下:

2025-01-02 14:06:09.664    股票代码:603096
2025-01-02 14:06:09.664    上次平仓后周期数:-1
2025-01-02 14:06:09.664    上次仓位为0后周期数:0
2025-01-02 14:06:09.680    股票代码:601126
2025-01-02 14:06:09.680    上次平仓后周期数:-1
2025-01-02 14:06:09.680    上次仓位为0后周期数:0
2025-01-02 14:06:09.680    股票代码:600776
2025-01-02 14:06:09.680    上次平仓后周期数:-1
2025-01-02 14:06:09.680    上次仓位为0后周期数:0
2025-01-02 14:06:09.680    股票代码:1298
2025-01-02 14:06:09.680    上次平仓后周期数:-1
2025-01-02 14:06:09.680    上次仓位为0后周期数:0
2025-01-02 14:06:09.680    股票代码:603091
2025-01-02 14:06:09.680    上次平仓后周期数:-1
2025-01-02 14:06:09.680    上次仓位为0后周期数:0


请问老师,这是什么?为达到“股票当日或昨日平仓后,即使符合开仓条件,也不再开仓”的目的,我该如何判断这只股票,今天或昨天是否有过平仓?


回复

使用道具 举报

32

主题

8014

帖子

8024

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-1-2 14:19 | 显示全部楼层
上次平仓后周期数:=TEXITBARS(1);

这个是读后后台监控记录里的平仓,其他地方平仓读取不到的
你看下监控里有平仓记录吗,另外这个是即基于k线的,表示的距离现在多少个k的

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

使用道具 举报

35

主题

100

帖子

100

积分

等级: 免费版

注册:
2021-11-21
曾用名:
 楼主| 发表于 2025-1-2 14:26 | 显示全部楼层
老师,您说的“后台监控记录里的平仓”指的是?这个记录存在什么地方?
我是手工加入的监控品种,这些品种,在打开后台程序化菜单后的界面里,有平仓记录的。
截图202501021426208844.png
回复

使用道具 举报

32

主题

8014

帖子

8024

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-1-2 14:27 | 显示全部楼层
点开监控
截图202501021427061922.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

35

主题

100

帖子

100

积分

等级: 免费版

注册:
2021-11-21
曾用名:
 楼主| 发表于 2025-1-2 14:28 | 显示全部楼层
TEXITBARS(1)
这个函数的返回值总是-1
回复

使用道具 举报

32

主题

8014

帖子

8024

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-1-2 14:28 | 显示全部楼层
平仓时候把当天日期写入当前品种这个全局变量
if 平仓条件 then
begin
        EXTGBDATASET(stklabel ,date );
END


读取这个全局变量然后自己和当天的date做比较
a:EXTGBDATA(stklabel )
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

32

主题

8014

帖子

8024

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-1-2 14:29 | 显示全部楼层
你用上面方式自己去管理记录日期date,这个就和自己交易后写到笔记本上一样
重点是自己要有管理这个变量的能力和理解
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

35

主题

100

帖子

100

积分

等级: 免费版

注册:
2021-11-21
曾用名:
 楼主| 发表于 2025-1-2 14:56 | 显示全部楼层
我明白了。
前面我在跟踪文本中得不到平仓记录,是因为我那段平仓代码所在的公式并没有平仓记录。是这样的吗?
请教:
1、如果在一个公式里取到其它预警的平仓记录?也就是点开监控后看到的那些记录?我的开仓程序是单独的,是和平仓程序分开的。我需要在开仓前判断上次的平仓日期
2、我以前就是用全局变量解决这个问题的。最近发现全局变量出问题了,平仓后不再写全局变量了。
        EXTGBDATASET(STKNAME&' 平仓标记',1);   //平仓后,记录下平仓标记,注意品种名称和平仓标记之间留有一个空格,便于查看。
        EXTGBDATASET(STKNAME&' 平仓日期',DATE);//平仓后,记录下平仓日期
今天和昨天自动平仓后,我在全局变量里没看到这两个记录



回复

使用道具 举报

32

主题

8014

帖子

8024

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-1-2 15:03 | 显示全部楼层
texitbars必须是本策略自己的记录才行,多个策略没法读取的

2、ex这种全局变量完全是由你自己控制的,如果没控制正确数值和想象不同完全就是自己逻辑处理上哪里有问题了。不存在执行了没记录的情况的除非遇到软件崩溃这种导致记录信息丢失

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

使用道具 举报

35

主题

100

帖子

100

积分

等级: 免费版

注册:
2021-11-21
曾用名:
 楼主| 发表于 2025-1-2 15:38 | 显示全部楼层
感谢老师!
前面您回复我说“texitbars必须是本策略自己的记录才行,多个策略没法读取的”----我理解您这句话的意思。
但是我想,即然我点开监控键查看程式化交易明细能看到这些平仓记录,那这记录肯定是保存在某个库文件中,我用VBS应该可以读取到的。
老师能告诉我这些记录保存在哪个文件中吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-5 14:07 , Processed in 0.243913 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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