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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 加了全局变量,止损后还是会重新开仓如何解决

   

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


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

主题:加了全局变量,止损后还是会重新开仓如何解决

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


加好友 发短信
等级:论坛游民 帖子:366 积分:0 威望:0 精华:0 注册:2013/7/28 17:04:43
加了全局变量,止损后还是会重新开仓如何解决  发帖心情 Post By:2013/8/12 15:35:48    Post IP:119.129.195.150[只看该作者]

止损已经用了全局变量来限定

k线走完模式

 

variable:n=0;

 

if  平仓条件 then begin

sell(1,手数,limitr,min(o,zs));

N:=1;

end

 

if  开仓条件 and n:=0 then

开多:BUY(1,手数,MARKET);

end


但回测时还是发现如果止损的那条k线如果条件成立,下一条k线还是会重新开仓,请教各位老师如何解决这个问题,谢谢~~


[
此主题相关图片如下:qq图片20130812153450.jpg
按此在新窗口浏览图片


[此贴子已经被作者于2013/8/12 15:37:02编辑过]

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2013/8/12 15:36:45    Post IP:58.246.57.26[只看该作者]

帖代码


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游民 帖子:366 积分:0 威望:0 精华:0 注册:2013/7/28 17:04:43
  发帖心情 Post By:2013/8/12 15:40:57    Post IP:119.129.195.150[只看该作者]

variable:zs=c,hl=c,b=0,s=0;

ROC:=(CLOSE-REF(CLOSE,N))/REF(CLOSE,N)*100;
ROCMA:=MA(ROC,M);

手数:=ss;

//交易条件

开多条件 :=C<REF(C,1) AND ROC>ROCMA  and b=0;
开空条件 :=C>REF(C,1) AND ROC<ROCMA  and s=0;

 


//交易系统

//止损止盈
if holding>0 and l<zs then begin
sell(1,手数,limitr,min(o,zs));
b:=1;
end;//止损
if holding<0 and h>zs then begin
 sellshort(1,手数,limitr,max(o,zs));
s:=1;
end;
//止损

if 开空条件  and HOLDING>0 then sell(1,手数,MARKET),ORDERQUEUE;
if 开多条件  and HOLDING<0 then sellshort(1,手数,MARKET),ORDERQUEUE;

if 开多条件  and HOLDING=0 then begin
开多:BUY(1,手数,MARKET),ORDERQUEUE;
hl:=h;//记录开仓后的最高点
zs:=enterprice*(1-stop0*0.01);//初始止损
s:=0;
end

 

if 开空条件   and HOLDING=0 then begin
开空:BUYSHORT(1,手数,MARKET),ORDERQUEUE;
hl:=l;//记录开仓后的最高点
zs:=enterprice*(1+stop0*0.01);//初始止损
b:=0;
end;

 


//止盈止损
if holding>0 and h>hl then begin//上移最高点
 hl:=h;
 if hl>enterprice*(1+start1*0.01) then zs:=hl*(1-stop1*0.01);//满80个点,回落20点为止损位
 else if hl>enterprice*(1+start2*0.01) then zs:=hl*(1-stop2*0.01);//满50个点,回落30点为止损位
end

if holding<0 and l<hl then begin//上移最高点
 hl:=l;
 if hl<enterprice*(1-start1*0.01) then zs:=hl*(1+stop1*0.01);//满80个点,回落20点为止损位
 else if hl<enterprice*(1-start2*0.01) then zs:=hl*(1+stop2*0.01);//满50个点,回落30点为止损位
end;


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


加好友 发短信
等级:论坛游民 帖子:366 积分:0 威望:0 精华:0 注册:2013/7/28 17:04:43
  发帖心情 Post By:2013/8/12 15:47:20    Post IP:119.129.195.150[只看该作者]

具体情况是如果止损的那条k线符合开仓条件的话,那下一条k线又会重新开仓,但如果止损那条k线不符合开仓条件,那么就正常了,在同方向都不会再开仓了


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2013/8/12 16:03:11    Post IP:58.246.57.26[只看该作者]

你这有两个开仓语句啊,全局变量只限定了一个,没有限定另外一个


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游民 帖子:366 积分:0 威望:0 精华:0 注册:2013/7/28 17:04:43
  发帖心情 Post By:2013/8/12 16:11:33    Post IP:119.129.195.150[只看该作者]

有两个?只有一个啊

 

 

if 开多条件  and HOLDING=0 then begin
开多:BUY(1,手数,MARKET),ORDERQUEUE;
hl:=h;//记录开仓后的最高点
zs:=enterprice*(1-stop0*0.01);//初始止损
s:=0;
end

 

if 开空条件   and HOLDING=0 then begin
开空:BUYSHORT(1,手数,MARKET),ORDERQUEUE;
hl:=l;//记录开仓后的最高点
zs:=enterprice*(1+stop0*0.01);//初始止损
b:=0;
end;


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2013/8/12 16:25:32    Post IP:58.246.57.26[只看该作者]

S要限定平空开多,B要限定平多开空,

同向限定不行



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游民 帖子:366 积分:0 威望:0 精华:0 注册:2013/7/28 17:04:43
  发帖心情 Post By:2013/8/12 16:41:06    Post IP:119.129.195.150[只看该作者]

但是我止损平仓已经有控制平空仓不能再开空仓的

 

if holding<0 and h>zs then begin
 sellshort(1,手数,limitr,max(o,zs));
s:=1;
end;

开空条件也限定了s=0才能开空仓:

开空条件 :=C>REF(C,1) AND ROC<ROCMA  and s=0;

 

就是不明白为什么还是会出现平仓后又重新开仓的情况,我个人认为是不是因为是历史回测,在同一条k线里面的话,这个赋值体现不出来的缘故呢,因为出现错误的地方都是因为那条k线既符合止损平仓条件又符合开仓条件的


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


加好友 发短信
等级:论坛游民 帖子:366 积分:0 威望:0 精华:0 注册:2013/7/28 17:04:43
  发帖心情 Post By:2013/8/12 17:26:39    Post IP:119.129.195.150[只看该作者]


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


加好友 发短信
等级:论坛游民 帖子:366 积分:0 威望:0 精华:0 注册:2013/7/28 17:04:43
  发帖心情 Post By:2013/8/13 11:15:35    Post IP:119.129.182.37[只看该作者]

请管理员回答一下好吗?

 回到顶部
总数 13 1 2 下一页