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


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

   

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


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

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

美女呀,离线,留言给我吧!
pyd
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2017/5/15 13:51:58    Post IP:180.169.30.6[显示全部帖子]

6楼代码运行结果怎么不符合要求?把你的思路完整的描述一遍。


 回到顶部
美女呀,离线,留言给我吧!
pyd
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2017/5/15 15:30:19    Post IP:180.169.30.6[显示全部帖子]

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 and holding=0,1,market);
n:=0;
end

 回到顶部
美女呀,离线,留言给我吧!
pyd
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2017/5/15 16:31:37    Post IP:180.169.30.6[显示全部帖子]

平仓反手的写法:
if cond1 then begin
sell();
buyshort();
end
if cond2 then begin
sellshort();
buy();
end

 

二次金死叉的写法上边写过了你套进去就可以了


 回到顶部
美女呀,离线,留言给我吧!
pyd
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2017/5/16 9:51:53    Post IP:180.169.30.6[显示全部帖子]

编写中请稍等


 回到顶部
美女呀,离线,留言给我吧!
pyd
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2017/5/16 10:35:36    Post IP:180.169.30.6[显示全部帖子]

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 TYPE(1)=3 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 TYPE(1)=1 and  m=0 then m:=1;//第一次
 
if longzs1 and m=1 then begin//第二次
sell(1 and holding>0,1,market);
m:=0;
end


 回到顶部
美女呀,离线,留言给我吧!
pyd
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2017/5/16 11:45:21    Post IP:180.169.30.6[显示全部帖子]

在看,稍等

 回到顶部
美女呀,离线,留言给我吧!
pyd
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2017/5/16 12:03:21    Post IP:180.169.30.6[显示全部帖子]

variable:n=0,m=0;
diff:"macd.diff";
dea:"macd.dea";
ma1:=ma(c,10);
ma2:=ma(c,20);
cond1:cross(ma1,ma2);
cond2:cross(ma2,ma1);


KD:=cond1;          //开多条件
PD:=cond2;          //平多条件
KK:=cond2;          //开空条件
PK:=cond1;          //平空条件
if pk then begin //平空信号
SELLSHORT(PK,1,THISCLOSE);
n:=0;
end                

BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号
if pd then begin
 SELL(PD,1,THISCLOSE);
 m:=0;
 end                      //平多信号
BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);

//止损条件1


shortzs1:cross(diff,dea);
longzs1:cross(dea,diff);


if shortzs1 and TYPE(1)=3 and n=0  then n:=1;//第一次
if shortzs1 and n=1 and holding<0 and n=ref(n,1) then begin//第二次
空损:sellshort(1,1,market);
n:=0;
end
if longzs1 and TYPE(1)=1 and  m=0 then m:=1;//第一次
aa:m;
if longzs1 and m=1 and holding>0 and m=ref(m,1) then begin//第二次
多损:sell(1,1,market);
m:=0;
end

 

 


 回到顶部