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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请问MACD第二次金叉开仓买如何写?

   

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


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

主题:请问MACD第二次金叉开仓买如何写?

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


加好友 发短信
等级:论坛游侠 帖子:274 积分:0 威望:0 精华:0 注册:2015/7/5 14:46:18
  发帖心情 Post By:2017/5/15 11:31:41    Post IP:222.78.34.223[显示全部帖子]

可是代码按顺序运行后,不就每次金叉都开仓了。并不是二次金叉开仓,还是说我的思路错了???请老师解答

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


加好友 发短信
等级:论坛游侠 帖子:274 积分:0 威望:0 精华:0 注册:2015/7/5 14:46:18
  发帖心情 Post By:2017/5/15 15:12:41    Post IP:222.78.34.223[显示全部帖子]

variable:n=0;
diff:"macd.diff";
dea:"macd.dea";
金叉:cross(diff,dea); 
if 金叉 and n=0 then n:=1;
 
if 金叉 and n=1 then begin
buy(1,1,market);
n:=0;
end


这样在图表运行中,每次金叉都开仓。这个第二次表现在哪儿??

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


加好友 发短信
等级:论坛游侠 帖子:274 积分:0 威望:0 精华:0 注册:2015/7/5 14:46:18
  发帖心情 Post By:2017/5/15 16:02:22    Post IP:222.78.34.223[显示全部帖子]

谢谢。比如:比如5日与20日金叉平空开多,macd二次死叉平仓。5日与20日死叉平多开空,macd二次金叉平仓。就是每次开仓后用macd二次金叉死叉判断平仓。如何实现???、

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


加好友 发短信
等级:论坛游侠 帖子:274 积分:0 威望:0 精华:0 注册:2015/7/5 14:46:18
  发帖心情 Post By:2017/5/15 17:15:17    Post IP:222.78.34.223[显示全部帖子]

好的,谢谢解答

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


加好友 发短信
等级:论坛游侠 帖子:274 积分:0 威望:0 精华:0 注册:2015/7/5 14:46:18
  发帖心情 Post By:2017/5/16 9:46:15    Post IP:222.78.34.223[显示全部帖子]

又得麻烦大牛,直接套入后。图表表现出来并不是macd二次金叉死叉平仓,而是开仓后一碰到金叉死叉就平仓了。
想表现的效果:是开仓后,然后才判断macd是否是第二次金叉死叉。下面是代码,大牛解答哪里出错了????
variable:n=0,m=0;
diff:"macd.diff";
dea:"macd.dea";
ma1:=ma(c,a);
ma2:=ma(c,b);
cond1:cross(ma1,ma2);
cond2:cross(ma2,ma1);

KD:=cond1;          //开多条件
PD:=cond2;          //平多条件
KK:=cond2;          //开空条件
PK:=cond1;          //平空条件
平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号
平多:SELL(PD,1,THISCLOSE);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);

//止损条件1

shortzs1:cross(diff,dea);
longzs1:cross(dea,diff); 
if shortzs1 and n=0 then n:=1;//第一次
 
if shortzs1 and n=1 then begin//第二次
sellshort(1 and holding<0,1,market);
n:=0;
end

if longzs1 and m=0 then m:=1;//第一次
 
if longzs1 and m=1 then begin//第二次
sell(1 and holding>0,1,market);
m:=0;
end

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


加好友 发短信
等级:论坛游侠 帖子:274 积分:0 威望:0 精华:0 注册:2015/7/5 14:46:18
  发帖心情 Post By:2017/5/16 11:04:53    Post IP:222.78.34.223[显示全部帖子]

可是运行后还是开仓后,第一次金叉死叉就平仓了?

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


加好友 发短信
等级:论坛游侠 帖子:274 积分:0 威望:0 精华:0 注册:2015/7/5 14:46:18
  发帖心情 Post By:2017/5/16 19:39:04    Post IP:222.78.34.223[显示全部帖子]

   谢谢pyd的耐心解答

 回到顶部