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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 开仓类型识别

   

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


  共有3564人关注过本帖平板打印复制链接

主题:开仓类型识别

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


加好友 发短信
等级:新手上路 帖子:53 积分:0 威望:0 精华:0 注册:2013/2/18 9:51:26
  发帖心情 Post By:2014/9/1 13:59:15 [只看该作者]

您好:我试了还是不行,都是止损退出,分类信号都不起作用,帮忙看一下怎么回事?谢谢你啦!
INPUT:P(28,20,30,1),S(9,1,15,2),M(9,1,20,2);
VARIABLE:kd1n=0,kd2n=0,kd3n=0;

DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  := EMA(DIFF,M);
MACD1 := 2*(DIFF-DEA);
CONDJ:=CROSS(DIFF,DEA);
CONDS:=CROSS(DEA,DIFF);

UPCROSS:=MACD1>0 AND REF(MACD1<0,1);
DWCROSS:=MACD1<0 AND REF(MACD1>0,1);
NN1:=BARSLAST(UPCROSS);//上次条件成立出现红柱位置
NN2:=REF(BARSLAST(UPCROSS),NN1+1);//上上次
NN3:=REF(BARSLAST(UPCROSS),NN1+NN2+1+1);
MM1:=BARSLAST(DWCROSS);//上次出现绿柱位置
MM2:=REF(BARSLAST(DWCROSS),NN1+1);//上上次
MM3:=REF(BARSLAST(DWCROSS),NN1+NN2+1+1);

r1:=REF(HHV(macd1,nn1+1),mm1+1);//前一个macd红柱的最高值
DIFFK1:=HHV(DIFF,NN1);//当前diff高值
DIFFK2:=REF(HHV(DIFF,NN1+1),MM1+1);//前一个diff的最高值
DIFFK3:=REF(HHV(DIFF,NN1+1),NN1+NN2+1+1);//再前一个的diff高值

pk1:=hhv(high,nn1);
pk2:=ref(hhv(high,nn1+1),mm1+1);
pk3:=ref(hhv(high,nn3),nn1+1+nn2+1);

hong1:=SUM(ABS(MACD1),NN1);//当前红柱面积
hong12:=sum(abs(macd1),mm1);
hong2:=SUM(ABS(MACD1),NN2+NN1+1)-hong12;//在前一个红柱面积

RP2:=REF(LLV(LOW,MM1+1),NN1+1);//前一个绿柱对应的价格低点
DIFFD1:=LLV(DIFF,MM1);
DIFFD2:=REF(LLV(DIFF,MM1+1),NN1+1);//前一个的diff低点
DIFFD3:=REF(LLV(DIFF,MM1+1),NN1+NN2+1+1);//再前一个diff低点

pd1:=llv(low,mm1);
pd2:=ref(llv(low,mm1+1),nn1+1);
pd3:=ref(llv(low,mm3),nn1+1);

lv1:=sum(abs(macd1),mm1);//绿柱面积
lv12:=sum(abs(macd1),nn1+1);
lv2:=sum(abs(macd1),nn1+1+mm2)-lv12;//前一个绿柱面积


h20:=ref(hhv(high,20),1);

//开多条件
kd1:= macd1<0 and pd1<pd2 and 
(diff>ref(diff,1) and diffd1>diffd2) and 
macd1>ref(macd1,1) and
ref(close,15)>ref(close,30);//DIFF没创新低

kd2:=macd1<0 and pd1<pd2 and 
diff>ref(diff,1) and
(macd1>ref(macd1,1) and 2*lv1<lv2);//绿柱面积减小

kd3:=last(abs(macd1)<0.5,10,1) and last(abs(close-open)/close<0.001,15,5)
and (high-low)/close>0.0015 and close>open;


//平多条件
l20:=ref(llv(low,20),1);
dfx:=ref(high,1)>high and ref(high,1)>ref(high,2) and close<=open;//顶分型;

kk1:=macd1>0 and  pk1>pk2 and 
 diff<diffk1 and diffk1<diffk2 and diff<ref(diff,1);



if holding>0 then begin

    if close-enterprice<-5 then begin
        止损1:sell(close<l20,0,market); 
        kd1n:=0;
        kd2n:=0;
        kd3n:=0;      
    end
    
    if kd1n=1 then BEGIN
       平多1:sell(kk1,0,market);
       kd1n:=0;
    end  
    
    if kd2n=1 then BEGIN
       平多2:sell(dfx,0,market);
       kd2n:=0;
    end
    
    if kd3n=1 then begin
       平多3:sell(kk1,0,market);
       kd3n:=0;
    end         
end


if holding=0 then BEGIN
   if kd1 then BEGIN
      开多1:buy(1,1,market);
      kd1n:=1;
    end
    
    if kd2 then BEGIN
       开多2:buy(1,1,market);
       kd2n:=1;
    end 
    
    if kd3 then begin
       开多3:buy(1,1,market);
       kd3n:=1;
    end
end
  
      

 回到顶部
总数 13 1 2 下一页