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


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

   

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


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

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

帅哥哟,离线,有人找我吗?
渴望知识
  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他们为全局变量呢?


 回到顶部
帅哥哟,离线,有人找我吗?
渴望知识
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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[显示全部帖子]

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
渴望知识
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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语句是什么时候用比较合适呢?

 


 回到顶部
帅哥哟,离线,有人找我吗?
渴望知识
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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[显示全部帖子]

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

 回到顶部
帅哥哟,离线,有人找我吗?
渴望知识
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
图片点击可在新窗口打开查看

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


加好友 发短信
等级:黑侠 帖子:634 积分:0 威望:0 精华:0 注册:2014/12/10 13:23:42
  发帖心情 Post By:2015/2/27 15:04:04    Post IP:222.161.221.34[显示全部帖子]

不好意思,脑子有点转不过来了,为什么要加上ref(holding<=0,1),这句呢?

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


加好友 发短信
等级:黑侠 帖子:634 积分:0 威望:0 精华:0 注册:2014/12/10 13:23:42
  发帖心情 Post By:2015/2/27 15:11:53    Post IP:222.161.201.75[显示全部帖子]

那如果将来设计加减仓的话,那这不会有冲突吗?

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


加好友 发短信
等级:黑侠 帖子:634 积分:0 威望:0 精华:0 注册:2014/12/10 13:23:42
  发帖心情 Post By:2015/2/27 15:25:27    Post IP:222.161.201.75[显示全部帖子]

谢谢你的耐心回答,那我现在把你说的这个加进去了,那我下面的止盈止损的策略会不会有问题呢?

ZS:=3;
TP:=3;
DTP:=8;
A:=mindiff;//取模组交易合约的最小变动价位

//止赢条件:止盈3个点起,跟随止盈8个点起。
//止损条件:止损设在信号出现的K线最高(低)点+(-)3。
//反手条件:止损后,立即反手。
//止盈后不反手,等待下一个开仓信号的出现。

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);//多单止盈和追踪止盈


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


加好友 发短信
等级:黑侠 帖子:634 积分:0 威望:0 精华:0 注册:2014/12/10 13:23:42
  发帖心情 Post By:2015/2/27 15:28:32    Post IP:222.161.201.75[显示全部帖子]

谢谢你的耐心回答,那我现在把你说的这个加进去了,那我下面的止盈止损的策略会不会有问题呢?

ZS:=3;
TP:=3;
DTP:=8;
A:=mindiff;//取模组交易合约的最小变动价位

//止赢条件:止盈3个点起,跟随止盈8个点起。
//止损条件:止损设在信号出现的K线最高(低)点+(-)3。
//反手条件:止损后,立即反手。
//止盈后不反手,等待下一个开仓信号的出现。

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);//多单止盈和追踪止盈

 

今天下午跑盘的时候,这个最小止盈总是没有执行,我算了好多遍了,这个逻辑上应该是没有问题的。

只要开仓后盈利了,那最少也应该是1个点的盈利,但我总拿不到,不知道是不是我整个的止盈策略是错误的,还是写法上有什么错误。


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


加好友 发短信
等级:黑侠 帖子:634 积分:0 威望:0 精华:0 注册:2014/12/10 13:23:42
  发帖心情 Post By:2015/2/27 15:39:06    Post IP:222.161.221.34[显示全部帖子]

按照账户里的盈利计算,我算的也就应该是我开仓点位加1。这个和我策略里那个A3应该是对应的。


 回到顶部
总数 51 1 2 3 4 5 6 下一页