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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 不用K线结束做判断真的就不行吗?

   

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


  共有3871人关注过本帖平板打印复制链接

主题:不用K线结束做判断真的就不行吗?

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


加好友 发短信
等级:新手上路 帖子:40 积分:0 威望:0 精华:0 注册:2016/1/4 10:41:26
不用K线结束做判断真的就不行吗?  发帖心情 Post By:2016/1/11 14:24:07    Post IP:111.206.20.49[只看该作者]

写一个海龟的修改版,不用K线结束做判断,跟踪多日,结果百思不得其解,特求救:

1.如果突破前高收盘也在最高点时,包括只开一手的持仓Done标志变化等变量一切正常,是我要的结果。
(同理,突破前低收在最低点时也正常,下面以破前高为例)
参考附图中的“开多”图标,相应的日志也正确记录了:
2016-01-11 09:59:37.617    【图表】IC13 运行完毕
2016-01-11 10:01:58.595    2016.01.11 10:01:58【图表】框架:Technic 触发下单 BUY 品种 RB05 下单K线 2016.01.11 15:00:00 公式:海鸥系统 〖SeaGull〗 窗格ID:0 代码行:16
2016-01-11 10:01:58.596    【图表】RB05 运行完毕

2.如果盘中突破前高但收盘没有收在最高点时,在盘中创新高时会有图标“开多”多次同步显示,证明触发开仓信号。但两点理解不了:

  (1)第一次显示图标“开多”后,Done置为1,下次轮询来临时,开仓条件不成立才对。为什么Done又变成0导致反复开仓呢? Done可是全局变量,只初始化一次才对!问题出在哪?
  (2)虽然盘中多次显示图标“开多”,但日志中没有任何记录,说明Buy语句没有执行!但屏幕上都显示了“多头成交变化:1” ,说明是Buy和Done语句都是执行了的?太奇怪了,怎么回事?

在K线内部,全局变量的机制有什么潜规则我们不知道?还是全局变量不能在K线内部用?不解!求大师解惑!


VARIABLE: Out_Long=0,Out_Short=0,Done=0;  //变量申明 
Clock:=currenttime,linethick0;          

成交:Done,linethick0;
多头止损价:Out_Long,linethick0;
空头止损价:Out_Short,linethick0;

Up:=ref(HHV(H,10),1),linethick0; 
Down:=ref(LLV(L,10),1),linethick0; 
Roof:max(up,H),linethick0;   
Base:min(down,L),linethick0;

If  Done=0   then  //空仓时   
    begin 
      if  C>=Roof then
          begin
             BUY(1,1,market);                       //开多
  
             Price_Long:enterprice;
             Out_Long:=enterprice-2;
            // 多头止损价:Out_Long,linethick0;
             // DRAWTEXT(1,LOW,'开多');
             Done:=1;
           多头成交变化:Done,linethick0;             
          end 
      if  C<=Base   then             
          begin
             BUYSHORT(1,1,market);                 //开空
 
             Price_Short:enterprice;
             Out_Short:=enterprice+2 ;             
             // 空头止损价:Out_Short,linethick0;
             // DRAWTEXT(1,H+1,'开空');
             Done:=-1;
            空头成交变化:Done,linethick0; 
          end
    End

If  Done>0  then             // 有多头仓位时
    begin

      if  C<=Out_Long  or  (CurrentTime <150000 and CurrentTime >144800)  then  
      begin
         SELL(1,1,market);           //平多
           //DRAWTEXT(1,H,'平多');
         Done:=0;
      end   
    end
       
if  Done<0  then            // 有空头仓位时
    begin

      if  C>=Out_Short   or  (CurrentTime <150000 and CurrentTime >144800) then     
      begin 
         SELLSHORT(1,1,market);     //平空
         // DRAWTEXT(1,L-1,'平空');
         Done:=0;
      end
    end

持仓:holding,linethick0;








 回到顶部
总数 27 1 2 3 下一页