欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 达到条件A 全部平掉,怎么表达呢?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有27897人关注过本帖树形打印复制链接

主题:达到条件A 全部平掉,怎么表达呢?

帅哥哟,离线,有人找我吗?
eric917
  91楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2014/1/14 14:12:03    Post IP:14.119.119.189[显示全部帖子]

您的意思是用VBA写脚本,然后后台拿来引用是吗?

 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  92楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2014/1/14 14:16:13    Post IP:14.119.119.189[显示全部帖子]

VBA的如果要实现上面的要求,要怎么写呢?
可以简单写一下吗?我研究一下

 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  93楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2014/1/14 14:26:30    Post IP:14.119.119.189[显示全部帖子]

哦,这样,好的,非常感谢

 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  94楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2014/1/15 10:24:35    Post IP:14.119.119.189[显示全部帖子]

老师,如果我用后台这样写,能否实现下面的功能
红色部分出现后1秒,触发蓝色部分 ,而蓝色部分触发后1秒,才触发绿色部分
我里面加多了一个EXTGBDATASET('U_G1_A',1)  和 EXTGBDATASET('U_G1_B',1) 做控制 
如果红色部分触发,则 U_G1_A=1  下面判断当U_G1_A=1时,才触发蓝色的部分,然后蓝色部分把U_G1_A=0 ,U_G1_B=1
再判断U_G1_B=1的时候才触发  绿色部分代码,最后把U_G1_A=0 ,U_G1_B=0

请问这样可行吗?
时间控制部分是否有错误呢?

IF  UP_G1  AND  EXTGBDATA('SKV_G1') =0  AND EXTGBDATA('Last_ Location')=0 THEN  
    BEGIN
        EXTGBDATASET('T0',TIMETOT0(DYNAINFO(207)));
        EXTGBDATASET('Last_ Location',1) ;
        EXTGBDATASET('U_G1_A',1) ;
    END 


IF   EXTGBDATA('U_G1_A')=1 THEN;  
   BEGIN
       IF  TISREMAIN(3)  &&
            TIMETOT0(DYNAINFO(207))-EXTGBDATA('T0')>0 && 
            TIMETOT0(DYNAINFO(207))-EXTGBDATA('T0')<=2 THEN;
                 BEGIN 
                      TCANCEL(1,0);
                      EXTGBDATASET('T0',TIMETOT0(DYNAINFO(207)));
                      EXTGBDATASET('U_G1_A',0) ;
                      EXTGBDATASET('U_G1_B',1) ;
                 END
     END 

     
IF   EXTGBDATA('U_G1_B')=1 THEN; 
    BEGIN
        IF  TIMETOT0(DYNAINFO(207))-EXTGBDATA('T0')>0 && 
             TIMETOT0(DYNAINFO(207))-EXTGBDATA('T0')<=2 THEN;
                  BEGIN       
                      TBUYSHORT(1,SS,LMT,G1+10); // 在G1的上面10个点挂一张多单,这里您要区分点和变动价位的差别,MINDIFF表示变动价位
                      TBUY(1,SS,LMT,LMT,G1-10);      // 在G1的下面10个点挂一张多单
                      EXTGBDATASET('SKV_G1',1) ;
                      EXTGBDATASET('TOTAL_SVOL',EXTGBDATA('TOTAL_SVOL')+SS);
                      DEBUGFILE('D:\DEBUG\GRID_DEBUG.TXT','G1开空_SKV_G1=%.0f' ,EXTGBDATA('SKV_G1'));
                      DEBUGFILE('D:\DEBUG\GRID_DEBUG.TXT','TOTAL_SVOL=%.0f' ,EXTGBDATA('TOTAL_SVOL'));
                      DEBUGFILE('D:\DEBUG\GRID_DEBUG.TXT','Last_ Location=%.0f' ,EXTGBDATA('Last_ Location'));
                      EXTGBDATASET('U_G1_B',0) ;
                  END    
     END 


 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  95楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2014/1/15 10:50:50    Post IP:14.119.119.189[显示全部帖子]

如果改为红色部分出现后2秒,触发蓝色部分 ,而蓝色部分触发后2秒,才触发绿色部分 呢?

逻辑上,第一秒条件成立了  EXTGBDATASET('U_G1_A',1) 变为1  这样,下一次轮询  红色部分即使不再成立被直接跳过
但通过IF   EXTGBDATA('U_G1_A')=1 THEN;  也会因为得到标识  开始执行蓝色代码  在蓝色代码结束前,把
EXTGBDATASET('U_G1_A',0) ;
EXTGBDATASET('U_G1_B',1) ;

同理,下一秒轮询就会直接跳过蓝色部分,
通过IF   EXTGBDATA('U_G1_B')=1 THEN; 
然后执行绿色的部分

逻辑上条件好像可以通过,VBA那边已经发帖了,应该还没改好,您看看我这样理解的逻辑是否有错,谢谢~
[此贴子已经被作者于2014/1/15 10:51:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  96楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2014/1/15 10:56:18    Post IP:14.119.119.189[显示全部帖子]

如果1秒之后你的条件不成立了,那么获取这个时间就没用了,

前置条件只要这个EXTGBDATASET('T0',TIMETOT0(DYNAINFO(207)));赋值成功就可以了吧?


 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  97楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2014/1/15 14:05:26    Post IP:14.119.119.189[显示全部帖子]

老师,我上面的逻辑可以通过吗?

 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  98楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2014/1/16 9:57:31    Post IP:14.119.119.189[显示全部帖子]

发现一个问题
我程序里面写的触发条件是
CROSS(GI+MINDIFF,C)
今天的GI=2209.6

我的程序在31分里面触发了开仓,但当根K线的最低价才2209.8

图片点击可在新窗口打开查看此主题相关图片如下:1111.jpg
图片点击可在新窗口打开查看

按道理理解,应该要触碰到2209.6才会触发条件,现在为什么会这样呢?CROSS不是应该超过2209.8即起码到2209.6才触发的吗?



 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  99楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2014/1/16 10:17:04    Post IP:14.119.119.189[显示全部帖子]

能解析一下吗?

 回到顶部
帅哥哟,离线,有人找我吗?
eric917
  100楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:271 积分:730 威望:0 精华:0 注册:2011/6/22 15:58:05
  发帖心情 Post By:2014/1/16 11:54:53    Post IP:14.119.119.189[显示全部帖子]

确实最低价是这样
图片点击可在新窗口打开查看此主题相关图片如下:1111.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2014/1/16 11:56:06编辑过]

 回到顶部