分享

通达信时间黄金分割主图指标公式源码编程思路破译

 追梦文库 2022-09-30 发布于天津

源码编程思路破译

高点赋值:15

低点赋值:10

时间赋值:1

价格赋值:1

前期高点赋值:收盘价/120日内最高价的最高值

近期高点赋值:收盘价/21日内最高价的最高值

PURC赋值:最高价在0日前的高点*10天内第1个最高价的最后一日取值设为常数

PLZ赋值:上次PURC=最高价距今天数的最后一日取值设为常数+1

顶X赋值:如果PLZ=1,返回最高价,否则返回PLZ-1日前的最高价的最后一日取值设为常数

QQT赋值:最低价在0日前的低点*10天内第1个最低价的最后一日取值设为常数

PLL赋值:上次QQT=最低价距今天数的最后一日取值设为常数+1

低X赋值:如果PLL=1,返回最低价,否则返回PLL-1日前的最低价的最后一日取值设为常数

AAZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*0.809(进行)四舍五入,否则返回无效数

ABZ赋值:对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*0.5(进行)四舍五入

ACZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*0.618(进行)四舍五入,否则返回无效数

ADZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*0.382(进行)四舍五入,否则返回无效数

AEZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*0.236(进行)四舍五入,否则返回无效数

AFZ赋值:对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*1(进行)四舍五入

AGZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*1.809(进行)四舍五入,否则返回无效数

AHZ赋值:对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*1.5(进行)四舍五入

AIZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*1.618(进行)四舍五入,否则返回无效数

AJZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*1.382(进行)四舍五入,否则返回无效数

AKZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*1.236(进行)四舍五入,否则返回无效数

ALZ赋值:对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*2(进行)四舍五入

AMZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*2.236(进行)四舍五入,否则返回无效数

ANZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*2.382(进行)四舍五入,否则返回无效数

AOZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*2.5(进行)四舍五入,否则返回无效数

APZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*2.618(进行)四舍五入,否则返回无效数

AQZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*2.809(进行)四舍五入,否则返回无效数

ARZ赋值:如果时间=1,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*3(进行)四舍五入,否则返回无效数

ASZ赋值:对如果PLZ>PLL,返回PLZ,否则返回PLL(进行)四舍五入

当满足条件到最后交易的周期=AAZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=ABZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=ACZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=ADZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=AEZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=AFZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=AGZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=AHZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=AIZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=AJZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=AKZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=ALZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=AMZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=ANZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=AOZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=APZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=AQZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=ARZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

当满足条件到最后交易的周期=ASZ时,在顶X和低X位置之间画柱状线,宽度为0,0不为0则画空心柱.,画洋红色

QAZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*1/8(进行)四舍五入,否则返回无效数

QBZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*2/8(进行)四舍五入,否则返回无效数

QCZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*3/8(进行)四舍五入,否则返回无效数

QDZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*4/3(进行)四舍五入,否则返回无效数

QEZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*5/8(进行)四舍五入,否则返回无效数

QGZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*6/8(进行)四舍五入,否则返回无效数

QHZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*7/8(进行)四舍五入,否则返回无效数

QIZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*9/8(进行)四舍五入,否则返回无效数

QJZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*1/3(进行)四舍五入,否则返回无效数

QKZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*2/3(进行)四舍五入,否则返回无效数

QMZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*10/8(进行)四舍五入,否则返回无效数

QNZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*11/8(进行)四舍五入,否则返回无效数

QOZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*5/3(进行)四舍五入,否则返回无效数

QPZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*13/8(进行)四舍五入,否则返回无效数

QQZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*14/8(进行)四舍五入,否则返回无效数

QRZ赋值:如果时间=2,返回对如果PLZ>PLL,返回PLZ,否则返回PLL-PLZ-PLL的绝对值*15/8(进行)四舍五入,否则返回无效数

输出BCVB:当满足条件到最后交易的周期=AAZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=ABZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=ACZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=ADZ时,在顶X*0.98位置书写文字画洋红色

输出DGDGV:当满足条件到最后交易的周期=AEZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=AFZ时,在顶X*0.98位置书写文字画洋红色

输出VFBVBV:当满足条件到最后交易的周期=AGZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=AHZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=AIZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=AJZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=AKZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=ALZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=AMZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=ANZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=AOZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=APZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=AQZ时,在顶X*0.98位置书写文字画洋红色

当满足条件到最后交易的周期=ARZ时,在顶X*0.98位置书写文字画洋红色

程序源码

高点:=15;

低点:=10;

时间:=1;

价格:=1;

前期高点:=C/HHV(H,120);

近期高点:=C/HHV(H,21);

PURC:=CONST(FINDHIGH(H,0,高点*10,1));

PLZ:=CONST(BARSLAST(PURC=H))+1;

顶X:=CONST(IF(PLZ=1,H,REF(H,PLZ-1)));

QQT:=CONST(FINDLOW(L,0,低点*10,1));

PLL:=CONST(BARSLAST(QQT=L))+1;

低X:=CONST(IF(PLL=1,L,REF(L,PLL-1)));

AAZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*0.809),DRAWNULL);

ABZ:=ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*0.5);

ACZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*0.618),DRAWNULL);

ADZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*0.382),DRAWNULL);

AEZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*0.236),DRAWNULL);

AFZ:=ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*1);

AGZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*1.809),DRAWNULL);

AHZ:=ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*1.5);

AIZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*1.618),DRAWNULL);

AJZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*1.382),DRAWNULL);

AKZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*1.236),DRAWNULL);

ALZ:=ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*2);

AMZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*2.236),DRAWNULL);

ANZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*2.382),DRAWNULL);

AOZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*2.5),DRAWNULL);

APZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*2.618),DRAWNULL);

AQZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*2.809),DRAWNULL);

ARZ:=IF(时间=1,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*3),DRAWNULL);

ASZ:=ROUND(IF(PLZ>PLL,PLZ,PLL));

{时间黄金分割处画竖线指标}

STICKLINE(CURRBARSCOUNT=AAZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=ABZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=ACZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=ADZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=AEZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=AFZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=AGZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=AHZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=AIZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=AJZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=AKZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=ALZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=AMZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=ANZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=AOZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=APZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=AQZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=ARZ,顶X,低X,0,0),COLORMAGENTA;

STICKLINE(CURRBARSCOUNT=ASZ,顶X,低X,0,0),COLORMAGENTA;

QAZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*1/8),DRAWNULL);

QBZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*2/8),DRAWNULL);

QCZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*3/8),DRAWNULL);

QDZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*4/3),DRAWNULL);

QEZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*5/8),DRAWNULL);

QGZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*6/8),DRAWNULL);

QHZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*7/8),DRAWNULL);

QIZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*9/8),DRAWNULL);

QJZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*1/3),DRAWNULL);

QKZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*2/3),DRAWNULL);

QMZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*10/8),DRAWNULL);

QNZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*11/8),DRAWNULL);

QOZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*5/3),DRAWNULL);

QPZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*13/8),DRAWNULL);

QQZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*14/8),DRAWNULL);

QRZ:=IF(时间=2,ROUND(IF(PLZ>PLL,PLZ,PLL)-ABS(PLZ-PLL)*15/8),DRAWNULL);

{标注时间黄金分割位}

BCVB:DRAWTEXT(CURRBARSCOUNT=AAZ,顶X*0.98,'0.809')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=ABZ,顶X*0.98,'0.500')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=ACZ,顶X*0.98,'0.618')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=ADZ,顶X*0.98,'0.382')COLORMAGENTA;

DGDGV:DRAWTEXT(CURRBARSCOUNT=AEZ,顶X*0.98,'0.236')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=AFZ,顶X*0.98,'1.00')COLORMAGENTA;

VFBVBV:DRAWTEXT(CURRBARSCOUNT=AGZ,顶X*0.98,'1.809')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=AHZ,顶X*0.98,'1.500')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=AIZ,顶X*0.98,'1.618')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=AJZ,顶X*0.98,'1.382')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=AKZ,顶X*0.98,'1.236')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=ALZ,顶X*0.98,'2.00')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=AMZ,顶X*0.98,'2.236')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=ANZ,顶X*0.98,'2.382')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=AOZ,顶X*0.98,'2.500')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=APZ,顶X*0.98,'2.618')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=AQZ,顶X*0.98,'2.809')COLORMAGENTA;

DRAWTEXT(CURRBARSCOUNT=ARZ,顶X*0.98,'3.00')COLORMAGENTA;

该公式包含未来函数:DHIGH
未发现:DOPEN...
该公式包含未来函数:DLOW

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约