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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 序列模式下求昨日最高、最低、收盘价的最快取值

   

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


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

主题:序列模式下求昨日最高、最低、收盘价的最快取值

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


加好友 发短信
等级:论坛游民 帖子:219 积分:1350 威望:0 精华:0 注册:2011/2/27 21:22:43
序列模式下求昨日最高、最低、收盘价的最快取值  发帖心情 Post By:2013/2/11 22:54:32 [显示全部帖子]

现在用到昨日最高、最低等值的取值,如下
CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
DAYH:=HHV(H,CYC);
DAYL:=LLV(L,CYC);
DAYO:=VALUEWHEN(DATE>REF(DATE,1),O);
PREH:=VALUEWHEN(DATE>REF(DATE,1),REF(DAYH,1));
PREL:=VALUEWHEN(DATE>REF(DATE,1),REF(DAYL,1));
PREC:=VALUEWHEN(DATE>REF(DATE,1),REF(C,1));

 

结果公式提示这些公式要用逐K线模式,希望转到更有效率的序列模式下,请问,以上取值如何才能适应序列模式。

 

谢谢!


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


加好友 发短信
等级:论坛游民 帖子:219 积分:1350 威望:0 精华:0 注册:2011/2/27 21:22:43
  发帖心情 Post By:2013/2/11 23:05:40 [显示全部帖子]


ENTERHP:=VALUEWHEN(TEMPHOLDINGs>0 AND TENTERBARS>1,HHV(REF(H,1),TENTERBARS-1));
ENTERLP:=VALUEWHEN(TEMPHOLDINGs<0 AND TENTERBARS>1,LLV(REF(L,1),TENTERBARS-1));
IF TEMPHOLDINGs<>0 THEN BEGIN
 IF TEMPHOLDINGs>0 THEN BEGIN
  IF ENTERHP>=MENTPRICE+istart THEN STOPLINE:=ENTERHP-Trail_STOP;
  ELSE STOPLINE:=MENTPRICE-istop;
 END
 ELSE IF TEMPHOLDINGs<0 THEN BEGIN
  IF ENTERLP<=MENTPRICE-istart THEN STOPLINE:=ENTERLP+Trail_STOP;
  ELSE STOPLINE:=MENTPRICE+istop;
 END
END

//开空条间1:1.开仓时间在参数设定的允许范围内;2.目前没有持空;3.之前日内高点曾经突破过SSETUP这条线;4.当前K线向下突破enters这条线;5.日内交易次数小于参数设定值。
ENTERS1:=IF(CurrentTIME>=STARTTIME AND CurrentTIME<145500 AND TEMPHOLDINGs>=0 AND LDAYH>=SSETUP AND L<=ENTERS AND rfilter AND TRADECOUNT<TLMT,MIN(O,ENTERS),0) and bLongStopped+BShortStopped<1; //开空
//开多条间1:1.开仓时间在参数设定的允许范围内;2.目前没有持多;3.之前日内低点曾经突破过BSETUP这条线;4.当前K线向上突破enterb这条线;5.日内交易次数小于参数设定值。
ENTERL1:=IF(CurrentTIME>=STARTTIME AND CurrentTIME<145500 AND TEMPHOLDINGs<=0 AND LDAYL<=BSETUP AND H>=ENTERB AND rfilter AND TRADECOUNT<TLMT,MAX(O,ENTERB),0) and bLongStopped+BShortStopped<1; //开多

//开多条间2:1.开仓时间在参数设定的允许范围内;2.目前没有持仓;3.当前最高价突破BBREAK这条线;4.日内交易次数小于参数设定值。
ENTERL2:=IF(CurrentTIME>=STARTTIME AND CurrentTIME<145500 AND TEMPHOLDINGs=0 AND H>=BBREAK AND TRADECOUNT<TLMT,MAX(O,BBREAK),0) and bLongStopped+BShortStopped<1; //突破开多
//开空条间2:1.开仓时间在参数设定的允许范围内;2.目前没有持仓;3.当前最低价突破SBREAK这条线;4.日内交易次数小于参数设定值。
ENTERS2:=IF(CurrentTIME>=STARTTIME AND CurrentTIME<145500 AND TEMPHOLDINGs=0 AND L<=SBREAK AND TRADECOUNT<TLMT,MIN(O,SBREAK),0) and bLongStopped+BShortStopped<1; //突破开空

//空头止盈:1.持有空单;2.持仓时间大于1根K线周期;3.最高价突破止损线。
EXITS1:=IF(TEMPHOLDINGS<0 AND TENTERBARS>1 AND H>=STOPLINE,MAX(O,STOPLINE),0);  //空头止盈
//多头止盈:1.持有多单;2.持仓时间大于1根K线周期;3.最低价突破止损线。
EXITL1:=IF(TEMPHOLDINGS>0 AND TENTERBARS>1 AND L<=STOPLINE,MIN(O,STOPLINE),0);  //多头止盈

//空头止损:1.开仓时间在参数设定的允许范围内;2.目前持有空单;3.当前最高价减进场价大于等于止损值。
EXITS2:=IF(CurrentTIME>=STARTTIME AND CURRENTTIME<145958 AND TEMPHOLDINGS<0 AND H-MENTPRICE>=i_reverse AND rfilter,Max(o,MENTPRICE+i_reverse),0); //止损,平空
//多头止损:1.开仓时间在参数设定的允许范围内;2.目前持有多单;3.进场价减当前最低价大于等于止损值。
EXITL2:=IF(CURRENTTIME>=STARTTIME AND CURRENTTIME<145958 AND TEMPHOLDINGS>0 AND MENTPRICE-L>=I_REVERSE AND rfilter,min(o,MENTPRICE-i_reverse),0);  //止损,平多

 

 

请问上述里哪个导致了软件提示要用逐K线模式,难道是Tenterbars?

 

请告知!

 


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


加好友 发短信
等级:论坛游民 帖子:219 积分:1350 威望:0 精华:0 注册:2011/2/27 21:22:43
  发帖心情 Post By:2013/2/11 23:10:21 [显示全部帖子]

对不起,忘了说谢谢!谢谢王峰的恢复!

 回到顶部