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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 双向海龟的源码可否调整一下

   

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


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

主题:双向海龟的源码可否调整一下

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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/12/19 10:33:55
  发帖心情 Post By:2017/8/24 10:37:16 [显示全部帖子]

//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!
//《定制的海龟交易系统V1.0图表版本》 
// 适用于多时间框架图表
// 这个版本可以用于在图表上显示信号,也可以做自动交易
// 同一根K线多次发出指令。
// DESIGNED BY LIKAI
// 2010.07.16

//声明参数
INPUT : T20(20,15,60,1) ;
INPUT : T10(10,10,30,1);
INPUT : ATRLEN(20,15,30,1) ;
INPUT : POSNUM(1,1,20,1) ;

//声明变量
NT := 1 ;     //调试信息带时间戳
BUYORDERTHISBAR := 0 ;  //当前BAR有过交易

VARIABLE : _DEBUG = 1 ;     //是否输出前台交易指令
VARIABLE : _TDEBUG = 1 ;    //是否输出后台交易指令
VARIABLE : _DEBUGOUT = 0 ;    //是否输出后台交易的调试信息

VARIABLE : MYENTRYPRICE =0 ;   //开仓价格
VARIABLE : MYEXITPRICE =0 ;   //平仓价格

VARIABLE : TURTLEUNITS=0 ;   //交易单位
VARIABLE : POSITION=0 ;   //仓位状态
//0表示没有仓位,1表示持有多头, -1表示持有空头

VARIABLE : T20HI=CLOSE ;   //20周期的高点
VARIABLE : T20LO=CLOSE ;   //20周期的低点

VARIABLE : T10HI=CLOSE ;   //10周期的高点
VARIABLE : T10LO=CLOSE ;   //10周期的低点

//准备需要计算的变量
T20HI := REF(HHV(H,T20),1) ;
T20LO := REF(LLV(L,T20),1) ;

T10HI := REF(HHV(H,T10),1) ;
T10LO := REF(LLV(L,T10),1) ;

AVGTR :=  REF(MA(TR,ATRLEN),1) ;

//开始执行时 初始化数据
IF BARPOS=1 THEN BEGIN
 //POSITION := 0 ;

END //IF

//如果当前是没有持仓的状态
IF POSITION=0 AND BARPOS>T20 AND H>L THEN BEGIN

 //建立多头进场条件
 LONG := H > T20HI ;
 
 //多头进场
 IF LONG THEN BEGIN
  MYENTRYPRICE := IF(OPEN>T20HI+MINDIFF ,OPEN ,T20HI+MINDIFF ) ;   
  BUY( _DEBUG,POSNUM,market,MYENTRYPRICE);
  POSITION := 1 ;
  TURTLEUNITS := 1 ;
  N := AVGTR ;
  BUYORDERTHISBAR := 1;

 END //IF


 //建立空头进场条件
 SHORT := L < T20LO ;
 
 //空头进场
 IF SHORT AND POSITION=0 THEN BEGIN   
  MYENTRYPRICE := IF(OPEN<T20LO-MINDIFF ,OPEN ,T20LO-MINDIFF ) ;   
  BUYSHORT( _DEBUG,POSNUM,market,MYENTRYPRICE);
  POSITION := -1 ;
  TURTLEUNITS := 1 ;
  N := AVGTR ;
  BUYORDERTHISBAR := 1;

 END
 
 //不要跳转,让程序检查同一根K线是否可以加仓
 //GOTO CONTINUELINE ;
 
END  //IF


//如果当前持有多头仓位的状态

IF POSITION=1 AND BARPOS>T20 AND H>L THEN BEGIN

 //多头加仓条件
 
 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, market, MYENTRYPRICE);
  TURTLEUNITS := TURTLEUNITS+1 ;
  BUYORDERTHISBAR := 1;

 END //WHILE 
 
 //建立多头离场条件
 LONGX1 := (LOW < T10LO)  ;
 
 IF LONGX1 AND BUYORDERTHISBAR=0 THEN BEGIN
  MYEXITPRICE := IF(OPEN<T10LO-MINDIFF ,OPEN ,T10LO-MINDIFF ) ;   
  SELL( _DEBUG ,0,market,MYEXITPRICE);
  POSITION := 0 ;
  TURTLEUNITS := 0 ;
 END

 //建立多头止损条件
 LONGX2 := (LOW<MYENTRYPRICE-2*N)  ;

 IF LONGX2 AND POSITION=1 AND BUYORDERTHISBAR=0 THEN BEGIN
  MYEXITPRICE := IF(OPEN<MYENTRYPRICE-2*N ,OPEN ,MYENTRYPRICE-2*N ) ;  
  MYEXITPRICE := FLOOR(MYEXITPRICE/MINDIFF)*MINDIFF ; 
  SELL( _DEBUG ,0,market,MYEXITPRICE);
  POSITION := 0 ;
  TURTLEUNITS := 0 ;
 END

 GOTO CONTINUELINE ;

END  //IF


//如果当前持有空头仓位的状态

IF POSITION = -1 AND BARPOS>T20 AND H>L THEN BEGIN

 //空头加仓条件
 
 WHILE (LOW<MYENTRYPRICE-0.5*N) AND TURTLEUNITS<4 DO BEGIN
  MYENTRYPRICE := IF(OPEN<MYENTRYPRICE-0.5*N ,OPEN ,MYENTRYPRICE-0.5*N ) ;   
  MYENTRYPRICE := FLOOR(MYENTRYPRICE/MINDIFF)*MINDIFF ; 
  BUYSHORT( _DEBUG,POSNUM, market, MYENTRYPRICE);
  TURTLEUNITS := TURTLEUNITS+1 ;
  BUYORDERTHISBAR := 1;
 END //IF 


 //建立空头离场条件
 SHORTX1 := H > T10HI  ;

 IF SHORTX1 AND BUYORDERTHISBAR=0 THEN BEGIN
  MYEXITPRICE := IF(OPEN>T10HI+MINDIFF ,OPEN ,T10HI+MINDIFF ) ;   
  SELLSHORT( _DEBUG,0,market,MYEXITPRICE);
  POSITION := 0 ;
  TURTLEUNITS := 0 ;
 END

 //建立空头止损条件
 SHORTX2 := HIGH > MYENTRYPRICE + 2*N  ;

 IF SHORTX2 AND POSITION = -1 AND BUYORDERTHISBAR=0  THEN BEGIN
  MYEXITPRICE := IF(OPEN>MYENTRYPRICE+2*N ,OPEN ,MYENTRYPRICE+2*N ) ;   
  MYEXITPRICE := CEILING(MYEXITPRICE/MINDIFF)*MINDIFF ; 
  SELLSHORT( _DEBUG,0,market,MYEXITPRICE);
  POSITION := 0 ;
  TURTLEUNITS := 0 ;
 END

END  //IF


//显示账户状态
CONTINUELINE@ 资产:ASSET,LINETHICK0;
可用现金:CASH(0),LINETHICK0;
POS:HOLDING,LINETHICK0;
交易次数:TOTALDAYTRADE, LINETHICK0 ;

IF _DEBUGOUT>0 THEN BEGIN

 DEBUGFILE2('C:\DEBUGFILE.TXT','BARPOS=%.0F' ,BARPOS,NT ) ;
 DEBUGFILE2('C:\DEBUGFILE.TXT','T20HI=%.2F' ,T20HI ,NT) ;
 DEBUGFILE2('C:\DEBUGFILE.TXT','N=%.2F' ,N ,NT) ;
 DEBUGFILE2('C:\DEBUGFILE.TXT','CLOSE=%.2F' ,C ,NT) ;
 DEBUGFILE2('C:\DEBUGFILE.TXT','POSITION=%.0F' ,POSITION,NT ) ;
 DEBUGFILE2('C:\DEBUGFILE.TXT','TURTLEUNITS=%.0F' ,TURTLEUNITS,NT ) ;
 DEBUGFILE2('C:\DEBUGFILE.TXT','MYENTRYPRICE=%.0F' ,MYENTRYPRICE ,NT) ;
 DEBUGFILE2('C:\DEBUGFILE.TXT','MYEXITPRICE=%.0F' ,MYEXITPRICE ,NT) ;
 
END //IF

当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;

 

-----------------------------------------------------------------------------

variable:a=10000000;

    if ISLASTBAR and TACCOUNT(6)<980000 then
      begin
      sell(1,0,MARKET);
      sellshort(1,0,MARKET);
     a:1;
     end

  if time>145500 then a:=0;

--------------------------------------------------------

你好:

1,我把系统信号中limitr限价指令改成market。测试也正常,就是以上代码,你看下是否正确。

 

2.你后面给的那段代码是放在什么位置?

如果是以100万资金权益为列,当动态权益大于1020000万时清仓,当动态权益小于980000万时清仓,且在下午收盘14:55分前不再开仓,

以这个实例,代码怎么修改,可作为范例来应用,然后这段代码是放在哪个语句里。

能完整的把代码组织好?谢谢!

 


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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/12/19 10:33:55
  发帖心情 Post By:2017/8/24 11:17:02 [显示全部帖子]

问题还是没解决呢!

那大于动态权益的怎么设置?

能完整的在上述代码中修改下贴出来?

 


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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/12/19 10:33:55
  发帖心情 Post By:2017/8/24 22:51:21 [显示全部帖子]

我指把原来的limitr限价指令改成market市价指令。

可今晚交易的DCE大连交易所品种提示:

 已撤单报单被拒绝DCE:不被支持的报单类型 量:1


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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/12/19 10:33:55
  发帖心情 Post By:2017/8/25 10:04:46 [显示全部帖子]

哪里没有勾选,没有日子记录。

今早郑州的也出现这类情况,截图委托记录

图片点击可在新窗口打开查看
 
图片点击可在新窗口打开查看

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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/12/19 10:33:55
  发帖心情 Post By:2017/8/25 11:12:03 [显示全部帖子]

2017-08-25 10:34:45.648    2017.08.25 10:34:45【图表】框架:DD 触发下单 SELL 品种 RU01 下单K线 2017.08.25 14:15:00 公式:双向海龟 窗格ID:2 代码行:110
2017-08-25 10:34:45.648    【图表】模型下单 4
2017-08-25 10:34:45.663    【图表】下单系数调整后 手数:4
2017-08-25 10:34:45.663    【图表】实际持仓 0
2017-08-25 10:34:45.663    【图表】RU01 运行完毕
2017-08-25 10:35:07.022    【图表】RU01 运行完毕
2017-08-25 10:35:10.064    【图表】J01 运行完毕
2017-08-25 10:35:11.095    【图表】SRX01 运行完毕
2017-08-25 10:35:11.095    【图表】RU01 运行完毕
2017-08-25 10:35:11.095    【图表】CF01 运行完毕
2017-08-25 10:45:11.089    【图表】PP01 运行完毕
2017-08-25 10:45:12.103    【图表】J01 运行完毕
2017-08-25 10:45:12.103    2017.08.25 10:45:12【图表】框架:DD 触发下单 SELL 品种 HC01 下单K线 2017.08.25 14:45:00 公式:双向海龟 窗格ID:1 代码行:110
2017-08-25 10:45:12.103    【图表】模型下单 4
2017-08-25 10:45:12.118    【图表】下单系数调整后 手数:4
2017-08-25 10:45:12.118    【图表】实际持仓 0
2017-08-25 10:45:12.118    【图表】HC01 运行完毕
2017-08-25 10:45:12.134    【图表】CF01 运行完毕
2017-08-25 10:50:10.208    【图表】PP01 运行完毕
2017-08-25 10:50:12.236    【图表】J01 运行完毕
2017-08-25 10:50:12.236    【图表】HC01 运行完毕
2017-08-25 10:50:12.236    【图表】CF01 运行完毕
2017-08-25 10:55:10.367    【图表】J01 运行完毕
2017-08-25 10:55:11.381    【图表】HC01 运行完毕
2017-08-25 10:55:11.381    【图表】PP01 运行完毕
2017-08-25 10:55:11.381    【图表】CF01 运行完毕
2017-08-25 11:00:11.529    【图表】J01 运行完毕
2017-08-25 11:00:11.529    【图表】HC01 运行完毕
2017-08-25 11:00:11.529    【图表】PP01 运行完毕
2017-08-25 11:00:12.543    【图表】CF01 运行完毕
2017-08-25 11:05:10.650    【图表】J01 运行完毕
2017-08-25 11:05:10.650    【图表】PP01 运行完毕
2017-08-25 11:05:12.678    【图表】HC01 运行完毕
2017-08-25 11:05:12.678    【图表】CF01 运行完毕
2017-08-25 11:10:10.802    【图表】PP01 运行完毕
2017-08-25 11:10:11.816    2017.08.25 11:10:11【图表】框架:DD 触发下单 BUY 品种 J01 下单K线 2017.08.25 15:10:00 公式:双向海龟 窗格ID:0 代码行:61
2017-08-25 11:10:11.816    【图表】模型下单 1
2017-08-25 11:10:11.816    【图表】下单系数调整后 手数:1
2017-08-25 11:10:11.832    【图表】直接下单
2017-08-25 11:10:11.925    【图表】J01 运行完毕
2017-08-25 11:10:11.925    【图表】HC01 运行完毕
2017-08-25 11:10:11.925    【图表】CF01 运行完毕
2017-08-25 11:10:11.925    【下单】J01 价0.000000 量1 买卖0 类型1 开平0 账户089599 Formula 1
2017-08-25 11:10:11.925    【下单】确认报单已发送 ID=-1940971906 RefID = 2230
2017-08-25 11:10:12.034    【指令】收到回报指令 ID = -1940971906 RefID = 2230
2017-08-25 11:10:12.190    【指令】收到回报指令 ID = -1940971906 RefID = 2230
2017-08-25 11:10:12.206    【回报】089599 : j1801 - 已报单 1 价格:0.0 开 买
2017-08-25 11:10:12.206    【回报】089599 : j1801 - 已撤单报单被拒绝DCE:不被支持的报单类型 量:1

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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/12/19 10:33:55
  发帖心情 Post By:2017/8/25 14:08:37 [显示全部帖子]

这就是把原来海龟系统里的limitr限价指令改成market市价指令后,出现大连,郑州交易所的不能成交拒绝,但上海交易所的可以成交。

 

这应该是不是那个market指令不被这两个交易所接受还是怎么的,再改回limitr三个市场都又可成交。

 

但回到这个帖子要解决的问题是,改回limitr指令,在金字塔自带的海龟系统里,有些单不能被成交,所以才看是否能改成信号发出后,市价成交。

 

改市价指令后大连,郑州市场有拒绝。所以是不是系统代码指令需要调整?

 


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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/12/19 10:33:55
  发帖心情 Post By:2017/8/25 14:55:18 [显示全部帖子]

先别跑题了哦。

 

用原来的自带的系统信号是都可以成交的,大连,郑州,上海,三个市场都是可以成交的,先确定这一点。

 

只是成交时,有些单很快成交,有些单要挂单在未成交委托一栏里,限价单,价格冲的快就没能及时成交,价格到达也会成交,只是有些就成交不了。

 

此贴要解决的就是,能否在发出信号后,不是再挂限价单,而直接市价成交,避免那些没成交的单一直挂着。

 

根据你们提供的建议,把自带系统信号里的limitr限价指令,改成market市价指令后,就出现大连,郑州市场的全都不能成交。上海可实时全部成交。

 

要的效果就是能像上海市场一样,发出信号后都能实时成交即可。


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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/12/19 10:33:55
  发帖心情 Post By:2017/8/29 12:24:15 [显示全部帖子]

以下是引用banzhuan在2017/8/25 14:20:06的发言:
有些单不能成交的话,用limitr+几个mindiff试试

这个具体怎么写?

 

limitr,mindiff,

 

这样既可?

 


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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2016/12/19 10:33:55
  发帖心情 Post By:2017/8/29 13:03:26 [显示全部帖子]

 IF LONG THEN BEGIN
  MYENTRYPRICE := IF(OPEN>T20HI+MINDIFF ,OPEN ,T20HI+MINDIFF ) ;   
  BUY( _DEBUG,POSNUM,LIMITR,CLOSE+3*MINDIFF,MYENTRYPRICE);
  POSITION := 1 ;
  TURTLEUNITS := 1 ;
  N := AVGTR ;
  BUYORDERTHISBAR := 1;

 END

 

 

在原来的公式里可直接这么修改?

 

LIMITR,MINDIFF

 

直接这么时实现什么效果?

 


 回到顶部