加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

金字塔支撑阻力位指标源码,可以自动画线[金字塔模型]

(2012-12-18 09:23:47)
标签:

经典程序化交易策略

金字塔模型

金字塔公式指标

金字塔策略

程序化交易

分类: 金字塔公式策略
相关标签:高低点画线指标源码,delphi 画线源码,阻力位 支撑位,怎样画阻力位和支撑位,阻力位和支撑位的算法,支撑位和阻力位,阻力位,黄金支撑位和阻力位

INPUT:n(8,0,10),p(0,0,255),p1(0,0,255),p2(0,0,255);
TJA:=CLOSE>OPEN or CLOSE=OPEN and CLOSE>REF(CLOSE,1);
STICKLINE(TJA,LOW,HIGH,0,0),ColorE9;
STICKLINE(TJA,O,CLOSE,8,0),Color80;
STICKLINE(TJA,O,CLOSE,6,0),ColorA5;
STICKLINE(TJA,O,CLOSE,4,0),ColorC0;
STICKLINE(TJA,O,CLOSE,2,0),ColorE6;
STICKLINE(NOT(TJA),HIGH,LOW,0,0),Colorff00;
STICKLINE(NOT(TJA),CLOSE,OPEN,8,0),Color5000;
STICKLINE(NOT(TJA),CLOSE,OPEN,6,0),Color6600;
STICKLINE(NOT(TJA),CLOSE,OPEN,4,0),Color8000;
STICKLINE(NOT(TJA),CLOSE,OPEN,2,0),ColorA000;
BQ:=IF((SYSPARAM(1) = (BARSSINCE((C > 0)) + 1)),1,0);
BQ1:=(H
BQ2:=(L>REF(H,1));
STICKLINE(BQ1,o+(c-o)*0.25,O,5,0),colorcc0000;
STICKLINE(BQ1,o+(c-o)*0.25,O,3,0),colordd0000;
STICKLINE(BQ1,o+(c-o)*0.25,O,1,0),coloree0000;
STICKLINE(BQ2,O,o+(c-o)*0.25,6,0),color208AAA;
STICKLINE(BQ2,O,o+(c-o)*0.25,4,0),color208DDD;
STICKLINE(BQ2 ,O,o+(c-o)*0.25,2,0),color208FFF;
DRAWTEXT(((BQ > 0) AND Bq1),H,\'↓缺口\'),colorFFFFEE,pxdn10,ALIGN2;
DRAWTEXT(((BQ > 0) AND Bq2),L,\'↑缺口\'),color00FFEE,pxup20,ALIGN1;
QC:=REF(C,1);QO:=REF(O,1);QH:=REF(H,1);QL:=REF(L,1);
FUZ:=L+((H-L)/2);FUS:=O+((C-O)/2); FUSY:=C+((O-C)/2);SSFU:=(FUZ+IF(C>O,FUS,FUSY))/2;
FUZ1:=L+((H-L)*0.333);FUS1:=O+((C-O)*0.333);FUS1Y:=C+((O-C)*0.333);SSFU1:=(FUZ1+IF(C>O,FUS1,FUS1Y))/2;
FUZ2:=L+((H-L)*0.667);FUS2:=O+((C-O)*0.677);FUS2Y:=C+((O-C)*0.667);SSFU2:=(FUZ2+IF(C>O,FUS2,FUS2Y))/2;
BS1:=Ql+((Qh-Ql)/2);BS2:=QO+((QC-QO)/2);BS3:=QC+((QO-QC)/2);
DB1:=QL+((QH-QL)*0.333);DB2:=QO+((QC-QO)*0.333);DB3:=QC+((QO-QC)*0.333);
EB1:=QL+((QH-QL)*0.667);EB2:=QO+((QC-QO)*0.667);EB3:=QC+((QO-QC)*0.667);
SYB1:=QH-((QH-QC)/2);SYB2:=QH-((QH-QO)/2);
SYB3:=IF(QC>QO,SYB1,SYB2);
XYB1:=QL+((QC-QL)/2);XYB2:=QL+((QO-QL)/2);
XYB3:=IF(QC
QFU:=(BS1+IF(QC>QO,BS2,BS3))/2;
QDFU:=(DB1+IF(QC>QO,DB2,DB3))/2;
QEFU:=(EB1+IF(QC>QO,EB2,EB3))/2;
STICKLINE(C=C,SSFU2,SSFU2,4,0),COLOR00FF00,LINETHICK1;
STICKLINE(C=C,SSFU1,SSFU1,4,0),COLOR00FF00,LINETHICK1;
STICKLINE(C=C,SSFU,SSFU,6,0),COLOR00FFFF,LINETHICK1;
STICKLINE(C=C,IF(C>O,H-((H-C)/2),H-((H-O)/2)),IF(C>O,H-((H-C)/2),H-((H-O)/2)),1.3,0),COLORYELLOW,LINETHICK1;
STICKLINE(C=C,IF(C
A3:=C=HHV(C,6);
A9:=C=LLV(C,6);
A4:=BARSLAST(A3);
A5:=BARSLAST(A9);
A6:=IF(A4,REF(C,A4),REF(C,A4))*1.005;
A7:=IF(A5,REF(C,A5),REF(C,A5))*0.995;
PARTLINE(A6=ref(A6,1),A6),COLOR00ff00,LINEDOT;
PARTLINE(A7=ref(A7,1),A7),COLOR00ffff,LINEDOT;
A1:=REF(H,N)=HHV(H,2*N+1); B1:=FILTER(A1,N);
C1:=BACKSET(B1,N+1); D1:=FILTER(C1,N);
A2:=REF(L,N)=LLV(L,2*N+1); B2:=FILTER(A2,N);
C2:=BACKSET(B2,N+1); D2:=FILTER(C2,N);
E1:=(REF(LLV(L,2*N),1)+REF(HHV(H,2*N),1))/2;
E2:=(H+L)/2;
H1:=(D1 AND NOT(D2 AND E1>=E2)) OR BARSTATUS=2 OR BARSCOUNT(C)=1;
L1:=(D2 AND NOT(D1 AND E1=E2);
X1:=REF(BARSLAST(H1),1)+1; F1:=BACKSET(H1 AND COUNT(L1,X1)>0,LLVBARS(IF(L1,L,10000),X1));
G1:=F1>REF(F1,1); I1:=BACKSET(G1,2); LD:=I1>REF(I1,1);
L2:=LD OR BARSTATUS=2 OR BARSCOUNT(C)=1;X2:=REF(BARSLAST(L2),1)+1;
F2:=BACKSET(L2 AND COUNT(H2,X2)>0,HHVBARS(IF(H2,H,0),X2));
G2:=F2>REF(F2,1); I2:=BACKSET(G2,2); HD:=I2>REF(I2,1);
R1:=BACKSET(BARSTATUS=2,BARSLAST(HD)+1); S1:=R1>REF(R1,1);
T1:=BACKSET(BARSTATUS=2,BARSLAST(LD)+1); U1:=T1>REF(T1,1);
R2:=BACKSET(S1,REF(BARSLAST(HD),1)+2); S2:=R2>REF(R2,1);
T2:=BACKSET(U1,REF(BARSLAST(LD),1)+2); U2:=T2>REF(T2,1);
T3:=BACKSET(U2,REF(BARSLAST(LD),1)+2); U3:=T3>REF(T3,1);
T4:=BACKSET(U3,REF(BARSLAST(LD),1)+2); U4:=T4>REF(T4,1);
R3:=BACKSET(S2,REF(BARSLAST(HD),1)+2); S3:=R3>REF(R3,1);
R4:=BACKSET(S3,REF(BARSLAST(HD),1)+2); S4:=R4>REF(R4,1);
DRAWLINE(S2,H,S1,H,1),Color009999; 
DRAWLINE(U2,L,U1,L,1),POINTDOT,Color009999;
DRAWLINE(S3,H,S2,H,1),Color999900;
DRAWLINE(U3,L,U2,L,1),POINTDOT,Color999900; 
DRAWLINE(S4,H,S3,H,1),ColorEEAAEE;
DRAWLINE(U4,L,U3,L,1),POINTDOT,ColorEEAAEE;
DRAWSL(SYSPARAM(1)=BARPOS,REF(L,SYSPARAM(1)=SUM(1,0)-1),0,0,1),COLORGREEN;
DRAWSL(SYSPARAM(1)=BARPOS,REF(H,SYSPARAM(1)=SUM(1,0)-1),0,0,1),COLORRED;
TTt:=ISLASTBAR=1;
AS1:=((H-L)/L)*100;
AS2:=H-L;
MAI:=C*1.015;
MAII:=C*1.03;
DRAWTEXTEX(TTT,0,310,1,\'▼明短线赢利 [1.5%--3%:]\'+\'/\'+NUMTOSTR(MAI[SYSPARAM(1)],2)+\'--\'+NUMTOSTR(MAII [SYSPARAM(1)],2)),Color00dd00;
DRAWTEXTEX(TTt,0,176,1,\'【振幅:\'+NUMTOSTR(AS1[SYSPARAM(1)],2)+\'% \'+NUMTOSTR(AS2[SYSPARAM(1)],2)+\'元 】\'+\'\'),Colordddd00;
DRAWTEXTEX(TTT,0,1,1,\'【代码:\'+STKLABEL+\' 名称:\'+STKNAME+\'】\'),ColorffFFFF;
DRAWTEXTEX(TTT,1,700,1,\'【#---金鱼-玉兔---#】\'),COLORRED;
as:=(o+h+l+c)/4;
BL: eMA(as,p),linethick1,Color208FFF;
BL1: MA(C,p1),linethick1,ColorFFFFFF;
BL2: MA(C,p2),linethick1,Color00FFFF;
BLT:=BARSTATUS=2;
DRAWTEXT(BLT AND BL>REF(BL,1),BL,\'ENA↑\'+NUMTOSTR(p,0)+\':\'+NUMTOSTR(BL,2)),COLOR208fff;
DRAWTEXT(BLT AND BL
DRAWTEXT(BLT AND BL1>REF(BL1,1),BL1,\'↑\'+NUMTOSTR(p1,0)+\':\'+NUMTOSTR(BL1,2)),COLORFFffff;
DRAWTEXT(BLT AND BL1
DRAWTEXT(BLT AND BL2>REF(BL2,1),BL2,\'↑\'+NUMTOSTR(p2,0)+\':\'+NUMTOSTR(BL2,2)),COLOR00CCCC;
DRAWTEXT(BLT AND BL2





源码解析:


输出INPUT:N(8,0,10),P(0,0,255),P1(0,0,255),P2(0,0,255)
TJA赋值:收阳线OROSE 平盘ANDSE 收盘价>昨收
当满足条件TJA时,在最低价和最高价位置之间画柱状线,宽度为0,0不为0则画空心柱.,COLORE9
当满足条件TJA时,在开盘价和收盘价位置之间画柱状线,宽度为8,0不为0则画空心柱.,COLOR80
当满足条件TJA时,在开盘价和收盘价位置之间画柱状线,宽度为6,0不为0则画空心柱.,COLORA5
当满足条件TJA时,在开盘价和收盘价位置之间画柱状线,宽度为4,0不为0则画空心柱.,COLORC0
当满足条件TJA时,在开盘价和收盘价位置之间画柱状线,宽度为2,0不为0则画空心柱.,COLORE6
当满足条件取反时,在最高价和最低价位置之间画柱状线,宽度为0,0不为0则画空心柱.,COLORFF00
当满足条件取反时,在收盘价和开盘价位置之间画柱状线,宽度为8,0不为0则画空心柱.,COLOR5000
当满足条件取反时,在收盘价和开盘价位置之间画柱状线,宽度为6,0不为0则画空心柱.,COLOR6600
当满足条件取反时,在收盘价和开盘价位置之间画柱状线,宽度为4,0不为0则画空心柱.,COLOR8000
当满足条件取反时,在收盘价和开盘价位置之间画柱状线,宽度为2,0不为0则画空心柱.,COLORA000
BQ赋值:如果(SYSPARAM(1)=(首次(收盘价>0)距今天数+1)),返回1,否则返回0
BQ1赋值:(最高价<昨日最低价)
BQ2赋值:(最低价>昨日最高价)
当满足条件BQ1时,在开盘价+(收盘价-开盘价)*0.25和开盘价位置之间画柱状线,宽度为5,0不为0则画空心柱.,COLORCC0000
当满足条件BQ1时,在开盘价+(收盘价-开盘价)*0.25和开盘价位置之间画柱状线,宽度为3,0不为0则画空心柱.,COLORDD0000
当满足条件BQ1时,在开盘价+(收盘价-开盘价)*0.25和开盘价位置之间画柱状线,宽度为1,0不为0则画空心柱.,COLOREE0000
当满足条件BQ2时,在开盘价和开盘价+(收盘价-开盘价)*0.25位置之间画柱状线,宽度为6,0不为0则画空心柱.,COLOR208AAA
当满足条件BQ2时,在开盘价和开盘价+(收盘价-开盘价)*0.25位置之间画柱状线,宽度为4,0不为0则画空心柱.,COLOR208DDD
当满足条件BQ2时,在开盘价和开盘价+(收盘价-开盘价)*0.25位置之间画柱状线,宽度为2,0不为0则画空心柱.,COLOR208FFF
当满足条件((BQ>0)ANDBQ1)时,在最高价位置书写文字,COLORFFFFEE,PXDN10,ALIGN2
当满足条件((BQ>0)ANDBQ2)时,在最低价位置书写文字,COLOR00FFEE,PXUP20,ALIGN1
QC赋值:昨收
QO赋值:昨日开盘价
QH赋值:昨日最高价
QL赋值:昨日最低价
FUZ赋值:最低价+((最高价-最低价)/2)
FUS赋值:开盘价+((收盘价-开盘价)/2)
FUSY赋值:收盘价+((开盘价-收盘价)/2)
SSFU赋值:(FUZ+如果收阳线,返回FUS,否则返回FUSY)/2
FUZ1赋值:最低价+((最高价-最低价)*0.333)
FUS1赋值:开盘价+((收盘价-开盘价)*0.333)
FUS1Y赋值:收盘价+((开盘价-收盘价)*0.333)
SSFU1赋值:(FUZ1+如果收阳线,返回FUS1,否则返回FUS1Y)/2
FUZ2赋值:最低价+((最高价-最低价)*0.667)
FUS2赋值:开盘价+((收盘价-开盘价)*0.677)
FUS2Y赋值:收盘价+((开盘价-收盘价)*0.667)
SSFU2赋值:(FUZ2+如果收阳线,返回FUS2,否则返回FUS2Y)/2
BS1赋值:QL+((QH-QL)/2)
BS2赋值:QO+((QC-QO)/2)
BS3赋值:QC+((QO-QC)/2)
DB1赋值:QL+((QH-QL)*0.333)
DB2赋值:QO+((QC-QO)*0.333)
DB3赋值:QC+((QO-QC)*0.333)
EB1赋值:QL+((QH-QL)*0.667)
EB2赋值:QO+((QC-QO)*0.667)
EB3赋值:QC+((QO-QC)*0.667)
SYB1赋值:QH-((QH-QC)/2)
SYB2赋值:QH-((QH-QO)/2)
SYB3赋值:如果QC>QO,返回SYB1,否则返回SYB2
XYB1赋值:QL+((QC-QL)/2)
XYB2赋值:QL+((QO-QL)/2)
XYB3赋值:如果QC
QFU赋值:(BS1+如果QC>QO,返回BS2,否则返回BS3)/2
QDFU赋值:(DB1+如果QC>QO,返回DB2,否则返回DB3)/2
QEFU赋值:(EB1+如果QC>QO,返回EB2,否则返回EB3)/2
当满足条件收盘价=收盘价时,在SSFU2和SSFU2位置之间画柱状线,宽度为4,0不为0则画空心柱.,COLOR00FF00,线宽为1
当满足条件收盘价=收盘价时,在SSFU1和SSFU1位置之间画柱状线,宽度为4,0不为0则画空心柱.,COLOR00FF00,线宽为1
当满足条件收盘价=收盘价时,在SSFU和SSFU位置之间画柱状线,宽度为6,0不为0则画空心柱.,COLOR00FFFF,线宽为1
当满足条件收盘价=收盘价时,在如果收阳线,返回最高价-((最高价-收盘价)/2),否则返回最高价-((最高价-开盘价)/2)和如果收阳线,返回最高价-((最高价-收盘价)/2),否则返回最高价-((最高价-开盘价)/2)位置之间画柱状线,宽度为1.3,0不为0则画空心柱.,画黄色,线宽为1
当满足条件收盘价=收盘价时,在如果收阴线,返回最低价+((收盘价-最低价)/2),否则返回最低价+((开盘价-最低价)/2)和如果收阴线,返回最低价+((收盘价-最低价)/2),否则返回最低价+((开盘价-最低价)/2)位置之间画柱状线,宽度为1.3,0不为0则画空心柱.,画黄色,线宽为1
A3赋值:收盘价=6日内收盘价的最高值
A9赋值:收盘价=6日内收盘价的最低值
A4赋值:上次A3距今天数
A5赋值:上次A9距今天数
A6赋值:如果A4,返回A4日前的收盘价,否则返回A4日前的收盘价*1.005
A7赋值:如果A5,返回A5日前的收盘价,否则返回A5日前的收盘价*0.995
PARTLINE(A6=昨日A6,A6),COLOR00FF00,LINEDOT
PARTLINE(A7=昨日A7,A7),COLOR00FFFF,LINEDOT
A1赋值:N日前的最高价=2*N+1日内最高价的最高值
B1赋值:A1的N日过滤
C1赋值:若B1则将最近N+1周期置为1
D1赋值:C1的N日过滤
A2赋值:N日前的最低价=2*N+1日内最低价的最低值
B2赋值:A2的N日过滤
C2赋值:若B2则将最近N+1周期置为1
D2赋值:C2的N日过滤
E1赋值:(昨日2*N日内最低价的最低值+昨日2*N日内最高价的最高值)/2
E2赋值:(最高价+最低价)/2
H1赋值:(D1 AND 取反) OR BARSTATUS=2 OR 收盘价的有效数据周期数=1
L1赋值:(D2 AND 取反)
H2赋值:D1 AND 取反
X1赋值:昨日上次H1距今天数+1
F1赋值:若H1ANDCOUNT(L1,X1)>0则将最近X1日内如果L1,返回最低价,否则返回10000距今天数周期置为1
G1赋值:F1>昨日F1
I1赋值:若G1则将最近2周期置为1
LD赋值:I1>昨日I1
L2赋值:LD OR BARSTATUS=2 OR 收盘价的有效数据周期数=1
X2赋值:昨日上次L2距今天数+1
F2赋值:若L2ANDCOUNT(H2,X2)>0则将最近X2日内如果H2,返回最高价,否则返回0距今天数周期置为1
G2赋值:F2>昨日F2
I2赋值:若G2则将最近2周期置为1
HD赋值:I2>昨日I2
R1赋值:若BARSTATUS=2则将最近上次HD距今天数+1周期置为1
S1赋值:R1>昨日R1
T1赋值:若BARSTATUS=2则将最近上次LD距今天数+1周期置为1
U1赋值:T1>昨日T1
R2赋值:若S1则将最近昨日上次HD距今天数+2周期置为1
S2赋值:R2>昨日R2
T2赋值:若U1则将最近昨日上次LD距今天数+2周期置为1
U2赋值:T2>昨日T2
T3赋值:若U2则将最近昨日上次LD距今天数+2周期置为1
U3赋值:T3>昨日T3
T4赋值:若U3则将最近昨日上次LD距今天数+2周期置为1
U4赋值:T4>昨日T4
R3赋值:若S2则将最近昨日上次HD距今天数+2周期置为1
S3赋值:R3>昨日R3
R4赋值:若S3则将最近昨日上次HD距今天数+2周期置为1
S4赋值:R4>昨日R4
当满足条件S2时,在最高价位置画直线起点,当满足条件S1时,在最高价位置画直线终点,1表示是否延长.,COLOR009999
 当满足条件U2时,在最低价位置画直线起点,当满足条件U1时,在最低价位置画直线终点,1表示是否延长.,POINTDOT,COLOR009999
当满足条件S3时,在最高价位置画直线起点,当满足条件S2时,在最高价位置画直线终点,1表示是否延长.,COLOR999900
当满足条件U3时,在最低价位置画直线起点,当满足条件U2时,在最低价位置画直线终点,1表示是否延长.,POINTDOT,COLOR999900
 当满足条件S4时,在最高价位置画直线起点,当满足条件S3时,在最高价位置画直线终点,1表示是否延长.,COLOREEAAEE
当满足条件U4时,在最低价位置画直线起点,当满足条件U3时,在最低价位置画直线终点,1表示是否延长.,POINTDOT,COLOREEAAEE
DRAWSL(SYSPARAM(1)=BARPOS,SYSPARAM(1)=1的历史累和-1日前的最低价,0,0,1),画绿色
DRAWSL(SYSPARAM(1)=BARPOS,SYSPARAM(1)=1的历史累和-1日前的最高价,0,0,1),画红色
TTT赋值:是否最后一个周期=1
AS1赋值:((最高价-最低价)/最低价)*100
AS2赋值:最高价-最低价
MAI赋值:收盘价*1.015
MAII赋值:收盘价*1.03
输出DRAWTEXTEX(TTT,0,310,1,\'▼明短线赢利 [1.5%--3%:]\'+\'/\'+NUMTOSTR(MAI[SYSPARAM(1)],2)+\'--\'+NUMTOSTR(MAII [SYSPARAM(1)],2)),COLOR00DD00
输出DRAWTEXTEX(TTT,0,176,1,\'【振幅:\'+NUMTOSTR(AS1[SYSPARAM(1)],2)+\'% \'+NUMTOSTR(AS2[SYSPARAM(1)],2)+\'元 】\'+\'\'),COLORDDDD00
输出输出DRAWTEXTEX(TTT,0,1,1,\'【代码:\'+STKLABEL+\' 名称:\'+STKNAME+\'】\'),COLORFFFFFF
DRAWTEXTEX(TTT,1,700,1,\'【#---金鱼-玉兔---#】\'),画红色
AS赋值:(开盘价+最高价+最低价+收盘价)/4
输出BL: AS的P日指数移动平均,线宽为1,COLOR208FFF
输出BL1: 收盘价的P1日简单移动平均,线宽为1,COLORFFFFFF
输出BL2: 收盘价的P2日简单移动平均,线宽为1,COLOR00FFFF
BLT赋值:BARSTATUS=2
当满足条件BLTANDBL>昨日BL时,在BL位置书写文字,COLOR208FFF
当满足条件BLTANDBL<昨日BL时,在BL位置书写文字,COLOR208FFF
当满足条件BLTANDBL1>昨日BL1时,在BL1位置书写文字,COLORFFFFFF
当满足条件BLTANDBL1<昨日BL1时,在BL1位置书写文字,COLORFFFDED
当满足条件BLTANDBL2>昨日BL2时,在BL2位置书写文字,COLOR00CCCC
当满足条件BLTANDBL2<昨日BL2时,在BL2位置书写文字,COLOR00CCCC


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有