求助帖!哪位大神精通同花顺编程的

发布于: 雪球转发:0回复:7喜欢:0

通达信上能正常使用的代码,复制到同花顺就提示错误,谁能帮忙改下,小红包答谢

老笔:=0;

G:=MA(C,5);D:=MA(C,10); HH:=REF(H,5)=HHV(H,11); LL:=REF(L,5)=LLV(L,11); FG01:=BACKSET(HH,6)>BACKSET(HH,5) ; FD01:=BACKSET(LL,6)>BACKSET(LL,5) ; FG02:=IF(BARSLAST(FG01)=BARSLAST(FD01) AND G>D,FG01,IF(BARSLAST(FD01)>BARSLAST(FG01),FG01,0)); FD02:=IF(BARSLAST(FG01)=BARSLAST(FD01) AND D>G,FD01,IF(BARSLAST(FG01)>BARSLAST(FD01),FD01,0)); FG0:=FG02 AND H=HHV(H,BARSLAST(FD02)); FD0:=FD02 AND L=LLV(L,BARSLAST(FG02)); GP:=IF(FG0,H,DRAWNULL),CIRCLEDOT,COLORCYAN; DP:=IF(FD0,L,DRAWNULL),CIRCLEDOT,COLORCYAN; GQ:=L>REF(H,1) AND DAY!=REF(DAY,1); DQ:=H<REF(L,1) AND DAY!=REF(DAY,1); GQL:=REF(L,BARSLAST(GQ)); DQH:=REF(H,BARSLAST(DQ)); FGH:=REF(H,BARSLAST(FG0)); FGL:=REF(L,BARSLAST(FG0)); FGH1:=REF(H,BARSLAST(FG0)+1); FGL1:=REF(L,BARSLAST(FG0)+1); FGH2:=REF(H,BARSLAST(FG0)+2); FGL2:=REF(L,BARSLAST(FG0)+2); FDH:=REF(H,BARSLAST(FD0)); FDL:=REF(L,BARSLAST(FD0)); FDH1:=REF(H,BARSLAST(FD0)+1); FDL1:=REF(L,BARSLAST(FD0)+1); FDH2:=REF(H,BARSLAST(FD0)+2); FDL2:=REF(L,BARSLAST(FD0)+2); FGZH:=IF(FGL<=FGL1,FGH2,FGH1); FGZL:=IF(FGH1<FGL,FGL,IF(FGL<=FGL1,FGL2,FGL1)); FDZH:=IF(FDL1>FDH,FDH,IF(FDH>=FDH1,FDH2,FDH1)); FDZL:=IF(FDH>=FDH1,FDL2,FDL1); FG1:=FGH>FDZH AND FG0; FD1:=FDL<FGZL AND FD0; FG:=FG1 AND FGH>FDH AND FGL>FDL AND FGL1>FDL; FD:=FD1 AND FDL<FGL AND FDH<FGH AND FDH1<FGH; BH0:=(H<=REF(H,1) AND L>=REF(L,1)) OR (H>=REF(H,1) AND L<=REF(L,1)); BHG:=COUNT(BH0,BARSLAST(FD0)); BHD:=COUNT(BH0,BARSLAST(FG0)); BGQ:=COUNT(GQ,BARSLAST(FD0)); BDQ:=COUNT(DQ,BARSLAST(FG0)); BK0:=IF(BHG>0,BHG+2+老笔,IF(BHD,BHD+2+老笔,3)); BK:=IF(BGQ,BK0-BGQ,IF(BDQ,BK0-BDQ,BK0)); G1X:=(FG AND BARSLAST(FD)>BK); D1X:=(FD AND BARSLAST(FG)>BK); G1:=(FG0 AND REF(H,BARSLAST(FG0))>=REF(H,BARSLAST(G1X)) AND BARSLAST(D1X)>BARSLAST(G1X)) OR (FG1 AND COUNT(GQ,BARSLAST(FD1))>0 AND REF(H,BARSLAST(FG1))>REF(H,BARSLAST(G1X))); D1:=(FD0 AND REF(L,BARSLAST(FD0))<=REF(L,BARSLAST(D1X)) AND BARSLAST(G1X)>BARSLAST(D1X)) OR (FD1 AND COUNT(DQ,BARSLAST(FG1))>0 AND REF(L,BARSLAST(FD1))<REF(H,BARSLAST(D1X))); G1H:=IF(BARSLAST(D1)>BARSLAST(G1),REF(H,BARSLAST(G1)),REF(H,BARSLAST(D1))),; D1L:=IF(BARSLAST(G1)>BARSLAST(D1),REF(L,BARSLAST(D1)),REF(L,BARSLAST(G1))); G2:=G1 AND H=HHV(G1H,BARSLAST(D1)+1) AND H>REF(H,1) AND BARSLAST(D1)>BARSLAST(G1); D2:=D1 AND L=LLV(D1L,BARSLAST(G1)+1) AND L<REF(L,1) AND BARSLAST(G1)>BARSLAST(D1); G3:=G2 OR (FG0 AND REF(H,BARSLAST(FG0))>REF(H,BARSLAST(G2)) AND BARSLAST(D2)>BARSLAST(G2)); D3:=D2 OR (FD0 AND REF(L,BARSLAST(FD0))<REF(L,BARSLAST(D2)) AND BARSLAST(G2)>BARSLAST(D2)); GPB:=IF(G1X,H,DRAWNULL),CIRCLEDOT,COLORYELLOW,NODRAW; DPB:=IF(D1X,L,DRAWNULL),CIRCLEDOT,COLORYELLOW,NODRAW;

{画线} NN:=G3,NODRAW;UU:=D3,NODRAW; L1:=DRAWLINE(UU,L,NN, H,0),COLORYELLOW,NODRAW;

L2:=DRAWLINE(NN,H,UU, L,0),COLORLIGREEN,NODRAW;

序号:CURRBARSCOUNT,NODRAW;

高点标志:=(L1 AND L2 AND NN),NODRAW; 低点标志:=(L1 AND L2 AND UU),NODRAW;

高点位置:BARSLAST(高点标志=1),NODRAW; 低点位置:BARSLAST(低点标志=1),NODRAW;

TJ低点:=L=LLV(L,高点位置+1),NODRAW; 当天最低:=IF(TJ低点,1,0),NODRAW,COLORBLUE; 当天最低点:=BARSLAST(当天最低),NODRAW; 最低价格:=REF(L,BARSLAST(当天最低) ),NODRAW; 前最低点:=REF(BARSLAST(当天最低),当天最低点+1)+当天最低点+1,NODRAW; 前最低价格:=REF(L,前最低点 ),NODRAW; 新低次数:COUNT(当天最低 AND 最低价格<前最低价格   ,高点位置+1)+1,COLORYELLOW,NODRAW; 新低点位置:=BARSLAST((当天最低 AND 最低价格<前最低价格   ) OR 序号=高点位置)+1 ,NODRAW;

TJ高点:=H=HHV(H,低点位置+1),NODRAW;

当天最高:=IF(TJ高点,1,0),NODRAW,COLORBLUE; 当天最高点:=BARSLAST(当天最高),NODRAW; 最高价格:=REF(H,BARSLAST(当天最高) ),NODRAW; 前最高点:=REF(BARSLAST(当天最高),当天最高点+1)+当天最高点+1,NODRAW; 前最高价格:=REF(H,前最高点 ),NODRAW; 新高次数:COUNT(当天最高 AND 最高价格>前最高价格   ,低点位置+1)+1,COLORWHITE,NODRAW; 新高点位置:=BARSLAST((当天最高 AND 最高价格>前最高价格   ) )+1 ,NODRAW;

DRAWTEXT( L1 AND L2 AND NN ,H1.01,VARCAT(VAR2STR(新高次数,0),VARCAT('(', VARCAT(VAR2STR(H,2),')') )     )),COLORYELLOW; DRAWTEXT( L1 AND L2 AND UU ,L0.99,VARCAT(VAR2STR(新低次数,0),VARCAT('(', VARCAT(VAR2STR(L,2),')') )     )),COLORWHITE;

常_近高:=CONST(BARSLAST(高点标志=1))+1,COLORWHITE,NODRAW; 常_近低:=CONST(BARSLAST(低点标志=1))+1,COLORWHITE,NODRAW;

DRAWNUMBER(   常_近低>常_近高 AND 序号<=常_近高 AND (当天最低 AND 最低价格<前最低价格   ) ,L*0.99,新低次数),COLORGREEN;

DRAWNUMBER(   常_近低<常_近高 AND 序号<=常_近低 AND (当天最高 AND 最高价格>前最高价格),H*1.01,新高次数),COLORWHITE;

程序说明:

老笔赋值:0 G赋值:收盘价的5日简单移动平均 D赋值:收盘价的10日简单移动平均 HH赋值:5日前的最高价=11日内最高价的最高值 LL赋值:5日前的最低价=11日内最低价的最低值 FG01赋值:若HH则将最近6周期置为1>若HH则将最近5周期置为1 FD01赋值:若LL则将最近6周期置为1>若LL则将最近5周期置为1 FG02赋值:如果上次FG01距今天数=上次FD01距今天数ANDG>D,返回FG01,否则返回如果上次FD01距今天数>上次FG01距今天数,返回FG01,否则返回0 FD02赋值:如果上次FG01距今天数=上次FD01距今天数ANDD>G,返回FD01,否则返回如果上次FG01距今天数>上次FD01距今天数,返回FD01,否则返回0 FG0赋值:FG02 AND 最高价=上次FD02距今天数日内最高价的最高值 FD0赋值:FD02 AND 最低价=上次FG02距今天数日内最低价的最低值 GP赋值:如果FG0,返回最高价,否则返回无效数,CIRCLEDOT,画青色 DP赋值:如果FD0,返回最低价,否则返回无效数,CIRCLEDOT,画青色 GQ赋值:最低价>1日前的最高价 AND 日不等于1日前的日 DQ赋值:最高价<1日前的最低价 AND 日不等于1日前的日 GQL赋值:上次GQ距今天数日前的最低价 DQH赋值:上次DQ距今天数日前的最高价 FGH赋值:上次FG0距今天数日前的最高价 FGL赋值:上次FG0距今天数日前的最低价 FGH1赋值:上次FG0距今天数+1日前的最高价 FGL1赋值:上次FG0距今天数+1日前的最低价 FGH2赋值:上次FG0距今天数+2日前的最高价 FGL2赋值:上次FG0距今天数+2日前的最低价 FDH赋值:上次FD0距今天数日前的最高价 FDL赋值:上次FD0距今天数日前的最低价 FDH1赋值:上次FD0距今天数+1日前的最高价 FDL1赋值:上次FD0距今天数+1日前的最低价 FDH2赋值:上次FD0距今天数+2日前的最高价 FDL2赋值:上次FD0距今天数+2日前的最低价 FGZH赋值:如果FGL<=FGL1,返回FGH2,否则返回FGH1 FGZL赋值:如果FGH1<FGL,返回FGL,否则返回如果FGL<=FGL1,返回FGL2,否则返回FGL1 FDZH赋值:如果FDL1>FDH,返回FDH,否则返回如果FDH>=FDH1,返回FDH2,否则返回FDH1 FDZL赋值:如果FDH>=FDH1,返回FDL2,否则返回FDL1 FG1赋值:FGH>FDZH AND FG0 FD1赋值:FDL<FGZL AND FD0 FG赋值:FG1 AND FGH>FDH AND FGL>FDL AND FGL1>FDL FD赋值:FD1 AND FDL<FGL AND FDH<FGH AND FDH1<FGH BH0赋值:(最高价<=1日前的最高价 AND 最低价>=1日前的最低价) OR (最高价>=1日前的最高价 AND 最低价<=1日前的最低价) BHG赋值:统计上次FD0距今天数日中满足BH0的天数 BHD赋值:统计上次FG0距今天数日中满足BH0的天数 BGQ赋值:统计上次FD0距今天数日中满足GQ的天数 BDQ赋值:统计上次FG0距今天数日中满足DQ的天数 BK0赋值:如果BHG>0,返回BHG+2+老笔,否则返回如果BHD,返回BHD+2+老笔,否则返回3 BK赋值:如果BGQ,返回BK0-BGQ,否则返回如果BDQ,返回BK0-BDQ,否则返回BK0 G1X赋值:(FG AND 上次FD距今天数>BK) D1X赋值:(FD AND 上次FG距今天数>BK) G1赋值:(FG0 AND 上次FG0距今天数日前的最高价>=上次G1X距今天数日前的最高价 AND 上次D1X距今天数>上次G1X距今天数)OR (FG1 AND 统计上次FD1距今天数日中满足GQ的天数>0 AND 上次FG1距今天数日前的最高价>上次G1X距今天数日前的最高价) D1赋值:(FD0 AND 上次FD0距今天数日前的最低价<=上次D1X距今天数日前的最低价 AND 上次G1X距今天数>上次D1X距今天数)OR (FD1 AND 统计上次FG1距今天数日中满足DQ的天数>0 AND 上次FD1距今天数日前的最低价<上次D1X距今天数日前的最高价) G1H赋值:如果上次D1距今天数>上次G1距今天数,返回上次G1距今天数日前的最高价,否则返回上次D1距今天数日前的最高价, D1L赋值:如果上次G1距今天数>上次D1距今天数,返回上次D1距今天数日前的最低价,否则返回上次G1距今天数日前的最低价 G2赋值:G1 AND 最高价=上次D1距今天数+1日内G1H的最高值 AND 最高价>1日前的最高价 AND 上次D1距今天数>上次G1距今天数 D2赋值:D1 AND 最低价=上次G1距今天数+1日内D1L的最低值 AND 最低价<1日前的最低价 AND 上次G1距今天数>上次D1距今天数 G3赋值:G2 OR (FG0 AND 上次FG0距今天数日前的最高价>上次G2距今天数日前的最高价 AND 上次D2距今天数>上次G2距今天数) D3赋值:D2 OR (FD0 AND 上次FD0距今天数日前的最低价<上次D2距今天数日前的最低价 AND 上次G2距今天数>上次D2距今天数) GPB赋值:如果G1X,返回最高价,否则返回无效数,CIRCLEDOT,画黄色,NODRAW DPB赋值:如果D1X,返回最低价,否则返回无效数,CIRCLEDOT,画黄色,NODRAW NN赋值:G3,NODRAW UU赋值:D3,NODRAW L1赋值:当满足条件UU时,在最低价位置画直线起点,当满足条件NN时,在最高价位置画直线终点,0表示是否延长.,画黄色,NODRAW L2赋值:当满足条件NN时,在最高价位置画直线起点,当满足条件UU时,在最低价位置画直线终点,0表示是否延长.,画淡绿色,NODRAW 输出序号:到最后交易的周期,NODRAW 高点标志赋值:(L1 AND L2 AND NN),NODRAW 低点标志赋值:(L1 AND L2 AND UU),NODRAW 输出高点位置:上次高点标志=1距今天数,NODRAW 输出低点位置:上次低点标志=1距今天数,NODRAW TJ低点赋值:最低价=高点位置+1日内最低价的最低值,NODRAW 当天最低赋值:如果TJ低点,返回1,否则返回0,NODRAW,画蓝色 当天最低点赋值:上次当天最低距今天数,NODRAW 最低价格赋值:上次当天最低距今天数日前的最低价,NODRAW 前最低点赋值:当天最低点+1日前的上次当天最低距今天数+当天最低点+1,NODRAW 前最低价格赋值:前最低点日前的最低价,NODRAW 输出 新低次数:统计高点位置+1日中满足当天最低AND最低价格<前最低价格的天数+1,画黄色,NODRAW 新低点位置赋值:上次(当天最低AND最低价格<前最低价格)OR序号=高点位置距今天数+1 ,NODRAW TJ高点赋值:最高价=低点位置+1日内最高价的最高值,NODRAW 当天最高赋值:如果TJ高点,返回1,否则返回0,NODRAW,画蓝色 当天最高点赋值:上次当天最高距今天数,NODRAW 最高价格赋值:上次当天最高距今天数日前的最高价,NODRAW 前最高点赋值:当天最高点+1日前的上次当天最高距今天数+当天最高点+1,NODRAW 前最高价格赋值:前最高点日前的最高价,NODRAW 输出 新高次数:统计低点位置+1日中满足当天最高AND最高价格>前最高价格的天数+1,画白色,NODRAW 新高点位置赋值:上次(当天最高AND最高价格>前最高价格)距今天数+1 ,NODRAW 当满足条件L1ANDL2ANDNN时,在最高价1.01位置书写文字,画黄色 当满足条件L1ANDL2ANDUU时,在最低价0.99位置书写文字,画白色 常_近高赋值:上次高点标志=1距今天数的最后一日取值设为常数+1,画白色,NODRAW 常_近低赋值:上次低点标志=1距今天数的最后一日取值设为常数+1,画白色,NODRAW 当满足条件常_近低>常_近高AND序号<=常_近高AND(当天最低AND最低价格<前最低价格)时,在最低价0.99位置书写数字,画绿色 当满足条件常_近低<常_近高AND序号<=常_近低AND(当天最高AND最高价格>前最高价格)时,在最高价1.01位置书写数字,画白色

全部讨论

磨剑斩小A2023-11-13 15:26

我通达信编程

小学一年级学生2023-11-13 12:59

你放弃了是什么意思?不做股票了?
那你还有联系人的方式没?我需要编写一个程序,麻烦了

磨剑斩小A2023-11-13 11:50

我放弃了,通达信和同花顺都用上了

小学一年级学生2023-11-13 11:27

你找到同花顺编程的了吗?我也需要,有的话麻烦推荐一下

Zz小明同学2022-10-10 15:36

我也买了一年的。但是指标貌似只看到他们用通达信

磨剑斩小A2022-10-10 15:21

我不想换软件,同花顺买了2年的会员

Zz小明同学2022-10-10 11:34

他们都用通达信,可能就是因为同花顺用不了吧