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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 为什么这不能达到移动止损的目标

   

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


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

主题:为什么这不能达到移动止损的目标

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


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2013/10/10 11:00:02
为什么这不能达到移动止损的目标  发帖心情 Post By:2013/10/30 10:50:13    Post IP:121.207.165.7[只看该作者]

老师这为什么不能达到止损的目标,为什么空止损(zs) 多止损(ZS) 这是直线,我的目标是移动止损的,麻烦老师看一下

VARIABLE:ZS=0,HH=0;//声明全局变量ZS、HL
MA5:=MA(C,5);
MA20:=MA(C,20);
ATR:=MA(H-L,20);//市场平均波动幅度
BUYCOND:=CROSS(MA5,MA20);//平空开多条件
SELLCOND:=CROSS(MA20,MA5);//平多开空条件
IF HOLDING>0 THEN BEGIN
 多止损:ZS;
 IF L<ZS THEN SELL(1,1,LIMITR,MIN(O,ZS)-MINDIFF);
 ELSE IF SELLCOND THEN SELL(1,1,LIMITR,C);
END
IF HOLDING<0 THEN BEGIN
 空止损:ZS;
 IF H>ZS THEN SELLSHORT(1,1,LIMITR,MAX(O,ZS)+MINDIFF);
 ELSE IF BUYCOND THEN SELLSHORT(1,1,LIMITR,C);
END
IF HOLDING=0 AND BUYCOND  THEN BEGIN//多头开仓
 BUY(1,1,LIMITR,C);
IF  H>HH THEN BEGIN
 HH:=H;//HL开仓后的最有利价位,刚买入时,最有利价位为开仓价
 ZS:=HH-2*ATR;
END
END 
IF HOLDING=0 AND SELLCOND  THEN BEGIN//空头开仓
 BUYSHORT(1,1,LIMITR,C);
 IF  L<HH THEN BEGIN
 HH:=L;
 ZS:=HH+2*ATR;
END
END 

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


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

VARIABLE:ZS=0,HH=0;//声明全局变量ZS、HL
MA5:=MA(C,5);
MA20:=MA(C,20);
ATR:=MA(H-L,20);//市场平均波动幅度
BUYCOND:=CROSS(MA5,MA20);//平空开多条件
SELLCOND:=CROSS(MA20,MA5);//平多开空条件
IF HOLDING>0 THEN BEGIN

 IF L<ZS THEN SELL(1,1,LIMITR,MIN(O,ZS)-MINDIFF);
 ELSE IF SELLCOND THEN SELL(1,1,LIMITR,C);
END
IF HOLDING<0 THEN BEGIN

 IF H>ZS THEN SELLSHORT(1,1,LIMITR,MAX(O,ZS)+MINDIFF);
 ELSE IF BUYCOND THEN SELLSHORT(1,1,LIMITR,C);
END
IF HOLDING=0 AND BUYCOND  THEN BEGIN//多头开仓
 BUY(1,1,LIMITR,C);
 IF  H>HH THEN BEGIN
  HH:=H;//HL开仓后的最有利价位,刚买入时,最有利价位为开仓价
  ZS:=HH-2*ATR;
END
END
IF HOLDING=0 AND SELLCOND  THEN BEGIN//空头开仓
 BUYSHORT(1,1,LIMITR,C);
 IF  L<HH THEN BEGIN
 HH:=L;
 ZS:=HH+2*ATR;
END
END
多止损:ZS;
空止损:ZS;



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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2013/10/10 11:00:02
  发帖心情 Post By:2013/10/30 11:03:42    Post IP:121.207.165.7[只看该作者]

老师:多止损:ZS;空止损:ZS;这应该是曲线,但是老师改的出来的不是曲线,我用的是ATR:=MA(H-L,20);来作为止损曲线的

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


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2013/10/10 11:00:02
  发帖心情 Post By:2013/10/30 11:06:29    Post IP:121.207.165.7[只看该作者]

ZS应该是红色的线,不是黄色的才是
图片点击可在新窗口打开查看此主题相关图片如下:bdfc263f-82e8-432a-9ab7-2005e57aa243.jpg
图片点击可在新窗口打开查看

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


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

这个是全局变量啊,只有在上面条件满足的时候才会有数值变化,条件不满足就一直是上一次改变时候的值


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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2013/10/10 11:00:02
  发帖心情 Post By:2013/10/30 11:10:35    Post IP:121.207.165.7[只看该作者]

全局我是董啊,但是为什么加上这两家会变成曲线,我是想改成不要现在加的这两句,麻烦老师了
VARIABLE:ZS=c,HL=c;//声明全局变量ZS、HL
MA5:=MA(C,5);
MA20:=MA(C,20);
ATR:=MA(H-L,20);//市场平均波动幅度
BUYCOND:=CROSS(MA5,MA20);//平空开多条件
SELLCOND:=CROSS(MA20,MA5);//平多开空条件
IF HOLDING>0 THEN BEGIN
 多止损:ZS;
 IF L<ZS THEN SELL(1,1,LIMITR,MIN(O,ZS)-MINDIFF);
 ELSE IF SELLCOND THEN SELL(1,1,LIMITR,C);
END
IF HOLDING<0 THEN BEGIN
 空止损:ZS;
 IF H>ZS THEN SELLSHORT(1,1,LIMITR,MAX(O,ZS)+MINDIFF);
 ELSE IF BUYCOND THEN SELLSHORT(1,1,LIMITR,C);
END
IF HOLDING=0 AND BUYCOND THEN BEGIN//多头开仓
 BUY(1,1,LIMITR,C);
 ZS:=C-2*ATR;
 HL:=C;//HL开仓后的最有利价位,刚买入时,最有利价位为开仓价
END
IF HOLDING=0 AND SELLCOND THEN BEGIN//空头开仓
 BUYSHORT(1,1,LIMITR,C);
 ZS:=C+2*ATR;
 HL:=C;
END
IF HOLDING>0 AND ENTERBARS>0 AND H>HL THEN BEGIN//最高价抬升,止损位相应地抬升
 HL:=H;
 ZS:=HL-2*ATR;
END
IF HOLDING<0 AND ENTERBARS>0 AND L<HL THEN BEGIN//最低价下降,止损位相应地下移
 HL:=L;
 ZS:=L+2*ATR;
END


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


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

这种条件满足后才赋值的全局变量,是一条随着k线变化的曲线才是奇怪的问题好吗。全局变量条件满足之后才会赋值,你既然了解为什么还有这样的问题?
[此贴子已经被作者于2013/10/30 11:22:53编辑过]


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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2013/10/10 11:00:02
  发帖心情 Post By:2013/10/30 11:29:27    Post IP:121.207.165.7[只看该作者]

我奇怪的是我把这两句都去掉,
IF HOLDING>0 AND ENTERBARS>0 AND H>HL THEN BEGIN//最高价抬升,止损位相应地抬升
 HL:=H;
 ZS:=HL-2*ATR;
END
IF HOLDING<0 AND ENTERBARS>0 AND L<HL THEN BEGIN//最低价下降,止损位相应地下移
 HL:=L;
 ZS:=L+2*ATR;
END
和有这两句的表达的意思是一样,H>HL ,赋值给 HL:=H;,你可能会说条件的问题,我只要开仓我就开始记录最高价了,不去记录收盘价,道理是一样的,但是结果是不一样,所以还是麻烦老师帮我改一下,不要下面两句,你可能会说结果又差异,但是我觉得应该是不会差别很大,麻烦了,,谢谢


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


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2013/10/10 11:00:02
  发帖心情 Post By:2013/10/30 12:29:33    Post IP:121.207.165.7[只看该作者]

还有就是你给我改的时候不管什么时候都会画出止损线来,我想要的是有多单,和空单的时候画线,麻烦;老师了

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


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2013/10/10 11:00:02
  发帖心情 Post By:2013/10/30 12:57:00    Post IP:120.42.41.58[只看该作者]

而且atr是一个变动的值,(这种条件满足后才赋值的全局变量,是一条随着k线变化的曲线才是奇怪的问题好吗。全局变量条件满足之后才会赋值,你既然了解为什么还有这样的问题?)
对于你这种看法我是同意,但你可以给我解释一下,为什么atr在变动,zs不动,希望老师好好看一下

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