金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 370|回复: 9

后台不能发出指令!!

[复制链接]

46

主题

180

帖子

190

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
发表于 2024-9-9 22:26 | 显示全部楼层 |阅读模式
如图,不能发现出交易指令!!



补充内容 (2024-9-9 22:28):
以前正常,突然出现。卸载与重装都不行,版本7.02

补充内容 (2024-9-9 22:30):
以上,后台已经满足条件,应该菜油、白糖、乙二醇都要开多一手。但是没有任何信号与指令!!

补充内容 (2024-9-9 22:35):
ZF_60与F60公式完全一样

补充内容 (2024-9-10 09:23):
老师,在线吗?几天不能发单了!其中我把7.02版本降级到6.34,也不能发单

本帖子中包含更多资源

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

x
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-9-10 16:08 | 显示全部楼层
本帖最后由 资深技术05 于 2024-9-10 16:16 编辑

加调试语句,把直接控制下单的变量 盘中实时输出出来,再对照看下。这种不下单 只可能是盘中条件没满足导致的。
你从其他方式看到的,都是事后的复盘,一切以盘中实时输出的数值情况为准。
回复

使用道具 举报

2

主题

580

帖子

621

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2024-9-10 16:22 | 显示全部楼层
1. 下单条件触发问题和版本没有关系,是否下单只取决于条件是否成立。
2. 公式一样,并不代表执行的副本环境一样,数据量、数据起始位置、异步执行等因素都可能会产生差异。

3. 你写配置文件的方法,并不能解决信号闪烁的问题。图表每次刷新计算都会从新更新配置文件。

4. 对于后台是否执行配置文件中的动作,建议后台策略中增加debugfile输出。记录后台每次运行时所使用的因子值。才能进一步判断。

上面的描述和图中的代码,本质上没有多少分析价值。
回复

使用道具 举报

46

主题

180

帖子

190

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-9-10 21:28 | 显示全部楼层
老师好。
以下为记录
                GGSBK:GETINIFILE('E:\ZF_F60.INI',STKNAME,'F6BK'),NODRAW,COLORWHITE;//获取《某一股票》后台执行的《开/平》多仓数量
                GGSBP:GETINIFILE('E:\ZF_F60.INI',STKNAME,'F6BP'),NODRAW,COLORWHITE;//获取《某一股票》图表发出的《开/平》多仓数量
if GGSBK<>0||GGSBP<>0 then BEGIN
                    BBAR:GETINIFILE('E:\ZF_F60.INI',STKNAME,'F6BAR'),NODRAW,COLORWHITE;//获取《某一股票已开多仓K线位置》---标记后台是否执行
                    //SBAR:=GETINIFILE('E:\MCNINFILE.INI',STKNAME,'F7BAR'),NODRAW,COLORWHITE;//获取《某一股票已开空仓K线位置》---标记后台是否执行
   T0:GETINIFILE('E:\ZF_F60.INI',STKNAME,'F6T'),NODRAW,COLORWHITE;//后台程序记录《某一股票》《开/平》的K线位置---标记后台是否执行
   if T0<>BBAR then begin
                WRITEINIFILE('E:\ZF_F60.INI',STKNAME,'F6T',BBAR);   
      //------------------------------------------平多:优先平老仓后/老仓不足则平今仓转为开空仓对锁下单程序-------------------------------------------------
      if GGSBP>0 then begin//hold0=0获取《某一股票开多仓信号标识》的持仓数量=0——平仓;switch0=0——开关状态为《只可平》状态
                //TCANCEL(1,2);
                     if GZ=1 then tsell(1,0,mkt);//不足补开空对锁
                     if nGZ=1 then tsell(1,0,LMT,C-6*MINDIFF,0);//不足补开空对锁
                WRITEINIFILE('E:\ZF_F60.INI',STKNAME,'F6BP',0); //复位,等待下次平仓信号
                SENDPHONEMSG(STKNAME&'平多,价格:'&NUMTOSTR(CLOSE,2),1);
                GOTO CONTINUELINE0;
      end

      //------------------------------------------开多:优先平老空仓对锁下单程序/老空仓不足则开多仓-------------------------------------------------
      if GGSBK>0 then begin//hold0=1获取《某一股票开多仓信号标识》的持仓数量=1——开仓;switch0=0——开关状态为《只可开》状态
                //TCANCEL(CLOSE>TENTERPRICE,1);           
                        if GZ=1 then tbuy(1,0,mkt);//不足补开多
                        if nGZ=1 then tbuy(1,0,LMT,C+6*MINDIFF,0);//不足补开多
                WRITEINIFILE('E:\ZF_F60.INI',STKNAME,'F6BK',0);//复位,等待下次开多仓信号   
                SENDPHONEMSG(STKNAME&'开多,价格:'&&NUMTOSTR(CLOSE,2),1);  
                GOTO CONTINUELINE0;
      end                  
   end
END

截图中的记录显示以下语句,成功执行,'F6T'被赋值BBAR,导致T0=BBAR!!
                    //SBAR:=GETINIFILE('E:\MCNINFILE.INI',STKNAME,'F7BAR'),NODRAW,COLORWHITE;//获取《某一股票已开空仓K线位置》---标记后台是否执行
   T0:GETINIFILE('E:\ZF_F60.INI',STKNAME,'F6T'),NODRAW,COLORWHITE;//后台程序记录《某一股票》《开/平》的K线位置---标记后台是否执行
   if T0<>BBAR then begin
                WRITEINIFILE('E:\ZF_F60.INI',STKNAME,'F6T',BBAR);  
但是以下语句不执行!!
                        if GZ=1 then tbuy(1,0,mkt);//不足补开多
                        if nGZ=1 then tbuy(1,0,LMT,C+6*MINDIFF,0);//不足补开多

请老师测试

本帖子中包含更多资源

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

x
回复

使用道具 举报

2

主题

580

帖子

621

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2024-9-11 08:40 | 显示全部楼层
105019 发表于 2024-9-10 21:28
老师好。
以下为记录
                GGSBK:GETINIFILE('E:\ZF_F60.INI',STKNAME,'F6BK'),NODRAW,COLORW ...

你这部分代码和写配置文件体现不出来原因。并且写配置文件的形式只能代表策略最后一次执行更新后的结果,并不能代表策略当时执行时的情况。
对于这种问题,唯一的方法就是增加debugfile输出(必要时,图表策略和后台策略都要增加)。把策略每次执行时的结果都输出到日志中。根据输出的结果,才能排查问题。

对于上面提及到的不下单问题,说白了就是当时条件不成立。现在要定位的当时条件不成立的原因罢了。



回复

使用道具 举报

46

主题

180

帖子

190

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-9-11 14:38 | 显示全部楼层
admin 发表于 2024-9-11 08:40
你这部分代码和写配置文件体现不出来原因。并且写配置文件的形式只能代表策略最后一次执行更新后的结果, ...

老师,我无语。一个语句前后都执行了,中间就是个开仓的句子:if GZ=1  then(它是任何时候都成立的)Tbuy不成立!!实际上也debugfile了。为何承认问题这么困难?


补充内容 (2024-9-11 14:41):
再补充一下,我卸载也困难,卸载好了再安装频繁闪退

补充内容 (2024-9-11 14:43):
原先顺利开仓,我卸了再安装后无论你咋整就不开仓,可以平仓
回复

使用道具 举报

2

主题

580

帖子

621

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2024-9-11 14:55 | 显示全部楼层
按你说的,条件都成立了,tuby不执行 。你完全可以直接弄一个独立的配置文件,自己手工修改条件。让其执行。去验证后台开仓函数的功能。


你这个问题和版本没有关系。重装后一直闪退,说明安装可能补充。可以使用管理员权限运行安装包进行覆盖。

排查问题最直接有效的方式就是debugfile。没有debugfile的结果作为参照分析。没有办法进一步帮助你排查定位问题。
或者你提供向日葵账号,我们远程在你的环境上条件。






回复

使用道具 举报

46

主题

180

帖子

190

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-9-11 20:59 | 显示全部楼层
admin 发表于 2024-9-11 14:55
按你说的,条件都成立了,tuby不执行 。你完全可以直接弄一个独立的配置文件,自己手工修改条件。让其执行 ...

老师,我就是这样子试过的。我才不知道如何是好,以前都是顺利开平仓的呀,现在只平不开!
回复

使用道具 举报

46

主题

180

帖子

190

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-9-11 21:02 | 显示全部楼层
这是我以前的帖子截图,实际上正常开平仓

本帖子中包含更多资源

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

x
回复

使用道具 举报

46

主题

180

帖子

190

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-9-12 21:57 | 显示全部楼层
降级到6.30版,管理员身份安装,终于解决开仓问题:

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 12:51 , Processed in 0.240827 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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