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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 如何编写出信号后回抽到五日线买入?

   

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


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

主题:如何编写出信号后回抽到五日线买入?

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


加好友 发短信
等级:论坛游侠 帖子:449 积分:0 威望:0 精华:0 注册:2016/9/9 19:10:49
  发帖心情 Post By:2016/11/24 6:24:20    Post IP:120.218.91.122[只看该作者]

下图是代码如下:

IF ref(BJ=1,1) and ref(HB,1) and ref(A,1) and ref(ISUP,1) and ref(CLOSE>REF(L+(H-L)*2/3,1),1) AND ref(SS>0 ,1)  Then

  开仓m:BUY(1,1,LIMITR,CLOSE);  //开多
    

但是m比较多,我想控制第一个m出现之后,4个k内不再出m  用了如下代码,为何一个m都不出现了  ?



variable:mm:=0;

 
IF ref(BJ=1,1) and ref(HB,1) and ref(A,1) and ref(ISUP,1) and mm=0 and ref(CLOSE>REF(L+(H-L)*2/3,1),1) AND ref(SS>0 ,1)  THEN begin
  开多m:BUY(1,1,LIMITR,CLOSE);  //开多
mm:=mm+1;
end

if mm>=4 then mm:=0;
图片点击可在新窗口打开查看此主题相关图片如下:33.png
图片点击可在新窗口打开查看

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


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

你越想越歪,按照我前面的方法做下调试,找出具体的问题


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

客户服务部

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

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

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


加好友 发短信
等级:论坛游侠 帖子:449 积分:0 威望:0 精华:0 注册:2016/9/9 19:10:49
  发帖心情 Post By:2016/11/24 9:10:19    Post IP:221.176.177.58[只看该作者]

不是越想越歪,m3信号该出的地方没出,我分析出现象了,因为这个地方再次满足了 m (扣除holding=0的限制),所以我想法限制m

 

现在非常想限制m的开仓  麻烦你看看那个代码为何限制不了啊  


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


加好友 发短信
等级:论坛游侠 帖子:449 积分:0 威望:0 精华:0 注册:2016/9/9 19:10:49
  发帖心情 Post By:2016/11/24 9:14:40    Post IP:221.176.177.58[只看该作者]

以下是引用jinzhe在2016-11-24 8:59:26的发言:
你越想越歪,按照我前面的方法做下调试,找出具体的问题

我真不理解你那个cross调试到底什么用,我现在的目的很明确,就是让m3该出的地方,不能后推!

现在m3信号后推几个k的共同特点就是,m3该出的这个地方,再次满足了m(扣除holding=0)的条件,所以现在目标就是限制m,而不是你说的那个

cross,那个cross我也没摸索明白到底什么用。 


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


加好友 发短信
等级:论坛游侠 帖子:449 积分:0 威望:0 精华:0 注册:2016/9/9 19:10:49
  发帖心情 Post By:2016/11/24 9:16:03    Post IP:221.176.177.58[只看该作者]

其他的不说,但看下面的代码,为何一个信号不出了?请求看下,谢谢jinzhe
variable:mm:=0;
IF ref(BJ=1,1) and ref(HB,1) and ref(A,1) and ref(ISUP,1) and mm=0 and ref(CLOSE>REF(L+(H-L)*2/3,1),1) AND ref(SS>0 ,1)  THEN begin
  开多m:BUY(1,1,LIMITR,CLOSE);  //开多
mm:=mm+1;
end

if mm>=4 then mm:=0;

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


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

你这bj,hb之类的变量太多,这些都会影响最终的mm赋值,

你输出下mm值,看看现在的mm值是多少



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

客户服务部

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

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

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


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

如果mm值是1,说明你那一大堆条件只成立过一次,而且是和开仓相关的条件,所以只成立过一次


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

客户服务部

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

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

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


加好友 发短信
等级:论坛游侠 帖子:449 积分:0 威望:0 精华:0 注册:2016/9/9 19:10:49
  发帖心情 Post By:2016/11/24 10:18:03    Post IP:221.176.177.58[只看该作者]

m的值的确是1 ,有啥方法解决没

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


加好友 发短信
等级:论坛游侠 帖子:449 积分:0 威望:0 精华:0 注册:2016/9/9 19:10:49
  发帖心情 Post By:2016/11/24 10:19:42    Post IP:221.176.177.58[只看该作者]

这么多 m出现,我就想简单地限制下m,出现一个m后4个k内不再让m出,应该不是啥难事吧,为何代码却如此难写?
 
以下是引用xiangquzi在2016-11-24 6:24:20的发言:
下图是代码如下:

IF ref(BJ=1,1) and ref(HB,1) and ref(A,1) and ref(ISUP,1) and ref(CLOSE>REF(L+(H-L)*2/3,1),1) AND ref(SS>0 ,1)  Then

  开仓m:BUY(1,1,LIMITR,CLOSE);  //开多
    

但是m比较多,我想控制第一个m出现之后,4个k内不再出m  用了如下代码,为何一个m都不出现了  ?



variable:mm:=0;

 
IF ref(BJ=1,1) and ref(HB,1) and ref(A,1) and ref(ISUP,1) and mm=0 and ref(CLOSE>REF(L+(H-L)*2/3,1),1) AND ref(SS>0 ,1)  THEN begin
  开多m:BUY(1,1,LIMITR,CLOSE);  //开多
mm:=mm+1;
end

if mm>=4 then mm:=0;
图片点击可在新窗口打开查看此主题相关图片如下:33.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:论坛游侠 帖子:449 积分:0 威望:0 精华:0 注册:2016/9/9 19:10:49
  发帖心情 Post By:2016/11/24 10:25:40    Post IP:221.176.177.58[只看该作者]

以下是引用jinzhe在2016-11-24 9:57:14的发言:
如果mm值是1,说明你那一大堆条件只成立过一次,而且是和开仓相关的条件,所以只成立过一次

那就是说,mm成立过一次后,变为1,if条件不再成立,后面的mm:=mm+1 也不再运行了吗


 回到顶部