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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 交易模型确定的自定义数据 和K线图中指示的不同:

   

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


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

主题:交易模型确定的自定义数据 和K线图中指示的不同:

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


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2020/10/29 10:18:38 [只看该作者]

runmode:0;
VARIABLE:DZYCS:=0,KZYCS:=0;//全局变量控制止盈
VARIABLE:DZSCS:=0,KZSCS:=0;//全局变量控制止盈
otime:=130000;
ctime:=190000;
endtime:=ctime-500;
持仓:holding,nodraw;
胜率:PERCENTWIN*100,nodraw,colorred;
净利润:NETPROFIT,color6600dd,NODRAW;
//可用现金:cash(0),NODRAW;
上次盈亏:NUMPROFIT(1),COLORYELLOW,NODRAW;
浮动盈亏:OPENPROFIT,COLORMAGENTA,NODRAW;
//资产:asset,colorgray,NODRAW;
//总利润:GROSSPROFIT,NODRAW;
//分险收益比:PROFITRISKRATIO,NODRAW;
istradetime:= otime<time and time<ENDTIME;
持价:=ENTERPRICE,COLORGREEN,NODRAW;
IF HOLDING =0 THEN BEGIN
        出价:Exitprice,colormagenta,NODRAW;    
    END    
IF HOLDING>0 THEN BEGIN    
         BUYBAR:=enterbars,NODRAW;     
    end
IF HOLDING<0 THEN begin    
        sellbar:=enterbars,NODRAW;    
    end
MA5D:=stkindi(stklabel,'MYMA.EMA5',0,6,0);    

//日diff:        
    emd1:=stkindi(stklabel,'MYmacd.ema12',0,6,-1);
    emd2:=stkindi(stklabel,'MYmacd.ema26',0,6,-1);    
    emad12:=emd1*11/13+c*2/13;
    emad26:=25/27* emd2 +c*2/27;
    DEADay1:=stkindi(stklabel,'MYmacd.dea',0,6,-1);    
    DIFFDay:=Emad12-emad26,COLORyellow,NODRAW;
    DEADay:=DEADay1*4/5+DIFFDay/5,COLORffaa99,NODRAW;
    MACDD:=DIFFDay-DEADay;    
    金叉:=CROSS(DIFFDay,DEADay);
    死叉:=CROSS(DEADay,DIFFDay);
{
//用于判断背离的DIFFDay
    DIFFDay上前上P:=stkindi(stklabel,'MACDDAY.DIFFDay上前上',0,6,0),colormagenta,NODRAW;
    DIFFDay下前下P:=stkindi(stklabel,'MACDDAY.DIFFDay下前下',0,6,0),colormagenta,NODRAW;
//用于判断价格增减幅度的对应的DIFFDay
    DIFFDay上前下P:=stkindi(stklabel,'MACDDAY.DIFFDay上前下',0,6,0),colorcyan,NODRAW;
    DIFFDay下前上P:=stkindi(stklabel,'MACDDAY.DIFFDay下前上',0,6,0),colorcyan,NODRAW;
//用于判断背离的DIFFDay对应的close
    REFCLOSE上前上P:=stkindi(stklabel,'MACDDAY.REFCLOSE上前上K',0,6,0);
    REFCLOSE下前下P:=stkindi(stklabel,'MACDDAY.REFCLOSE下前下K',0,6,0);
//用于做多,判断价格上涨的幅度:
    REFCD上前下K:=stkindi(stklabel,'MACDDAY. REFCD上前下K',0,6,0);
    LLVD上前下K:=stkindi(stklabel,'MACDDAY.  LLVD上前下K',0,6,0);
    REFCD上前下KPLUS:=stkindi(stklabel,'MACDDAY. REFCD上前下KP',0,6,0);
    LLVD上前下KPLUS:=stkindi(stklabel,'MACDDAY.  LLVD上前下KP',0,6,0);
//用于做空,判断价格下跌的幅度:
    REFCK下前上K:=stkindi(stklabel,'MACDDAY. REFCK下前上K',0,6,0);
    HHVK下前上K:=stkindi(stklabel,'MACDDAY.  HHVK下前上K',0,6,0);
    REFCK下前上KPLUS:=stkindi(stklabel,'MACDDAY. REFCK下前上KP',0,6,0);
    HHVK下前上KPLUS:=stkindi(stklabel,'MACDDAY.  HHVK下前上KP',0,6,0);
//用于判断DIFFDay处于高位还是低位的界限:
    DIFFDayHIGH:=HHV(DIFFDay,200);
    DIFFDayLOW:=LLV(DIFFDay,200);
    DIFFDayGAPH:=MAX(DIFFDayHIGH,ABS(DIFFDayLOW))*0.3;
    DIFFDayGAPL:=-MAX(DIFFDayHIGH,ABS(DIFFDayLOW))*0.3;
}
{//周diff:
    em1:=stkindi(stklabel,'MYmacd.ema12',0,7,-1);
    em2:=stkindi(stklabel,'MYmacd.ema26',0,7,-1);
    ema12:=em1*11/13+c*2/13;
    ema26:=25/27* em2 +c*2/27;
    dea1:=stkindi(stklabel,'MYmacd.dea',0,7,-1);
    diffWKDAY:=ema12-ema26,COLORRED,NODRAW;    
    deaWKDAY:=dea1*4/5+diffWKDAY/5,COLORCYAN,NODRAW;
    MACDWEEK:=DIFFWKDAY-DEAWKDAY,NODRAW;
    周金叉:=cross(diffWKDAY,DEAWKDAY);
    周死叉:=cross(DEAWKDAY,diffWKDAY);
    }
//日KD:
{
    kD:=STKINDI('','KDMY.K',0,6,-1);
    dD:=STKINDI('','KDMY.D',0,6,-1);
    llvD:=STKINDI('','KDMY.llv1',0,6,0);
    hhvD:=STKINDI('','KDMY.hhv1',0,6,0);
    rsvD:=(c-llvD)/(hhvD-llvD)*100;
    KDAY:=(rsvD+(3-1)*kD)/3,COLORMAGENTA;
    DDAY:=(KDAY+(3-1)*dD)/3,COLORGREEN;
}
//周KDJ:
    k1:=STKINDI(stklabel,'KDMY.K',0,7,-1);
    d1:=STKINDI(stklabel,'KDMY.D',0,7,-1);
    llv2:=STKINDI(stklabel,'KDMY.llv1',0,7,0);
    hhv2:=STKINDI(stklabel,'KDMY.hhv1',0,7,0);
    rsv2:=(c-llv2)/(hhv2-llv2)*100;
    KWDAY:=(rsv2+(3-1)*k1)/3;
    DWDAY:=(KWDAY+(3-1)*d1)/3;
//用于判断diff和DIFFDay上升或下降的前一个周期diff
     refDIFFDay:=ref(DIFFDay,1);
//    refdiffwkday:=ref(diffwkday,1);

//近上叉多: KD1:近上金叉开多(diff和dea都在0值以上,且必须是前期已经上涨后,经过小幅回调之后,再重新上涨):
    KD1:=DZYCS=0 AND DIFFDay>0 and  金叉,NODRAW;
//近上已多: KD2:近上已金叉且周K>D开多:
    KD2:=DZYCS=0  AND DIFFDay>0 AND DIFFDay>DEADay,NODRAW;
    KD:KD1 OR KD2,NODRAW;
//开多信号:

if kd1=1 then begin
    近上叉多:BUY(HOLDING=0,50%,MARKETR),COLORRED;
end
if kd2=1 then begin    
    近上已多:BUY(HOLDING=0,50%,MARKETR),COLORRED;
end

//多止盈条件:
HHBUY1:=HHV(H,BUYBAR);
LARGE21:=LARGE(H,BUYBAR,2),COLORRED,NODRAW;    
IF HOLDING>0 THEN BEGIN    
     HHBUY:=HHBUY1,COLORRED,NODRAW;
     LARGE2:=LARGE21,COLORRED,NODRAW;
end
多移盈:=HOLDING>0 AND REF(KD,BUYBAR)=1 AND LARGE2=REF(LARGE2,1) AND H<REF(LARGE2,1);//KMA26<REF(KMA26,1);    
//多止损:=HOLDING>0 AND REF(KD,BUYBAR)=1 AND C<MA5D;    

 
    //平近上多:
    PD1:=死叉,COLORGRAY,NODRAW;
    //平近上多已:
    PD2:=死叉,COLORGRAY,NODRAW;
    
//日周期

ddd1:=ref(KD1,buybar),NODRAW;
ddd2:=ref(KD2,buybar),NODRAW;

//日周期取价:
if holding>0 then begin    
    if ddd1=1 then begin
        ddb:='kd1';    
        近上叉多价:ENTERPRICE,COLORYELLOW;
        end        
    if ddd2=1 then begin
        ddb:='kd2';    
        近上已多价:ENTERPRICE,COLORYELLOW;
        end            
end
//日周期平多操作:
    //
    IF 多移盈=1 THEN BEGIN
        近上叉多盈:SELL(HOLDING>0 AND ddb='kd1',0,MARKETR),COLORMAGENTA;//胜率低
        DZYCS:=1;
    END
    平近上叉多:SELL(HOLDING>0 and PD1=1 and ddb='kd1' ,0,MARKETR),COLORMAGENTA;
    //
    IF 多移盈=1 THEN BEGIN
        近上已盈:SELL(HOLDING>0 AND ddb='kd2',0,MARKETR),COLORMAGENTA;//胜率低
        DZYCS:=1;
    END
    平近上已多:SELL(HOLDING>0 AND PD2=1 and ddb='kd2',0,MARKETR),COLORAAAA11;//胜率低
    
//开空条件:  

//KK1:近下死叉开空(diff和dea都在0以下,且前期经过小幅下跌反弹后继续下跌):
    KK1:=KZYCS=0  AND  DEADay<0 AND 死叉,COLORGREEN,NODRAW;  
//KK2:近下(已死叉)且周K<周D开空:       
    KK2:=KZYCS=0  AND DEADay<0 AND DEADay>DIFFDay,COLORGREEN,NODRAW;

    KK:KK1 OR KK2,NODRAW;    
//开空信号:
//日周期开空:
    
if kk1=1 then begin              
    近下叉空:BUYSHORT(HOLDING>=0,50%,MARKETR),COLORGREEN;
    end    
if kk2=1 then begin              
    近下已空:BUYSHORT(HOLDING>=0,50%,MARKETR),COLORGREEN;
    end    
//空止盈条件:    

    LLS1:=LLV(L,SELLBAR),COLORGREEN,NODRAW;
    LOW21:=LARGE(L,SELLBAR ,SELLBAR-1 ),COLORGREEN,NODRAW;
    IF HOLDING<0 THEN begin    
        LLS:=LLS1,COLORGREEN,NODRAW;
        LOW2:=LOW21,COLORGREEN,NODRAW;
    end    
    空移盈:=HOLDING<0 AND REF(KK,SELLBAR)=1 AND LOW2>=REF(LOW2,1) AND REF(LOW2,1)<L AND MA5D>REF(MA5D,1);    
    //空止损:=HOLDING<0 AND REF(KK,SELLBAR)=1 AND C>MA5D;

//平空条件:

//平近下空:
    PK1:=金叉,COLORYELLOW,NODRAW;
//平近下空已叉:
    PK2:=金叉,COLORYELLOW,NODRAW;

//日周期:
    kkk1:=ref(KK1,sellbar),NODRAW;
    kkk2:=ref(kk2,sellbar),NODRAW;
    
    //日周期:
if holding<0 then begin    
    if kkk1=1 then begin
        kks:='kk1';    
        近下叉空价:ENTERPRICE,COLORcyan;  
        end            
    if kkk2=1 then begin
        kks:='kk2';    
        近下已空价:ENTERPRICE,COLORcyan;  
        end        
    
end
//日周期平空:
    IF 空移盈=1 THEN BEGIN
        近下叉空盈:SELLSHORT(HOLDING<0 and kks='kk1' ,0,MARKETR),COLORCYAN;
        KZYCS:=1;
    END
    平近下叉空:SELLSHORT(HOLDING<0 and PK1=1 and kks='kk1' ,0,MARKETR),COLORCYAN;
    //
    IF 空移盈=1 THEN BEGIN
        近下已空盈:SELLSHORT(HOLDING<0 and kks='kk2' ,0,MARKETR),COLORCYAN;
        KZYCS:=1;
    END
    平近下已空:SELLSHORT(HOLDING<0 and PK2=1 and kks='kk2' ,0,MARKETR),COLORgray;
    
//多止盈后,恢复开多的控制条件:    
    IF REF(多移盈,EXITBARS)=1 AND EXITBARS>=1 AND L<MA5D THEN DZYCS:=0;    
    //多盈志:    DZYCS,colorred,NOdraw;
//空止盈后,恢复开空的控制条件;    
    IF REF(空移盈,EXITBARS)=1 AND EXITBARS>=1 AND H>MA5D THEN KZYCS:=0;
    //空盈志:    KZYCS,colorcyan,NOdraw;

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


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2020/10/29 10:29:18 [只看该作者]

 代码.txt:
里面含有多个指标及自
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:代码.txt

定义函数的代码:代码的开始有: //***代码:的提示:

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2020/10/29 11:17:14 [只看该作者]

你是只要动态显示牌显示 KK  (KK:KK1 OR KK2,NODRAW;  )这个指标是吧?  直接插入公式不就行了吗,干嘛还要通过自定义数据这一步呢?

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


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2020/10/29 11:52:06 [只看该作者]

 我说的是:K线图上kk=0,而列表里日空=1,不一致,他们俩应该一样的.

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


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2020/10/29 11:54:02 [只看该作者]

 铁矿石2015合约上不一致,其他的一致

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


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2020/10/29 12:21:38 [只看该作者]

使用插入公式的运行效率不如使用自定义数据,插入公式4个,系统就死了.

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2020/10/29 13:36:16 [只看该作者]

本地测试的结果是两者都为0,这样你打开自定义数据,点修改数据再选择矿石,看下里面记录呢?

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2020/10/29 17:48:23 [只看该作者]

图片点击可在新窗口打开查看
铁矿石2105

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2020/10/30 9:25:04 [只看该作者]

本地测不到,您加下我QQ:1971344681,远程看下现象吧

 回到顶部
总数 19 上一页 1 2