以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 请问这段代码出现问题是什么原因造成的 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=57404) |
-- 作者:zhouz2003 -- 发布时间:2013/10/10 21:07:53 -- 请问这段代码出现问题是什么原因造成的 //策略:菲阿里四价 //周期:日内 //类别:趋势突破 //原版+止损+交易测试限制 //修订时间:2012.2.13 //Designed By Rogarz //准备中间变量 input:ss(1,1,100,1),zs(10,10,100,1),fdzs(20,20,100,1)cs(4,2,100,1); //手数 低于蚱高低价ZS个点数出场 浮动止损点数 交易限制次数 昨高:=callstock(stklabel,vthigh,6,-1);//昨高 昨低:=callstock(stklabel,vtlow,6,-1);//昨低 昨收:=callstock(stklabel,vtclose,6,-1);//昨收 上轨:昨高; 下轨:昨低; 手数:=ss; 次数:=cs; VARIABLE:开仓最高价=0,开仓最低价=0,操作=\'无\'; //开仓条件 开多条件:=c>上轨; 开空条件:=c<下轨; //开仓后逆方向发展止损条件 逆势多头止损条件:=c<昨高-ZS*MINDIFF and time < 145500; 逆势空头止损条件:=c>昨低+ZS*MINDIFF and time < 145500; //开仓后正方向发展止损条件 if (close > 开仓最高价 and 操作=\'多\') then begin 开仓最高价=close; end 顺势多头止盈条件:=c<开仓最高价-FDZS*MINDIFF and holding>0; if (close > 开仓最低价 and 操作=\'空\') then begin 开仓最低价=close; end 顺势空头止盈条件:=c>开仓最低价+FDZS*MINDIFF and holding>0; //交易系统 if (time>090000 and time<145000 and TOTALDAYTRADE<=次数) and (开多条件 or 开空条件) then begin 开多:buy(开多条件 and holding=0,手数,market),操作=\'多\',开仓最高价=close; 开空:buyshort(开空条件 and holding=0,手数,market),操作=\'空\',开仓最低价=close; end //反方向发展止损 if 逆势多头止损条件 and holding>0 then begin 多头止损:sell(1,手数,market),操作=\'无\'; end if 逆势空头止损条件 and holding<0 then BEGIN 空头止损:sellshort(1,手数,market),操作=\'无\'; end //正方向发展浮动止盈 if 顺势多头止盈条件 and holding>0 then begin 多头止盈:sell(1,手数,market),操作=\'无\'; end if 顺势空头止盈条件 and holding<0 then BEGIN 空头止盈:sellshort(1,手数,market),操作=\'无\'; end //收盘前平仓 if time>=145500 then BEGIN 收盘平多:sell(1,手数,market); 收盘平空:sellshort(1,手数,market); 操作=\'无\'; end 问题1: 收盘的时候不平仓,22号开的多,25号才平 问题2: 怎么会有下午17点还可以开平仓的操作,有几处地方 |
-- 作者:lichenghu -- 发布时间:2013/10/11 8:32:35 -- 打开白银K线图按下F10,看下白银的时间对照表
金字塔白银时间是往后顺延4个小时的,既9点行情对应金字塔时间为13点 |
-- 作者:zhouz2003 -- 发布时间:2013/10/11 9:26:53 -- 再请问下 上面的问题1 22号挂的单 怎么25号才平仓 尾部的尾盘平仓代码没生效 是什么原因造成的 谢谢 |
-- 作者:lichenghu -- 发布时间:2013/10/11 9:37:45 -- 您对应的是几分钟周期? |
-- 作者:yukizzc -- 发布时间:2013/10/11 9:42:12 -- time是取得该周期的时间并非本地时间,夜盘的时间在本地时间基础上加了4小时 |
-- 作者:zhouz2003 -- 发布时间:2013/10/11 9:48:36 -- 使用的是1分钟周期测试 那意思应该是当天停盘前5分钟平仓 就应该是 6:25吗 |
-- 作者:zhouz2003 -- 发布时间:2013/10/11 9:51:35 -- 不好意思 看了时间对照 应该是 18:55 谢谢 我试试 |
-- 作者:yukizzc -- 发布时间:2013/10/11 9:54:34 -- 你在夜盘上加载个time就很清楚了,对于收盘15点图上的time就是19点 |
-- 作者:lichenghu -- 发布时间:2013/10/11 9:59:01 -- 白银收盘对应time为190000
另外楼主为什么没有在14.55平仓,本身问题出现您代码写法错误
开多:buy(开多条件 and holding=0,手数,market),操作=\'多\',开仓最高价=close; 开空:buyshort(开空条件 and holding=0,手数,market),操作=\'空\',开仓最低价=close;
end
必须用EXTGBDATASET( , )定义字符串,而且语句之间需用;号隔开
楼主看下初级教程把,基本语法规范 [此贴子已经被作者于2013/10/11 9:59:19编辑过]
|
-- 作者:zhouz2003 -- 发布时间:2013/10/11 9:59:14 -- 还是有个错误 4月26日13:01分开仓 5月2日13:01分平仓 5月2日理论上应该是放五一嗒 每次最大亏损的时候就是隔几天才平仓 我把开仓时间修改为了 1点-18:55 尾盘平仓时间为18:55
|