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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件策略编写求助区 → [求助]编写MACD指标

   

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


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

主题:[求助]编写MACD指标

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2018/6/22 13:25:41 [显示全部帖子]

下面两个加仓条件您如何定义的? 比如MACD红柱再次加长如何定义的?
多仓条件:MACD红柱再次加长股价在60日线上开多仓, 默认只加仓一次:加仓1
空仓条件:MACD绿柱再次加长股价在60日线下开空仓,默认只加仓一次:加仓1

//macd
p:=26;
s:=12;
m1:=9;

diff := ema(close,s) - ema(close,p);
dea  := ema(diff,m1);
MACD1 : 2*(DIFF-DEA), COLORSTICK;
jc: cross(diff,dea) ;
sc: cross(dea,diff);

60s: c > ma(c,60);
60x: c < ma(c,60);

开多仓条件:= 60s and  jc ;
平多仓条件:= sc ;
开空仓条件:= 60x and sc ;
平空仓条件:=jc ;

if 平空仓条件 then sellshort(1,holding, market);
if 开多仓条件 then buy(holding=0,1,market);
if 平多仓条件 then sell(1,holding,market);
if 开空仓条件 then buyshort(holding=0 , 1,market);

if time =185500 or time=025500 then begin
sellshort(1,holding, market);
sell(1,holding,market);
end


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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2018/6/28 14:11:08 [显示全部帖子]

红柱再次增加需要在之前的代码中再添加下列代码,绿柱加仓的条件可以根据下面代码修改一下,您可以试下:

cond: MACD1 > ref(MACD1,1)  and  ref(MACD1,1) < ref(MACD1,2)  and MACD1 > 0 and  ref(MACD1,1) >0  and  ref(MACD1,2)>0;//红柱都为红色,逐渐缩小后又变长
VARIABLE:n=1 ;
if cond and  c > ma(c,60)  and  n<2  then begin
我是加仓:buy(holding=1,1,market);
n:=n+1 ;
end
if macd1 < 0 then n:=1 ;

 回到顶部