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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 移动止损的编写

   

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


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

主题:移动止损的编写

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


加好友 发短信
等级:新手上路 帖子:6 积分:0 威望:0 精华:0 注册:2015/5/19 12:30:16
移动止损的编写  发帖心情 Post By:2015/5/26 15:18:29    Post IP:119.41.138.9[只看该作者]

老师好:我的系统开仓后有时获利了30个点,由于没到我的平仓条件,最后就成了亏损信号 ,我想把移动止损用到我的系统里面,就是获利20个点后,把止损移到开仓价,请问老师这个怎么写到系统里。
kd:=   806kd  ;
kk:=  806kk  ;
pd:= (enterprice-c>10 or (kk  ) or 801pd  ) ;
pk:=  (c-enterprice>10 or (kd ) or 801pk  )  ;
平空D:SELLSHORT((PK OR TIME>151300 ) AND HOLDING<0,HOLDING,MARKET);
平多D:SELL((PD  OR TIME>151200) AND HOLDING>0,HOLDING,MARKET);
开多D: BUY(kd and time<1455 AND HOLDING=0,1,MARKET);
开空D:BUYSHORT(kk and time<1455 AND HOLDING=0,1,MARKET);
 这是我这个系统的开平仓条件,请老师帮忙把移动止损写到系统里。

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


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

在原来的代码基础上,加上这几句:

 

if holding>0 and hhv(h,enterbars+1)>=enterprice+20 and l<=enterprice then sell(1,0,market);
if holding<0 and llv(l,enterbars+1)<=enterprice-20 and h>=enterprice then sellshort(1,0,market);

 

上面的是固定轮询模式下的。

如果系统用的是走完k线模式,则可以这样写:

 

if holding>0 and hhv(h,enterbars+1)>=enterprice+20 and c<=enterprice then sell(1,0,market);
if holding<0 and llv(l,enterbars+1)<=enterprice-20 and c>=enterprice then sellshort(1,0,market);



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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:6 积分:0 威望:0 精华:0 注册:2015/5/19 12:30:16
  发帖心情 Post By:2015/5/26 15:40:23    Post IP:119.41.138.9[只看该作者]

请问这两句要单独写个平仓语句吧?即:
kd:=   806kd  ;
kk:=  806kk  ;
pd:2= (enterprice-c>10 or (kk  ) or 801pd  ) ;
pk:2=  (c-enterprice>10 or (kd ) or 801pk  )  ;
PD1:=if holding>0 and hhv(h,enterbars+1)>=enterprice+20 and c<=enterprice then sell(1,0,market);
PK1:=if holding<0 and llv(l,enterbars+1)<=enterprice-20 and c>=enterprice then sellshort(1,0,market);
平空D:SELLSHORT((PK OR TIME>151300 ) AND HOLDING<0,HOLDING,MARKET);
PD:=PD1 OR PD2;
PK:=PK1 OR PK2;
平多D:SELL((PD  OR TIME>151200) AND HOLDING>0,HOLDING,MARKET);
开多D: BUY(kd and time<1455 AND HOLDING=0,1,MARKET);
请问这样对吗?

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


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

不是,我的意思是直接在你原来代码后面加这两句


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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:6 积分:0 威望:0 精华:0 注册:2015/5/19 12:30:16
  发帖心情 Post By:2015/5/27 7:05:44    Post IP:119.41.138.9[只看该作者]

请问这两句加在那里呢?就直接加在最后吗?
kd:=   806kd  ;
kk:=  806kk  ;
pd:2= (enterprice-c>10 or (kk  ) or 801pd  ) ;
pk:2=  (c-enterprice>10 or (kd ) or 801pk  )  ;
平空D:SELLSHORT((PK OR TIME>151300 ) AND HOLDING<0,HOLDING,MARKET);
PD:=PD1 OR PD2;
PK:=PK1 OR PK2;
平多D:SELL((PD  OR TIME>151200) AND HOLDING>0,HOLDING,MARKET);
开多D: BUY(kd and time<1455 AND HOLDING=0,1,MARKET);
if holding>0 and hhv(h,enterbars+1)>=enterprice+20 and c<=enterprice then sell(1,0,market);
if holding<0 and llv(l,enterbars+1)<=enterprice-20 and c>=enterprice then sellshort(1,0,market);
是这样吗?

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


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

kd:=   806kd  ;
kk:=  806kk  ;
pd:= (enterprice-c>10 or (kk  ) or 801pd  ) ;
pk:=  (c-enterprice>10 or (kd ) or 801pk  )  ;
平空D:SELLSHORT((PK OR TIME>151300 ) AND HOLDING<0,HOLDING,MARKET);
平多D:SELL((PD  OR TIME>151200) AND HOLDING>0,HOLDING,MARKET);
开多D: BUY(kd and time<1455 AND HOLDING=0,1,MARKET);
开空D:BUYSHORT(kk and time<1455 AND HOLDING=0,1,MARKET);
 

if holding>0 and hhv(h,enterbars+1)>=enterprice+20 and l<=enterprice then sell(1,0,market);
if holding<0 and llv(l,enterbars+1)<=enterprice-20 and h>=enterprice then sellshort(1,0,market);



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

客户服务部

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

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

 回到顶部