金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 140|回复: 5

关于后台程序化的使用问题

[复制链接]

26

主题

114

帖子

114

积分

Rank: 4

等级: 专业版

注册:
2025-11-7
曾用名:
发表于 2025-11-18 14:00 | 显示全部楼层 |阅读模式
老师,我在用后台程序化交易有两个后台预警,第一个红色的,用于做开仓交易。开仓交易配合股票池使用,当不满足条件时候,股票池会把股票剔除出去,这样会导致开仓后的股票不在股票池监控里。
第二个绿色的,用于做平仓交易。这个动态监控吃当。用的策略是和第一个红色的相同的策略。



我的问题是,第二个绿色的任务平仓不了,无法完成止损。求教老师这是为什么。卖出信号都有了,价格也低于止损价,就是没有触发止损。

2025-11-17 14:30:03.218    品种:300475 日期:12511171435卖出信号:1.00持仓量:100止损价:173.92最低价:173.36
2025-11-17 14:30:12.906    上证方向为9.25
2025-11-17 14:30:12.921    品种:300475 日期:12511171435卖出信号:1.00持仓量:100止损价:173.92最低价:173.33
2025-11-17 14:30:22.859    上证方向为9.25
2025-11-17 14:30:22.875    品种:300475 日期:12511171435卖出信号:1.00持仓量:100止损价:173.92最低价:173.33
2025-11-17 14:30:32.968    上证方向为9.25
2025-11-17 14:30:32.968    品种:300475 日期:12511171435卖出信号:1.00持仓量:100止损价:173.92最低价:173.23
2025-11-17 14:30:42.859    上证方向为9.25
2025-11-17 14:30:42.875    品种:300475 日期:12511171435卖出信号:1.00持仓量:100止损价:173.92最低价:173.15
2025-11-18 09:30:05.687    上证方向为-1.#R
2025-11-18 09:30:25.094    上证方向为-1.#R
2025-11-18 09:30:45.063    上证方向为-1.#R
2025-11-18 09:31:05.125    上证方向为-1.#R
2025-11-18 09:31:24.969    上证方向为-1.#R
2025-11-18 09:31:45.016    上证方向为-1.#R
2025-11-18 09:32:05.203    上证方向为-1.#R
2025-11-18 09:32:25.031    上证方向为-1.#R
2025-11-18 09:32:45.016    上证方向为-1.#R
2025-11-18 09:33:05.344    上证方向为-1.#R

本帖子中包含更多资源

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

x
回复

使用道具 举报

2

主题

5787

帖子

5787

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-11-18 14:48 | 显示全部楼层
这个要看代码情况了。比如判断持仓的函数用错了之类,或者使用了依赖监控记录的函数(因为你开仓不是当前预警,某些函数是无值的)。另外也看下你输出的语句是和下单语句绑定在一起的吗?如果不是在一起的,那么其实有可能输出正常输出,但是下单还有其他条件没满足之类的。
回复

使用道具 举报

26

主题

114

帖子

114

积分

Rank: 4

等级: 专业版

注册:
2025-11-7
曾用名:
 楼主| 发表于 2025-11-18 15:32 | 显示全部楼层
老师帮我看下平仓代码有没有问题,如果没有该如何调试?
我没有拆两个监控任务的时候,是可以正常平仓的。


//处理交易时间
OM5:=T0TOTIME((TIMETOT0(OPENTIME(1))+60*5));//开盘后五分钟;
T1:TIME>OM5;//开盘时间内
//平仓信号
平多条件:L<REF(DLIQPOINT,1) and T1;//开盘前5分钟忍一忍
IF 平多条件 THEN Begin
    TSELL(1, TBUYHOLDINGEX('','',2),MKT);
    开多次数:=0;
    If DebugMode= 1 then BEGIN
            平多str:='品种:'&StkLabel&' 日期:'&NUMTOSTR(Date,0)&NUMTOSTR(Hour,0)
                &NUMTOSTR(Minute,0)&'卖出信号:'&NUMTOSTR(平多条件,2)&'持仓量:'
                &NUMTOSTR(TBUYHOLDINGEX('','',2),0)&'止损价:'&NUMTOSTR(DLIQPOINT,2)&'最低价:'&NUMTOSTR(L,2);
                DEBUGFILE(Path,平多str,平多str);
    End
End
回复

使用道具 举报

2

主题

5787

帖子

5787

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-11-18 15:40 | 显示全部楼层
TBUYHOLDINGEX('','',2) 是全部持仓,输出下 可用持仓呢?

TBUYHOLDINGEX('','',1)
回复

使用道具 举报

26

主题

114

帖子

114

积分

Rank: 4

等级: 专业版

注册:
2025-11-7
曾用名:
 楼主| 发表于 2025-11-19 10:08 | 显示全部楼层
我在平仓函数中,用到了如下代码,现在没办法止损,是不是因为这个TENTERBARS只能读取本预警的开仓数据。
结合我1楼的设置,第一个预警开仓;第二个预警监控持仓平仓。
但是由于第一个预警开仓数据第二个没办法取到,导致无法止盈止损。


开仓后高价:=HHV(H,TENTERBARS);
开仓后低价:=LLV(L,TENTERBARS);

//====== 高低点跟踪 ======
IF TENTERBARS(0) > 0 THEN BEGIN
        //DebugFile(path,'计算止损价','计算止损价');
        //DebugFile(path,StkLabel+':%.2f',TBUYHOLDINGEX('','',2));
    // 空头持仓时跟踪最高价
    IF TSELLHOLDINGEX('','',2)>0 THEN
        HIGHAFTERENTRY := MIN(HIGHAFTERENTRY,HIGH);
   
    // 多头持仓时跟踪最低价
    IF TBUYHOLDINGEX('','',2)>0 THEN
    //DebugFile(path,'计算最低价','计算最低价');
        LOWAFTERENTRY := MAX(LOWAFTERENTRY,LOW);
回复

使用道具 举报

2

主题

5787

帖子

5787

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-11-19 10:23 | 显示全部楼层
"是不是因为这个TENTERBARS只能读取本预警的开仓数据。" 对的,这个函数依赖于当前预警下触发过的信号记录的。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-27 12:45 , Processed in 0.118684 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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