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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]请教一下止盈止损

   

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


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

主题:[求助]请教一下止盈止损

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


加好友 发短信
等级:黑侠 帖子:634 积分:0 威望:0 精华:0 注册:2014/12/10 13:23:42
[求助]请教一下止盈止损  发帖心情 Post By:2015/2/27 11:40:44    Post IP:222.161.221.34[只看该作者]

老师好

下面是我写的一个止盈止损策略:

input:tq(10,3,60,1);
abb:=(time0-timetot0(dynainfo(207))<=tq) or not(islastbar);

KD:BUY(holding=0 and 做多条件 and abb and time<145500,1,limitr,c); //开多
KK:BUYSHORT(holding=0 and 做空条件 and abb and time<145500,1,limitr,c);//开空

 

//图表时使用的语句
kcwzl:=valuewhen(kd,low);//开多单时的最低价
kcwzh:=valuewhen(kk,high);//开空单时的最高价


 

//止损点差为最(高)低点的ZS个点,止赢点差为TP,追踪点差为DTP
ZS:=3;
TP:=3;
DTP:=8;
A:=mindiff;//取模组交易合约的最小变动价位

 

kdzs:=C<(kcwzl-zs);//多单止损条件
kkzs:=c>(kcwzh+zs);//空单止损条件

 


     sell(kdzs,0,marketr);
     buyshort(holding=0 && kdzs,1,marketr); //多单止损后反手
    
     sellshort(kkzs,0,marketr);
     buy(holding=0 && kkzs,1,marketr); //空单止损后反手

 

//多单止盈止损计算
HH:=HHV(H,enterbars+1);    //买开仓位置到现在最高价
A1:=ENTERPRICE+TP*A;       //止盈点差起始位置
A2:=A1+DTP*A;              //追踪点差起始位置
A3:=A1-2*A;                //最小止盈位置
A4:=HH-DTP*A;              //以上为根据止赢点差计算多单追踪止赢位置
if ((HH>=A1 && HH<=A2 && C<=A3)||(HH>A2 && C<=A4)) && holding>0 then sell(1,0,marketr);//多单止盈和追踪止盈

 

但是我发现实际跑盘时,这个好像都不执行,我单独看了一下他们的线,都是一条直线,而不随着行情的变动而变动。

请问一下,我这个策略的写法有没有问题?里面的那个ETERBARS这个函数加1是否是对的。

另外,我是否需要来声明:HH,A1,A2,A3,A4他们为全局变量呢?


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


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

KD:BUY(holding=0 and 做多条件 and abb and time<145500,1,limitr,c); //开多
KK:BUYSHORT(holding=0 and 做空条件 and abb and time<145500,1,limitr,c);//开空

 

//图表时使用的语句
kcwzl:=valuewhen(kd,low);//开多单时的最低价
kcwzh:=valuewhen(kk,high);//开空单时的最高价

 

这样是错的

 

开仓时的最高最低价用

ref(low,enterbars)

ref(high,enterbars)



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

客户服务部

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

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

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


加好友 发短信
等级:黑侠 帖子:634 积分:0 威望:0 精华:0 注册:2014/12/10 13:23:42
  发帖心情 Post By:2015/2/27 13:45:13    Post IP:222.161.221.34[只看该作者]

谢谢回答,那其他的都没有错吧?

 


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


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

先改了这个最明显的错误,其他的要到实际运行之后才能看出是不是有逻辑错误


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

客户服务部

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

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

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


加好友 发短信
等级:黑侠 帖子:634 积分:0 威望:0 精华:0 注册:2014/12/10 13:23:42
  发帖心情 Post By:2015/2/27 13:55:06    Post IP:222.161.221.34[只看该作者]

哦,那另外再请教一下,这个valuewhen语句是什么时候用比较合适呢?

 


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


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

你这样用是对的,但是kd和kk不对,用开多条件和开空条件来替代掉kd和kk

kd:buy.....

kk:buyshort...

这两句是没有任何意义的



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

客户服务部

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

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

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


加好友 发短信
等级:黑侠 帖子:634 积分:0 威望:0 精华:0 注册:2014/12/10 13:23:42
  发帖心情 Post By:2015/2/27 14:29:09    Post IP:222.161.221.34[只看该作者]

不好意思,没太明白你说的这个代替掉是什么意思。

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


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

kcwzl:=valuewhen(做多条件,low);//开多单时的最低价
kcwzh:=valuewhen(做空条件,high);//开空单时的最高价


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

客户服务部

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

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

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


加好友 发短信
等级:黑侠 帖子:634 积分:0 威望:0 精华:0 注册:2014/12/10 13:23:42
  发帖心情 Post By:2015/2/27 14:39:22    Post IP:222.161.221.34[只看该作者]

这样说吧,

开多条件:c>ma(c,5);

开空条件:c<ma(c,5);

 

这个是我基本的开仓策略。

我按照您前面说的那个:

开仓时的最高最低价用

ref(low,enterbars)

ref(high,enterbars)

 

我把这个加上了,但是现在跑实盘,还是不对,止损总是没有打掉。

正常来说,在最后一个KD出现后那个最低点的黄点上就应该打掉我的止损了,我的止损也就是最低点的3个点而已,但是账号和程序都不动作。

请看附图


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

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


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

kcwzl:=valuewhen(做多条件 and ref(holding<=0,1) and holding>0,low);//开多单时的最低价
kcwzh:=valuewhen(做空条件  and ref(holding>=0,1) and holding<0,high);//开空单时的最高价

 

你的条件太简单所以导致了价格没有准确捕捉到,加了两个条件就行

这两句写在开仓语句后面

 



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

客户服务部

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

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

 回到顶部
总数 89 1 2 3 4 5 6 7 8 9 下一页