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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 金字塔软件自带例子中海龟交易策略的buyorderthisbar函数的问题

   

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


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

主题:金字塔软件自带例子中海龟交易策略的buyorderthisbar函数的问题

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


加好友 发短信
等级:新手上路 帖子:69 积分:0 威望:0 精华:0 注册:2017/8/24 18:11:13
金字塔软件自带例子中海龟交易策略的buyorderthisbar函数的问题  发帖心情 Post By:2017/8/26 19:49:01    Post IP:175.11.87.42[显示全部帖子]

管理员好,最近在学习金字塔软件,在里面看到系统自带的双向海龟系统示范模型里面有一个问题,谢谢。
在示范程序的一开始这里buyorderthisbar变量被声明并赋值为零。
 
//声明变量
NT := 1 ;     //调试信息带时间戳
BUYORDERTHISBAR := 0 ;  //当前BAR有过交易

 在下列程序中,多头进场成功后,buyorderthisbar被赋值为1。。。
  //建立多头进场条件
 LONG := H > T20HI ;
 
 //多头进场
 IF LONG THEN BEGIN
  MYENTRYPRICE := IF(OPEN>T20HI+MINDIFF ,OPEN ,T20HI+MINDIFF ) ;   
  BUY( _DEBUG,POSNUM,LIMITR,MYENTRYPRICE);
  POSITION := 1 ;
  TURTLEUNITS := 1 ;
  N := AVGTR ;
  BUYORDERTHISBAR := 1;

 END //IF



下列程序中,多头加仓成功,buyorderthisbar也是被赋值为1;

 
 WHILE (HIGH>MYENTRYPRICE+0.5*N) AND TURTLEUNITS<4 DO BEGIN
  MYENTRYPRICE := IF(OPEN>MYENTRYPRICE+0.5*N ,OPEN ,MYENTRYPRICE+0.5*N ) ;
  MYENTRYPRICE := CEILING(MYENTRYPRICE/MINDIFF)*MINDIFF ; 
  BUY( _DEBUG, POSNUM, LIMITR, MYENTRYPRICE);
  TURTLEUNITS := TURTLEUNITS+1 ;
  BUYORDERTHISBAR := 1;

 END //WHILE 
 


以上是程序中多头对buyorderthisbar的所有赋值。。我现在面临的疑问是多头离场条件中:

LONGX1 := (LOW < T10LO)  ;
 
 IF LONGX1 AND BUYORDERTHISBAR=0 THEN BEGIN
  MYEXITPRICE := IF(OPEN<T10LO-MINDIFF ,OPEN ,T10LO-MINDIFF ) ;   
  SELL( _DEBUG ,0,LIMITR,MYEXITPRICE);
  POSITION := 0 ;
  TURTLEUNITS := 0 ;
 END


多头离场条件中,buyorderthisbar的判断条件是等于0,,,可是在之前的对buyorderthisbar的赋值中,都是在建立多头仓位或者加仓后,都赋值为1。。而只有在建仓和加仓都是成功的之后才能离场,所以这里的buyorderthisbar的判断条件似乎应该是1。。。。。这里我看了好几次没看懂,初次学习编程方面的东西,麻烦管理员帮忙解释一下,谢谢。。

 

PS:上面的所有程序片段都来自于金字塔软件自带的 交易系统——》系统交易——》双向海龟交易策略 里面的程序例子。


 回到顶部