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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件策略编写求助区 → 求助写移动止损代码

   

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


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

主题:求助写移动止损代码

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


加好友 发短信
等级:新手上路 帖子:19 积分:0 威望:0 精华:0 注册:2021/1/20 10:35:31
求助写移动止损代码  发帖心情 Post By:2021/4/13 9:30:06 [只看该作者]

想法是这样的:如果close>REF(HHV(HIGH,N),1)  ,则把当前K线后面的那一根K线的止损价,放在当前K线前面的第二个低点的位置(价位)。如果下一个K线(当前K线后的那根)的低点高于当前K线的低点,则止损位置相应提高。如果下一个K线(当前K线后的那根)的低点等于或低于当前K线的低点,则止损位置不作变动。我就是这个移动止损代码不会写,请求老师帮帮我,十分感谢!

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2021/4/19 14:08:42 [只看该作者]

抱歉让您久等了,请您回答以下4个问题
REF(HHV(HIGH,N),1) ; //前N根K线的最高价    

第一问:您的初始止损价原本是前N根K线的最低价吗?

一、收盘价格创历史新高,则止损价向对应向上调整?
close>REF(HHV(HIGH,N),1) ;//当前收盘价,创造前N根K线的历史新高,则下一根K线的止损价就调整

第二问:止损价如何调整呢?-----调整成当前K线前面的第二个低点的位置(价位)?
         这是指前面N根K线的最低价?还是前面N根K线里的,倒数第二个最低价格?

二、本根K线和下一根K线最低价的大小
第三问:下一个K线(当前K线后的那根)的最低价>当前K线的低点,则止损位置相应提高,如何提高,参照第二问
下一个K线(当前K线后的那根)的最低价<=当前K线的低点,止损价保持不变

依据您上面的逻辑,您止损价调整有两个依据:一、收盘价格创历史新高,则止损价向对应向上调整   二、本根K线和下一根K线最低价的大小
第四问:这两个依据的关系是什么样的?
      满足”第一个依据“的同时,也得满足”第二个依据“,的时候,我才调高止损价吗?


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

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

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

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


加好友 发短信
等级:新手上路 帖子:19 积分:0 威望:0 精华:0 注册:2021/1/20 10:35:31
  发帖心情 Post By:2021/5/2 23:38:24 [只看该作者]

回老师第一问:初始止损价是离当前K线最近的第三个低点,然后,收盘价格创历史新高,低点不断上移,则止损价对应向上调整。close>REF(HHV(HIGH,N),1) ;//当前收盘价,创造前N根K线的历史新高,则下一根K线的止损价就相应往上调整。
回老师第二问:止损价调整成当前K线前面N根K线里的,当前K线往前数第三个低点价格。打个比如:郑煤近期的最低点价格为:今天780 ,昨天752 ,前天736 ,前前天 732 。当前K线为今天780,那么当前K线往前数第三低点是前前天732,前前天732价格就是当前K线(今天)的止损价位。
回老师第三问:下一个K线(当前K线后的那根)的最低价>当前K线的低点,则止损位置相应提高,如何提高: 止损位置往上提升一个低点。如果低点是提高的,那么,止损位置始终是在该K线前面的第三个低点。如果下一个K线(当前K线后面的那根)的最低价<=当前K线的低点,止损价保持不变。直至有一个K线的低点向下击穿第三个低点价位——止损离场。
回老师第四问:止损价调整的依据:在上升趋势中,不断抬高的低点是止损的位置,当前K线前面的 第三个低点是当前K线的止损价位,如果下一根K线的低点抬高,那么,止损价位也跟着抬高;如果下一根K线的低点<=当前K线的低点,那么,止损价位保持不变。
前面是价格上升,低点上升过程中的移动止损位置的设置。那么,如果价格下降,高点下降过程中的移动止损位置的设置,和前述同理,以当前K线前面的第三个高点为当前K线的止损价位,高点降低,止损也相应降低;如果下一根K线的高点>=当前K线的高点,那么,止损价位保持不变。
谢谢老师!

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/5/11 14:01:23 [只看该作者]

还需要明确以下几个问题:
问题1:“初始止损价是离当前K线最近的第三个低点”
这里的初始止损价 是基于开仓K位置定义的吗?在没有满足close>REF(HHV(HIGH,N),1) 之前都是不变的?然后这个第三个低点是指前面三个K当中的最低价,还是单纯值前面第三个K的最低价?

问题2:2楼的以下提问:“一、收盘价格创历史新高,则止损价向对应向上调整   二、本根K线和下一根K线最低价的大小 第四问:这两个依据的关系是什么样的?
这个疑问,你这边没有直接回复啊。你提到了2个调整止损价的策略,但是你没有表述清楚这2个逻辑的关系。



命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
绍兴老黄
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:19 积分:0 威望:0 精华:0 注册:2021/1/20 10:35:31
  发帖心情 Post By:2021/5/12 11:35:10 [只看该作者]

对不起,老师,是我没有说清楚。
我想把顾比倒数线改成两条止损线,一条是多头止损线,一条是空头止损线。上升趋势时,多头止损线跟随上升趋势向上移动(也就是下面顾比倒数线的第三只重要蜡烛线的低点),并画出多头止损线。当上升趋势到达顶端并向下回落时,如果收盘价下穿多头止损线(即下穿第三只重要蜡烛线的低点),即多头趋势结束空头趋势开始,画出空头止损线。空头止损线即下面顾比倒数线的第三只重要蜡烛线的高点。
顾比倒数线:
DISTL:=NEWLBARS(L,1);
DISTH:=NEWHBARS(H,1);
HI20:=REF(HHV(H,20),1);
LO20:=REF(LLV(L,20),1);
GBD1:=REF(L,DISTL);
GBD2:=REF(GBD1,DISTL);
GBD:IF(GBD2>0,MAX(LLV(L,20),GBD2),LLV(L,20));//第三只重要蜡烛线的低点

GBG1:=REF(H,DISTH);
GBG2:=REF(GBG1,DISTH);
GBG:IF(GBG2>0,MIN(HHV(H,20),GBG2),HHV(H,20));//第三只重要蜡烛线的高点

谢谢老师!

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2021/5/20 16:08:43 [只看该作者]

以下为顾比倒数线,多头止损示例。

variable:zs=c,maxhl=c;
//把以上顾比线的代码复制一下
DISTL:=NEWLBARS(L,1);
DISTH:=NEWHBARS(H,1);
HI20:=REF(HHV(H,20),1);
LO20:=REF(LLV(L,20),1);
GBD1:=REF(L,DISTL);
GBD2:=REF(GBD1,DISTL);
GBD:=IF(GBD2>0,MAX(LLV(L,20),GBD2),LLV(L,20));
GBG1:=REF(H,DISTH);
GBG2:=REF(GBG1,DISTH);
GBG:=IF(GBG2>0,MIN(HHV(H,20),GBG2),HHV(H,20));


Sar1:SAR(10,2,20),CIRCLEDOT;

DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  := EMA(DIFF,9);
MACD := 2*(DIFF-DEA);

con1:=any(ref(Sar1>high,1) and Sar1<high,3)=1,linethick0;
con2:=any(cross(diff,dea),3)=1 and diff<5,linethick0;//and abs(diff)<0.6   

//下破移动止损线后离场
if holding>0 and (c<zs) then sell(1,1,limitr,c);

if con1 and con2 and holding=0 then 
begin 
     buy(1,1,limitr,c);
     zs:=gbd;//调用顾比倒数线做为止损
     maxhl:=h;//记录当时的高点
end

if holding>0 and h>maxhl then begin //创新高后,重新定位离场位,以实现浮动止损
 zs:=gbd;
 maxhl:=h;
end

止损线:zs;
[此贴子已经被作者于2021/5/20 16:09:04编辑过]


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

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

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

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


加好友 发短信
等级:新手上路 帖子:19 积分:0 威望:0 精华:0 注册:2021/1/20 10:35:31
  发帖心情 Post By:2021/5/21 22:25:53 [只看该作者]

谢谢老师!

 回到顶部