以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 双向海龟的源码可否调整一下 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=157227) |
-- 作者:代人发贴 -- 发布时间:2017/8/24 9:36:34 -- 双向海龟的源码可否调整一下 1、在标准版里有个自动交易信号,双向海龟的源码都是软件自带 可否调整一下,就是买卖开仓,还有平仓,都是限价单,造成很多都是在未成交委托挂单,但不能成交,能否修改成,发出信号后市价成交? 2、能否在这个系统里加一条,就是总资金权益大于或小于,某个数值时,实行清仓,15:00收盘前不再开新仓 |
-- 作者:gxx978 -- 发布时间:2017/8/24 10:14:19 -- 1、可以直接把limitr限价指令改成market市价指令。 2、variable:a=0; if ISLASTBAR and TACCOUNT(6)<某个数值 then if time>190000 then a:=0;
在开仓条件中加入a=0作为条件。
|
-- 作者:tradersniper -- 发布时间:2017/8/24 10:37:16 -- //该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!! //声明参数 //声明变量 VARIABLE : _DEBUG = 1 ; //是否输出前台交易指令 VARIABLE : MYENTRYPRICE =0 ; //开仓价格 VARIABLE : TURTLEUNITS=0 ; //交易单位 VARIABLE : T20HI=CLOSE ; //20周期的高点 VARIABLE : T10HI=CLOSE ; //10周期的高点 //准备需要计算的变量 T10HI := REF(HHV(H,T10),1) ; AVGTR := REF(MA(TR,ATRLEN),1) ; //开始执行时 初始化数据 END //IF //如果当前是没有持仓的状态 //建立多头进场条件 END //IF
END
IF POSITION=1 AND BARPOS>T20 AND H>L THEN BEGIN //多头加仓条件 END //WHILE //建立多头止损条件 IF LONGX2 AND POSITION=1 AND BUYORDERTHISBAR=0 THEN BEGIN GOTO CONTINUELINE ; END //IF
IF POSITION = -1 AND BARPOS>T20 AND H>L THEN BEGIN //空头加仓条件
IF SHORTX1 AND BUYORDERTHISBAR=0 THEN BEGIN //建立空头止损条件 IF SHORTX2 AND POSITION = -1 AND BUYORDERTHISBAR=0 THEN BEGIN END //IF
IF _DEBUGOUT>0 THEN BEGIN DEBUGFILE2(\'C:\\DEBUGFILE.TXT\',\'BARPOS=%.0F\' ,BARPOS,NT ) ; 当前持仓:HOLDING,COLORGRAY,LINETHICK0;
----------------------------------------------------------------------------- variable:a=10000000; if ISLASTBAR and TACCOUNT(6)<980000 then if time>145500 then a:=0; -------------------------------------------------------- 你好: 1,我把系统信号中limitr限价指令改成market。测试也正常,就是以上代码,你看下是否正确。
2.你后面给的那段代码是放在什么位置? 如果是以100万资金权益为列,当动态权益大于1020000万时清仓,当动态权益小于980000万时清仓,且在下午收盘14:55分前不再开仓, 以这个实例,代码怎么修改,可作为范例来应用,然后这段代码是放在哪个语句里。 能完整的把代码组织好?谢谢!
|
-- 作者:gxx978 -- 发布时间:2017/8/24 11:06:12 -- 1、market为市价指令,不需要指定价格。另外你代码中计算限价的语句就没必要用了。例如:BUY( _DEBUG,POSNUM,market,MYENTRYPRICE);修改为BUY( _DEBUG,POSNUM,market); 2、动态权益小于980000清仓可以用系统自带的风控设置,在交易--下单设置--止盈止损中(如下图)。用taccount会引起历史上的信号变化,在图表中不建议用,这里修正下。在14:55分不再开仓直接用time函数控制就可以。在开仓条件中加入time<185500作为条件。(以金字塔时间为例)。 此主题相关图片如下:qq截图20170824110211.png [此贴子已经被作者于2017/8/24 11:06:33编辑过]
|
-- 作者:tradersniper -- 发布时间:2017/8/24 11:17:02 -- 问题还是没解决呢! 那大于动态权益的怎么设置? 能完整的在上述代码中修改下贴出来?
|
-- 作者:wenarm -- 发布时间:2017/8/24 13:45:14 -- 大于这个没法设置,另外动态权益一把都是作为风控使用的,你这个需求,仓位中有加仓等操作,如果仓位开仓数量达到一定值时,就会造成可用资金减少,造成动态权益低于预设值。 动态权益这类的控制建议你在后台上处理,在图表上回造成历史信号闪烁。影响图表历史仓位的计算。 下面给你的方式,是通过图表的虚拟资金进行计算的动态权益。并不是实际账户中的动态权益。
//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!! //声明参数 //声明变量 VARIABLE : _DEBUG = 1 ; //是否输出前台交易指令 VARIABLE : MYENTRYPRICE =0 ; //开仓价格 VARIABLE : TURTLEUNITS=0 ; //交易单位 VARIABLE : T20HI=CLOSE ; //20周期的高点 VARIABLE : T10HI=CLOSE ; //10周期的高点 //准备需要计算的变量 T10HI := REF(HHV(H,T10),1) ; AVGTR := REF(MA(TR,ATRLEN),1) ; //开始执行时 初始化数据 END //IF //建立多头进场条件 END //IF
END
IF POSITION=1 AND BARPOS>T20 AND H>L and time<=185500 and flag=0 THEN BEGIN //多头加仓条件 END //WHILE //建立多头止损条件 IF LONGX2 AND POSITION=1 AND BUYORDERTHISBAR=0 THEN BEGIN GOTO CONTINUELINE ; END //IF
IF POSITION = -1 AND BARPOS>T20 AND H>L and time<=185500 and flag=0 THEN BEGIN //空头加仓条件
IF SHORTX1 AND BUYORDERTHISBAR=0 THEN BEGIN //建立空头止损条件 IF SHORTX2 AND POSITION = -1 AND BUYORDERTHISBAR=0 THEN BEGIN END //IF
//显示账户状态 IF _DEBUGOUT>0 THEN BEGIN DEBUGFILE2(\'C:\\DEBUGFILE.TXT\',\'BARPOS=%.0F\' ,BARPOS,NT ) ; 当前持仓:HOLDING,COLORGRAY,LINETHICK0; [此贴子已经被作者于2017/8/24 14:05:57编辑过]
|
-- 作者:tradersniper -- 发布时间:2017/8/24 22:51:21 -- 我指把原来的limitr限价指令改成market市价指令。 可今晚交易的DCE大连交易所品种提示: 已撤单报单被拒绝DCE:不被支持的报单类型 量:1 |
-- 作者:wenarm -- 发布时间:2017/8/25 8:29:17 -- 提供你的下单日志 交易---下单设置---程序化交易里 之前勾选下单日志的会有记录, 日志在金字塔安装目录的weisoftstock/ setting / orderlog中 |
-- 作者:tradersniper -- 发布时间:2017/8/25 10:04:46 -- 哪里没有勾选,没有日子记录。 今早郑州的也出现这类情况,截图委托记录 |
-- 作者:gxx978 -- 发布时间:2017/8/25 10:12:12 -- 参考8楼,先勾选日志,再出现问题,将日志中的记录上传至论坛。论坛贴图使用IE浏览器,贴图教程如下:http://www.weistock.com/bbs/dispbbs.asp?BoardID=2&ID=31614&skin=0 |