以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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号才平

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20131010210617.jpg
图片点击可在新窗口打开查看



问题2:
怎么会有下午17点还可以开平仓的操作,有几处地方


图片点击可在新窗口打开查看此主题相关图片如下:12.jpg
图片点击可在新窗口打开查看

--  作者: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日理论上应该是放五一嗒


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20131011095630.jpg
图片点击可在新窗口打开查看

每次最大亏损的时候就是隔几天才平仓 我把开仓时间修改为了 1点-18:55 尾盘平仓时间为18:55