通达信全部函数及其用法(2011年最新版)
(一)行情函数1)HIGH(H) 最高价 返回该周期最高价.2)LOW(L) 最低价 返回该周期最低价.3)CLOSE(C) 收盘价 返回该周期收盘价.4)VOL(V) 成交量(手) 返回该周期成交量.5)OPEN(O) 开盘价 返回该周期开盘价.6)ADVANCE 上涨家数 返回该周期上涨家数. (本函数仅对大盘有效)7)DECLINE 下跌家数 返回该周期下跌家数. (本函数仅对大盘有效)8)AMOUNT 成交额(元) 返回该周期成交额.9)VOLINSTK 持仓量 返回期货该周期持仓量.10) QHJSJ 期货结算价 返回期货该周期结算价.11)BUYVOL 外盘(手) 返回外盘,即时行情数据12)SELVOL 外盘(手) 返回外盘13)ISBUYORDER 主动性买单 返回当前成交是否为主动性买单.用法: ISBUYORDER,当本笔成交为主动性买盘时,返回1,否则为014)DHIGH 不定周期最高价 返回该不定周期最高价.15)DOPEN 不定周期开盘价 返回该不定周期开盘价.16)DLOW 不定周期最低价 返回该不定周期最低价.17)DCLOSE 不定周期收盘价 返回该不定周期收盘价.18)DVOL 不定周期成交量价 返回该不定周期成交量价.19)NAMELIKE 模糊股票名称返回股票名称是否以参数开头.用法: if(NAMELIKE('ST'),x,y);20)CODELIKE 模糊股票代码 返回股票代码是否以参数开头.用法: if(CODELIKE('600'),x,y);21)INBLOCK 属于某板块 返回股票是否属于某板块.用法: if(INBLOCK('沪深300'),x,y);(二)时间函数1)PERIOD 周期 取得周期类型.结果从0到11,依次分别是1/5/15/30/60分钟,日/周/月,多分钟,多日,季,年.2)DATE 日期 取得该周期从1900以来的的年月日. 用法: DATE 例如函数返回1000101,表示2000年1月1日,DATE+19000000后才是真正的日期值3)TIME 时间 取得该周期的时分秒.用法: TIME 函数返回有效值范围为(000000-235959)4)YEAR 年份 取得该周期的年份.5)MONTH 月份 取得该周期的月份.用法: 函数返回有效值范围为(1-12)6)WEEKDAY 星期 取得该周期的星期数.用法: WEEKDAY 函数返回有效值范围为(1-7)7)DAY 日 取得该周期的日期.用法: DAY 函数返回有效值范围为(1-31)8)HOUR 小时 取得该周期的小时数.用法: HOUR 函数返回有效值范围为(0-23),对于日线及更长的分析周期值为09)MINUTE 分钟 取得该周期的分钟数.用法: MINUTE 函数返回有效值范围为(0-59),对于日线及更长的分析周期值为010)FROMOPEN 分钟 求当前时刻距开盘有多长时间.用法: FROMOPEN FROMOPEN.返回当前时刻距开盘有多长时间,单位为分钟.例如:当前时刻为早上十点,则返回31.11)TFILT 分钟 对指定时间段的数据进行过滤,该时间段以外的数据无效.用法: TFILT(X,D1,M1,D2,M2) 例如TFILT(CLOSE,1040101,1025,1040101,1345)表示在2004年1月1日的10:25到2004年1月1日的13:45的收盘价是有效的.周期以日为基本单位的,分时为0有效.12)DATETODAY 上指纪元 指定日期到1990.12.19的天数.用法: DATETODAY(date)DATETODAY(date).返回date到1990.12.19的天数.有效日期为(901219-1341231)例如:DATETODAY(901219)返回0.13)DAYTODATE 转换日期 求1990.12.19后第若干天的日期.用法: DAYTODATE(N)DAYTODATE(N).返回1990.12.19后第N天的日期.有效天数为(0-20000)例如:DAYTODATE(0)返回901219.14)TIMETOSEC 当日秒数 求指定时刻距0时有多长时间.用法: TIMETOSEC(time)TIMETOSEC(time).返回time时刻距0时有多长时间,单位为秒.有效时间为(0-235959)例如:TIMETOSEC(93000)返回34200.15)SECTOTIME 转换时间 求0时后若干秒是什么时间.用法: SECTOTIME(N)SECTOTIME(N).返回0时后N秒是什么时间.有效秒数为(0-86399)例如:SECTOTIME(34200)返回93000.引用函数HHVBARS和LLVBARS的运用 引用函数BACKSET等4个函数的运用引用函数BACKSET等4个函数的运用(2007-05-1 11:56:19)1、函数:BACKSET 向前赋值将当前位置到若干周期前的数据设为1。用法:BACKSET(X,N),X非0,则将当前位置到N周期前的数值设为1。例如:BACKSET(CLOSE>OPEN,2),若收阳则将该周期及前一周期数值设为1,否则为0。请看下面指标:CSAR:SAR(10,2,20),LINETHICK2;{表示计算10日抛物转向,步长为2%,极限值为20%。}drawtext(CSAR>=H,CSAR,'°'),color00ff00;{当CSAR大于等于最高价,在CSAR上画。状线}drawtext(CSAR<=L,CSAR,'°'),colorred;{当CSAR小于等于最低价,在CSAR上画。状线}TJ1:=BACKSET(SARTURN(10,2,20)<>0,2);{若10日抛物转向,步长为2%,极限值为20%,则将该周期及前一周期数值设为1,否则为0。}TJ2:=REF(TJ1,1);{引用上一周期TJ1}drawtext(TJ2,CSAR,'°'),coloryellow;{TJ2条件满足在CSAR画。状线}STICKLINE(C>O,O,C,4,0),COLORRED;STICKLINE(C>O,H,C,1,1),COLORRED;STICKLINE(C>O,O,L,1,1),COLORRED;STICKLINE(C<=O,O,C,4,0),COLORffcc66;STICKLINE(C<=O,H,O,1,1),COLORffcc66;STICKLINE(C<=O,L,C,1,1),COLORffcc66;{1.向下跌破转向点,卖出;向上突破转向点,买入2.市道趋势明显时,转向点信号准确}上面是一个抛物转向指标,在第二步句用到了BACKSET函数,与另一个抛物转向点函数SARTURN构成了一个指标语句(三)引用函数1)DRAWNULL 无效数 返回无效数.用法:DRAWNULL 例如IF(CLOSE>REF(CLOSE,1),CLOSE,DRAWNULL)表示下跌时分析图上不画线 ,IF(角度>30,均线,DRAWNULL),LINETHICK2,COLORRED;均线向上大于30度时画红粗线)项 角度:ATAN((均线/REF(均线,1)-1)*100)*180/3.1416,NODRAW;(NODRAW,不画该线)2)BACKSET 向前赋值 将当前位置到若干周期前的数据设为1.用法: BACKSET(X,N),若X非0,则将当前位置到N周期前的数值设为1.例如:BACKSET(CLOSE>OPEN,2)若收阳则将该周期及前一周期数值设为1,否则为03)BARSCOUNT 有效数据周期数 求总的周期数.用法: BARSCOUNT(X)第一个有效数据到当前的天数例如:BARSCOUNT(CLOSE)对于日线数据取得上市以来总交易日数,对于分笔成交取得当日成交笔数,对于1分钟线取得当日交易分钟数E1:=BARSCOUNT(C);AH:=HHV(H,200);AL:=LLV(L,200);B0:=(AH-AL)/40;KB1:=H+B0;KB2:=L-B0;STICKLINE((E1+0)/34=FLOOR((E1+0)/34),KB2,KB2-3*B0,2,0),COLORYELLOW,LINETHICK3;DRAWTEXT((E1+0)/34=FLOOR((E1+0)/34),KB2-2*B0,'时间窗'),COLORWHITE;
4)CURRBARSCOUNT 到最后交易日的周期数 求到最后交易日的周期数.用法: CURRBARSCOUNT 求到最后交易日的周期数.最后交易日往前数的天数。例如 DRAWKLINE(HIGH,OPEN,LOW,CLOSE);DRAWTEXT(CURRBARSCOUNT=20,L*0.98,'-20');DRAWTEXT(CURRBARSCOUNT=6,L*0.98,'-6');
5)TOTALBARSCOUNT 总的周期数 求总的周期数.用法: TOTALBARSCOUNT 求总的周期数E1:=BARSCOUNT(C);AH:=HHV(H,200);AL:=LLV(L,200);B0:=(AH-AL)/40;KB1:=H+B0;KB2:=L-B0;STICKLINE((E1+0)/34=FLOOR((E1+0)/34),KB2,KB2-3*B0,2,0),COLORYELLOW,LINETHICK3;DRAWTEXT((E1+0)/34=FLOOR((E1+0)/34),KB2-2*B0,'时间窗'),COLORWHITE;
FLOOR 向下舍入 向下舍入.用法:FLOOR(A)返回沿A数值减小方向最接近的整数例如:FLOOR(12.3)求得6)ISLASTBAR 是否为最后一个周期 判断是否为最后一个周期.用法: ISLASTBAR 判断是否为最后一个周期7)BARSLAST 上一条件成立位置 上一次条件成立到当前的周期数.用法: BARSLAST(X):上一次X不为0到现在的天数例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)表示上一个涨停板到当前的周期数例BARSLAST(C/REF(C,1)>1.08); 另BARSLAST(REF(C,1)/L>1.05);一方面 BARSLAST(B<-0.04);另A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));上次昨日DIFF上穿DEA距今天数VARZT:=BARSLAST(C/REF(C,1)>1.097);STICKLINE(VARZT=1,L*0.97,L*0.98,1,0),COLOR0000FF;DRAWTEXT(VARZT=1,H*1.08,'2天'),COLORYELLOW;三天前有一个涨停,涨停后三天连续缩量回调的选股公式XG:BARSLAST(C/REF(C,1)>=1.0996)=3 AND NDAY(REF(V,1),V,3);
A3:=MA(C,8);B60:=LAST((C>A3),60,6);B61:= EVERY(C>=MA(C,8),6);连续:=BARSLAST((B60)>=1) ;IF(连续 AND C>=MA(C,8),MA(C,8),DRAWNULL),LINETHICK3,COLORCCCCCC;TY:= REF(CROSS(C,MA(C,8)),1) ;STICKLINE(TY AND REF(CROSS(C,MA(C,8)),1),L,L*0.96,1,0),COLORGREEN;8)BARSSINCE 第一个条件成立位置 第一个条件成立到当前的周期数.用法: BARSSINCE(X):第一次X不为0到现在的天数例如:BARSSINCE(HIGH>10)表示股价超过10元时到当前的周期数9)BARSSINCEN N周期内首个条件成立位置 N周期内第一个条件成立到当前的周期数.用法: BARSSINCEN(X,N):N周期内第一次X不为0到现在的天数例如:BARSSINCEN(HIGH>10,10)表示10个周期内股价超过10元时到当前的周期数10)BARSSINCE 首个条件成立位置 第一个条件成立到当前的周期数.用法: BARSSINCE(X):第一次X不为0到现在的天数例如:BARSSINCE(HIGH>10)表示股价超过10元时到当前的周期数11)COUNT 统计 统计满足条件的周期数.用法: COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始.例如:COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数,例如:2次回踩5日均线不破的选股公式 MA5:=MA(C,5);回踩:=CROSS(C,MA5) ;COUNT(回踩,4)=2 AND C>MA(C,5);12)BARSLASTCOUNT 统计条件连续成立次数 统计连续满足条件的周期数.用法: BARSLASTCOUNT(X),统计连续满足X条件的周期数.例如:BARSLASTCOUNT(CLOSE>OPEN)表示统计连续收阳的周期数A1:=MA(C,20);B60:=BARSLASTCOUNT(C>A1);D60:B60>60 收盘价在20日均线之上至少60天选股公式13)DMA 动态移动平均 求动态移动平均.用法: DMA(X,A),求X的动态移动平均.算法: 若Y=DMA(X,A)则 Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必须小于1.例如:DMA(CLOSE,VOL/CAPITAL)表示求以换手率作平滑因子的平均价14)HHV 最高值 求最高值.用法: HHV(X,N),求N周期内X最高值,N=0则从第一个有效值开始. 例如:HHV(HIGH,30)表示求30日最高价 另 HHV(REF(C,1),5)/C>1.05 表示5日内昨收的最高值/收盘价>1.0515)HHVBARS 上一高点位置 求上一高点到当前的周期数.用法: HHVBARS(X,N):求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计例如:HHVBARS(HIGH,0)求得历史新高到到当前的周期数 HHVBARS(V,阳线)16)HOD 高值名次 求高值名次.用法: HOD(X,N):求当前X数据是N周期内的第几个高值,N=0则从第一个有效值开始.例如:HOD(HIGH,20)返回是20日的第几个高价17)LLV 最低值 求最低值.用法: LLV(X,N),求N周期内X最低值,N=0则从第一个有效值开始. 例如:LLV(LOW,0)表示求历史最低价18)LLVBARS 上一低点位置 求上一低点到当前的周期数.用法: LLVBARS(X,N):求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计例如:LLVBARS(HIGH,20)求得20日最低点到当前的周期数19)LOD 低值名次 求低值名次.用法: LOD(X,N):求当前X数据是N周期内的第几个低值,N=0则从第一个有效值开始.例如:LOD(LOW,20)返回是20日的第几个低价20)REVERSE 求相反数 求相反数.用法:REVERSE(X)返回-X.例如REVERSE(CLOSE)返回-CLOSE21)REF 日前的 引用若干周期前的数据.用法: REF(X,A),引用A周期前的X值. 例如:REF(CLOSE,1)表示上一周期的收盘价,在日线上就是昨收22)REFV 日前的 引用若干周期前的数据(未作平滑处理).用法: REFV(X,A),引用A周期前的X值.A可以是变量.平滑处理:当引用不到数据时进行的操作。例如:REFV(CLOSE,BARSCOUNT(C)-1)表示第二根K线的收盘价.23)REFX 日后的 引用若干周期后的数据(未作平滑处理).用法: REFX(X,A),引用A周期后的X值.A可以是变量.平滑处理:当引用不到数据时进行的操作。例如:REFX(CLOSE,1)表示下一周期的收盘价,在日线上就是明天收盘价24)REFXV 日后的 引用若干周期后的数据(平滑处理).用法: REFXV(X,A),引用A周期后的X值.A可以是变量.平滑处理:当引用不到数据时进行的操作。此函数中,平滑时使用上一个周期的引用值。例如:TT:=IF(C>O,1,2);REFXV(CLOSE,TT);表示阳线引用下一周期的收盘价,阴线引用日后第二周期的收盘价.25)REFDATE 日 引用自1900年以来指定日期的数据.用法: REFDATE(X,A),引用A日期的X值. 例如:REFDATE(CLOSE,1011208)表示2001年12月08日的收盘价26)SUM 累和 求总和.用法: SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始.例如:SUM(VOL,0)表示统计从上市第一天以来的成交量总和27)FILTER 过滤 过滤连续出现的信号.用法:FILTER(X,N):X满足条件后,删除其后N周期内的数据置为0. 例如:FILTER(CLOSE>OPEN,5)查找阳线,5天内再次出现的阳线不被记录在内WLT2:=FILTER(弯10,4);查找弯10的4日过滤,4天内再次出现的弯10不被记录在内28)FILTERX 反向过滤 反向过滤连续出现的信号.用法:FILTERX(X,N):X满足条件后,将其前N周期内的数据置为0.例如:FILTERX(CLOSE>OPEN,5)查找阳线,前5天内出现过的阳线不被记录在内29)TFILTER 交易信号过滤 过滤连续出现的交易信号.用法:TFILTER(开仓,平仓,N);过滤掉开仓(平仓)信号发出后、下一个平仓(开仓)信号发出前的所有开仓(平仓)信号.N=1表示仅对开仓信号过滤;N=2表示仅对平仓信号过滤;N=0表示对开仓、平仓信号都过滤;例如:ENTERLONG:TFILTER(开仓,平仓,1);EXITLONG:TFILTER(开仓,平仓,2);通达信新函数应用一例:NAMELIKE (源码 交流)NAMELIKE 模糊股票名称CODELIKE 模糊股票代码以此可应用于归类选择或分类过滤例:去除STS1:=IF(NAMELIKE('S'),0,1);{取得股票名称中的第一个字符为返回条件}S2:=IF(NAMELIKE('*'),0,1);ST:S1 AND S2;{最后一句NOT(ST)用取返就成专门选出ST股}这里的ST条件就在选股中去除了股票名称以S开头及*开头的股票,XD及新股N可用同样方法,创业版可用CODELIKE函数,因为代码300。例:过滤条件(留ST):= NAMELIKE('ST') OR NAMELIKE('*') {OR CODELIKE('3')}{创业板}OR BARSCOUNT(V)<=100{次新} OR{总量}DYNAINFO(9)=0{停牌} ;去掉ST:IF(NAMELIKE('*ST'),0,1) AND IF(NAMELIKE('S'),0,1) and IF(DYNAINFO(9)=0{停牌},0,1) ;去掉板块:=IF(NAMELIKE('*ST'),0,1) AND IF(NAMELIKE('S'),0,1) AND IF(DYNAINFO(9)=0,0,1) AND IF( CODELIKE('3'),0,1) AND IF( CODELIKE('002'),0,1);30)TTFILTER 交易信号过滤过滤多空交易信号.用法:TTFILTER(多头买入开仓,多头卖出平仓,空头卖出开仓,空头买入平仓,N);1.过滤掉多(空)开仓信号发出后、下一个多(空)平仓信号发出前的所有多(空)开仓信号.2.多(空)开仓信号发出且空(多)仓已建时,要发出一个平空(多)仓的信号.3.过滤掉多(空)平仓信号发出后、下一个多(空)开仓信号发出前的所有多(空)平仓信号.N=1表示仅对多头开仓信号过滤;N=2表示仅对多头平仓信号过滤;N=3表示仅对空头开仓信号过滤;N=4表示仅对空头平仓信号过滤;N=0表示对合并多空开仓、平仓信号;例如:ENTERLONG:TTFILTER(多头买入开仓,多头卖出平仓,空头卖出开仓,空头买入平仓,1);EXITLONG:TTFILTER(多头买入开仓,多头卖出平仓,空头卖出开仓,空头买入平仓,2);ENTERSHORT:TTFILTER(多头买入开仓,多头卖出平仓,空头卖出开仓,空头买入平仓,3);EXITSHORT:TTFILTER(多头买入开仓,多头卖出平仓,空头卖出开仓,空头买入平仓,4);31)TR 真实波幅 求真实波幅.用法: TR,求真实波幅.例如:ATR:=MA(TR,10);表示求真实波幅的10周期均值32)SUMBARS 累加到指定值的周期数 向前累加到指定值到现在的周期数.用法: SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数例如:SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数33)SMA 移动平均 返回移动平均用法:SMA(X,N,M):X的M日移动平均,M为权重,如Y=(X*M+Y'*(N-M))/N简单移动平均线(SMA)算术移动平均线是简单而普遍的移动平均线。平均线是指算术平均数,计算方法为一组数字相加,除以该组数据的组成个数,其中每一给定时限在计算平均值时的权重均相等。以5天移动平均线为例,公式如下:MA=(C1+C2+C3+C4+C5)/5一般公式 :MA=(C1+C2+C3+C4+C5+....+Cn)/nC: 第一日收盘价n: 移动平均数周期ma的值相当于该周期的平均成本,成本价格的多少直接关系到股票投资者的盈亏,所以移动平均成本是多空双方争夺的关口,也对股票价格起到支撑或压力作用。但在实际操作中不是每条移动平均线都一样的,需要我们珍惜辨别。在股票市场中,主力操盘手的性格,技术水平资金实力等等不一样,就相应的造成每个股票的股性不一样的,所以造操作中我首先得选择相适应的移动成本。34)TMA返回移动平均用法:TMA(X,N,M),如若Y=TMA(X,N,M) 则 Y=(N*Y'+M*X), 其中Y'表示上一周期Y值。初值为M*X35)MA 简单移动平均 返回简单移动平均用法:MA(X,M):X的M日简单移动平均36)EMA 指数移动平均 返回指数移动平均用法:EMA(X,M):X的M日指数移动平均37)MEMA 平滑移动平均 返回平滑移动平均用法:MEMA(X,M):X的M日平滑移动平均38)EXPMA 指数移动平均 返回指数移动平均用法:EXPMA(X,M):X的M日指数移动平均39)EXPMEMA 指数平滑移动平均 返回指数平滑移动平均用法:EXPMEMA(X,M):X的M日指数平滑移动平均40)XMA 偏移移动平均 返回偏移移动平均用法:XMA(X,M):X的M日偏移移动平均41)RANGE 介于某一范围之间 RANGE(A,B,C):A在B和C范围之间.用法: RANGE(A,B,C)表示A大于B同时小于C时返回1,否则返回042)CONST 取值设为常数 CONST(A):取A最后的值为常量.用法: CONST(INDEXC)表示取大盘现价43)TOPRANGE 当前值是近多少周期内的最大值.用法: TOPRANGE(X):X是近多少周期内X的最大值例如:TOPRANGE(HIGH)表示当前最高价是近多少周期内的最高价44)LOWRANGE 当前值是近多少周期内的最小值.用法: LOWRANGE(X):X是近多少周期内X的最小值例如:LOWRANGE(LOW)表示当前最高价是近多少周期内的最小价45)FINDHIGH 寻找指定周期内的特定最大值 N周期前的M周期内的第T个最大值.用法: FINDHIGH(VAR,N,M,T):VAR在N日前的M天内第T个最高价46)FINDHIGHBARS 寻找指定周期内的特定最大值 N周期前的M周期内的第T个最大值到当前周期的周期数.用法: FINDHIGHBARS (VAR,N,M,T):VAR在N日前的M天内第T个最高价到当前周期的周期数47)FINDLOW 寻找指定周期内的特定最小值 N周期前的M周期内的第T个最小值.用法: FINDLOW(VAR,N,M,T):VAR在N日前的M天内第T个最低价48)FINDLOWBARS 寻找指定周期内的特定最小值 N周期前的M周期内的第T个最小值到当前周期的周期数.用法: FINDLOWBARS(VAR,N,M,T):VAR在N日前的M天内第T个最低价到当前周期的周期数.49)INTPART 绝对值减小取整,即取得数据的整数部分。INTPART(A)返回沿A绝对值减小方向最接近的整数,INTPART(12.3)求得12,INTPART(-3.5)求得-3 F1:=C>=INTPART(REF(C,1)*(1.091)*100)/100;
http://www.weistock.com/WeisoftHelp/index.html?fulua_intpart.htm
http://www.weistock.com/WeisoftHelp/index.html?fulua_intpart.htm(四)逻辑函数1)CROSS 上穿 两条线交叉.用法: CROSS(A,B)表示当A从下方向上穿过B时返回1,否则返回0 例如:CROSS(MA(CLOSE,5),MA(CLOSE,10))表示5日均线与10日均线交金叉2)LONGCROSS 持续周期后上穿 两条线维持一定周期后交叉. 用法:LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0例如: COUNT(LONGCROSS(C,MA(C,20),10),30)=1 AND COUNT(C>MA(C,20),5)>=4 AND (CROSS(C,MA(C,20)*1.02) OR CROSS(MA(C,20),C)) AND C>MA(C,20)*0.98 AND MA(C,20)>REF(MA(C,20),1) AND MA(C,10)>MA(C,20); 股价突破20日均线,然后回踩20均线3)UPNDAY 连涨 返回是否连涨周期数.用法: UPNDAY(CLOSE,M) 表示连涨M个周期4)DOWNNDAY 连跌 返回是否连跌周期.用法: DOWNNDAY(CLOSE,M) 表示连跌M个周期DOWNNDAY(MA(C,5)-MA(C,10),3);5)NDAY 连大 返回是否持续存在X>Y用法: NDAY(CLOSE,OPEN,3) 表示连续3日收阳线 DOWNNDAY(MA(C,5)-MA(C,10),3);6)EXIST 存在 是否存在.用法: EXIST(CLOSE>OPEN,10) 表示前10日内存在着阳线 例;EXIST(REF(C,1)/REF(C,2)>=1.098,5) 表示最近5日存在着昨收/2日前的收盘价>=1.0987)EVERY 一直存在 一直存在.用法: EVERY(CLOSE>OPEN,10) 表示前10日内一直阳线8)LAST 持续存在 LAST(X,A,B):持续存在.用法: LAST(CLOSE>OPEN,10,5) 表示从前10日到前5日内一直阳线若A为0,表示从第一天开始,B为0,表示到最后日止9)TESTSKIP 是否就此返回 TESTSKIP(A):不满足A则直接返回.用法: TESTSKIP(A) 表示如果不满足条件A则改公式直接返回,不再计算接下来的表达式10)BETWEEN 在...之间 用法:BETWEEN (A,B,C)。 例 BETWEEN(L,M5*1.03,M5*0.97),最低价位于M5*1.03和M5*0.97之间(五)算术函数68)NOT 取反 求逻辑非.用法: NOT(X)返回非X,即当X=0时返回1,否则返回0; 例如:NOT(ISUP)表示平盘或收阴69)IF 逻辑判断 根据条件求不同的值.用法: IF(X,A,B)若X不为0则返回A,否则返回B;例如:IF(CLOSE>OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值70)IFF 逻辑判断 根据条件求不同的值.用法: IFF(X,A,B)若X不为0则返回A,否则返回B 例如:IFF(CLOSE>OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值71)IFN 逻辑判断 根据条件求不同的值.用法: IFN(X,A,B)若X不为0则返回B,否则返回A 例如:IFN(CLOSE>OPEN,HIGH,LOW)表示该周期收阴则返回最高值,否则返回最低值72)MAX 较大值 求最大值.用法: MAX(A,B)返回A和B中的较大值例如:MAX(CLOSE-OPEN,0)表示若收盘价大于开盘价返回它们的差值,否则返回073)MIN 较小值 求最小值.用法: MIN(A,B)返回A和B中的较小值例如:MIN(CLOSE,OPEN)返回开盘价和收盘价中的较小值(六)数学函数1) ACOS 反余弦 反余弦值.用法: ACOS(X)返回X的反余弦值2)ASIN 反正弦 反正弦值.用法: ASIN(X)返回X的反正弦值3)ATAN 反正切 反正切值.用法: ATAN(X)返回X的反正切值4) COS 余弦 余弦值.用法: COS(X)返回X的余弦值5)SIN 正弦 正弦值.用法: SIN(X)返回X的正弦值6)TAN 正切 正切值.用法: TAN(X)返回X的正切值7)EXP 指数 指数.用法: EXP(X)为e的X次幂例如:EXP(CLOSE)返回e的CLOSE次幂8)LN 自然对数 求自然对数.用法: LN(X)以e为底的对数 例如:LN(CLOSE)求收盘价的对数9)LOG 对数 求10为底的对数.用法: LOG(X)取得X的对数; 例如:LOG(100)等于210)SQRT 开方 开平方.用法: SQRT(X)为X的平方根; 例如:SQRT(CLOSE)收盘价的平方根11)ABS 绝对值 求绝对值.用法: ABS(X)返回X的绝对值; 例如:ABS(-34)返回3412)POW 乘幂 乘幂.用法: POW(A,B)返回A的B次幂; 例如:POW(CLOSE,3)求得收盘价的3次方13)CEILING 向上舍入 向上舍入.用法:CEILING(A)返回沿A数值增大方向最接近的整数例如:CEILING(12.3)求得13,CEILING(-3.5)求得-314)FLOOR 向下舍入 向下舍入.用法:FLOOR(A)返回沿A数值减小方向最接近的整数例如:FLOOR(12.3)求得12,FLOOR(-3.5)求得-415)INTPART 取整 取整.用法:INTPART(A)返回沿A绝对值减小方向最接近的整数例如:INTPART(12.3)求得12,INTPART(-3.5)求得-316)BETWEEN 介于 介于.用法:BETWEEN(A,B,C)表示A处于B和C之间时返回1,否则返回0例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5))表示收盘价介于5日均线和10日均线之间17)FRACPART 小数部分.用法:FRACPART(X),返回X的小数部分18)ROUND四舍五入.用法:ROUND(X),返回X四舍五入到个位的数值19)SIGN取符号.用法:SIGN(X),返回X的符号.当X>0,X=0,X<0分别返回1,0,-120)MOD取模.用法:MOD(M,N),返回M关于N的模(M除以N的余数);例如:MOD(5,3)返回221)RAND取随机数.用法:RAND(N),返回一个范围在1-N的随机整数(七)统计函数1)AVEDEV 平均绝对方差 AVEDEV(X,N) 返回平均绝对方差2)DEVSQ 数据偏差平方和 DEVSQ(X,N) 返回数据偏差平方和3)FORCAST 线性回归预测值 FORCAST(X,N) 返回线性回归预测值4)SLOPE 线性回归斜率 SLOPE(X,N) 返回线性回归斜率5)STD 估算标准差 STD(X,N) 返回估算标准差6)STDP 总体标准差 STDP(X,N) 返回总体标准差7)VAR 估算样本方差 VAR(X,N) 返回估算样本方差8)VARP 总体样本方差 VARP(X,N) 返回总体样本方差9)COVAR协方差,COVAR(X,Y,N) 返回X和Y的N周期的协方差10)RELATE相关系数,RELATE(X,Y,N) 返回X和Y的N周期的相关系数11)BETA β(Beta)系数,BETA(N) 返回当前证券N周期收益与大盘收益相比的贝塔系数12)BETAEX 相关放大系数,BETAEX(X,Y,N) 返回X与Y的N周期的相关放大系数(八)横向统计1)BLOCKSETNUM. 板块股票个数,用法:BLOCKSETNUM(板块名称),返回该板块股票个数2)HORCALC.多股统计,用法:HORCALC(板块名称,数据项,计算方式,权重),数据项:100-HIGH,101-OPEN,102-LOW,103-CLOSE,104-VOL,105-涨幅计算方式:0-累加,1-排名次权重:0-总股本,1-流通股本,2-等同权重,3-流通市值3)INSORT. 板块排序选股,用法:INSORT(板块名称,指标名称,指标线,升降序),返回该股在板块中的排序序号,例如:INSORT('房地产','KDJ',3,0)表示该股的KDJ指标第三个输出即J之值在房地产板块中的排名,最后一个参数为0表示降序排名4)INSUM. 板块指标统计,用法:INSUM(板块名称,指标名称,指标线,计算类型),返回板块各成分该指标相应输出安计算类型得到的计算值.计算类型:0-累加,1-平均数,2-最大值,3-最小值.例如:INSUM('房地产','KDJ',3,0)表示房地产板块中所有股票的KDJ指标第三个输出即J之值的累加值(九)形态函数1)COST 成本分布 成本分布情况.用法:COST(10),表示10%获利盘的价格是多少,即有10%的持仓量在该价格以下,其余90%在该价格以上,为套牢盘,该函数仅对日线分析周期有效2)PEAK 波峰值 前M个ZIG转向波峰值.用法:PEAK(K,N,M)表示之字转向ZIG(K,N)的前M个波峰的数值,M必须大于等于1例如:PEAK(1,5,1)表示%5最高价ZIG转向的上一个波峰的数值3)PEAKBARS 波峰位置 前M个ZIG转向波峰到当前距离.用法:PEAKBARS(K,N,M)表示之字转向ZIG(K,N)的前M个波峰到当前的周期数,M必须大于等于1例如:PEAK(0,5,1)表示%5开盘价ZIG转向的上一个波峰到当前的周期数4)SAR 抛物转向 抛物转向.用法:SAR(N,S,M),N为计算周期,S为步长,M为极值例如SAR(10,2,20)表示计算10日抛物转向,步长为2%,极限值为20%5)SARTURN 抛物转向点 抛物转向点.用法:SARTURN(N,S,M),N为计算周期,S为步长,M为极值,若发生向上转向则返回1,若发生向下转向则返回-1,否则为0,其用法与SAR函数相同6)TROUGH 波谷值 前M个ZIG转向波谷值.用法:TROUGH(K,N,M)表示之字转向ZIG(K,N)的前M个波谷的数值,M必须大于等于1例如:TROUGH(2,5,2)表示%5最低价ZIG转向的前2个波谷的数值7)TROUGHBARS 波谷位置 前M个ZIG转向波谷到当前距离.用法:TROUGHBARS(K,N,M)表示之字转向ZIG(K,N)的前M个波谷到当前的周期数,M必须大于等于1例如:TROUGH(2,5,2)表示%5最低价ZIG转向的前2个波谷到当前的周期数8)WINNER 获利盘比例 获利盘比例.用法:WINNER(CLOSE),表示以当前收市价卖出的获利盘比例,例如返回0.1表示10%获利盘;WINNER(10.5)表示10.5元价格的获利盘比例,该函数仅对日线分析周期有效9)LWINNER 近期获利盘比例 近期获利盘比例. 用法:LWINNER(5,CLOSE),表示最近5天的那部分成本以当前收市价卖出的获利盘比例例如返回0.1表示10%获利盘10)PWINNER 远期获利盘比例 远期获利盘比例. 用法:PWINNER(5,CLOSE),表示5天前的那部分成本以当前收市价卖出的获利盘比例例如返回0.1表示10%获利盘11)CostEX 区间成本 区间成本.用法:CostEX(CLOSE, REF(CLOSE)),表示近两日收盘价格间筹码的成本,例如返回10表示区间成本为20元该函数仅对日线分析周期有效12)PPART 远期成本分布比例 远期成本分布比例.用法:PPART(10),表示10前的成本占总成本的比例,0.2表示20%13)ZIG 之字转向 之字转向.用法:ZIG(K,N),当价格变化量超过N%时转向,K表示0:开盘价,1:最高价,2:最低价,3:收盘价,其余:数组信息例如:ZIG(3,5)表示收盘价的5%的ZIG转向14)NewSAR新抛物转向函数用法:NewSAR(N,S),N为起始统计天数,S为加速因子例如NewSAR(10,2)表示从10日后开始统计,加速因子为2的抛物转向15)LFS 返回个股锁定因子(十)大盘函数1)INDEXA 大盘成交额 大盘成交额 ,INDEXA 返回大盘成交额2)INDEXADV 上涨家数 上涨家数,NDEXADV 返回上涨家数3)INDEXDEC 下跌家数 下跌家数,INDEXDEC 返回下跌家数4)INDEXC 大盘收盘价 大盘收盘价,INDEXC 返回大盘收盘价5)INDEXH 大盘最高价 大盘最高价 ,INDEXH 返回大盘最高价6)INDEXL 大盘最低价 大盘最低价, INDEXL 返回大盘最低价7)INDEXO 大盘开盘价 大盘开盘价,INDEXO 返回大盘开盘价8)INDEXV 大盘成交量 大盘成交量,INDEXV 返回大盘成交量(十一)日线统计函数1)TRADENUM总成交笔数,逐笔成交总笔数,Level2收费行情的个股行情专用2)TRADEINNUM逐笔买入成交笔数,Level2收费行情专用3)TRADEOUTNUM逐笔卖出成交笔数,Level2收费行情专用4)LARGETRDINNUM逐笔买入大单成交笔数,Level2收费行情专用5)LARGETRDOUTNUM逐笔卖出大单成交笔数,Level2收费行情专用6)TICKCOUNT分时采样总笔数,Level2收费行情专用7)TICKINCOUNT主动买采样数,分时采样买笔数,Level2收费行情专用8)TICKOUTCOUNT主动卖采样数,分时采样卖笔数,Level2收费行情专用9)LARGETICKCOUNT,分时采样大单笔数,Level2收费行情专用10)LARGETICKINCOUNT分时采样大单买笔数,Level2收费行情专用11)LARGETICKOUTCOUNT分时采样大单卖笔数,Level2收费行情专用12)ACTINVOL主动买成交量,Level2收费行情专用13)ACTOUTVOL主动卖成交量,Level2收费行情专用14)LARGEINTRADEVOL逐笔买入大单成交量,Level2收费行情专用15)LARGEOUTTRADEVOL逐笔卖出大单成交量,Level2收费行情专用16)LARGEVOL快照大单成交量,Level2收费行情专用17)LARGEINVOL主买快照大单成交量,Level2收费行情专用18)LARGEOUTVOL主卖快照大单成交量,Level2收费行情专用19)BIDORDERVOL累计总委买量,Level2收费行情专用20)BIDCANCELVOL累计总撤买量,Level2收费行情专用21)AVGBIDPX,Level1行情表示:最低价;Level2行情表示:最新委买均价22)OFFERORDERVOL累计总委卖量,Level2收费行情专用23)OFFERCANCELVOL累计总撤卖量,Level2收费行情专用24)AVGOFFERPXLevel1行情表示:最高价;Level2行情表示:最新委卖均价(十二)绘图函数 股价K线图影线填色1)PLOYLINE 折线段 在图形上绘制折线段.用法: PLOYLINE(COND,PRICE),当COND条件满足时,以PRICE位置为顶点画折线连接. 例如: PLOYLINE(HIGH>=HHV(HIGH,20),HIGH)表示在创20天新高点之间画折线2)DRAWLINE 直线段 在图形上绘制直线段.用法: DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND),当COND1条件满足时,在 PRICE1位置画直线起点,当COND2条件满足时,在PRICE2位置画直线终点,EXPAND为延长类型)例:DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,LOW<=LLV(LOW,20),LOW,1)表示在创20天新高与创20天新低之间画直线并且向右延长)例:DRAWLINE(CLOSE,前期高位,前期高位,前期高位,1),DOTLINE,COLOR00FF00;KD二次金叉:DRAWLINE(KD二次金叉,L,CROSS(K,D),L,1),COLORBLUE,LINETHICK2;3)DRAWKLINE K线 在图形上绘制K线.DRAWKLINE(HIGH,OPEN,LOW,CLOSE).用法:以HIGH为最高价,OPEN为开盘价,LOW为最低,CLOSE收盘画K线 例画K线图: DRAWKLINE(HIGH,OPEN,LOW,CLOSE);4)STICKLINE 柱状线 在4)STICKLINE 图形上绘制柱线.用法:STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,在PRICE1和 PRICE2位置之间画柱状线,宽度为WIDTH(10为标准间距),EMPTH不为0则画空心柱)例如:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,0.8,1)表示画K线中阳线的空心柱体部分)5)DRAWICON 图标 在图形上绘制小图标.用法:DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE号图标)例如:DRAWICON(CLOSE>OPEN,LOW,1)表示当收阳时在最低价位置画1号图标)例:DRAWICON(CROSS(散户,庄家) AND 散户<30,L-0.85,1);DRAWICON(CURRBARSCOUNT=120,L*0.99,1);DRAWTEXT(CURRBARSCOUNT=30,L*0.98,'-30');6)DRAWTEXT 文字 在图形上显示文字.用法:DRAWTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置书写文字TEXT)例如:DRAWTEXT(CLOSE/OPEN>1.08,LOW,'大阳线')表示当日涨幅大于8%时在最低价位置显示'大阳线'字样) 例:DRAWTEXT(CROSS(庄家,散户) AND 散户>70,H+0.05,'高减'),COLORYELLOW;7)DRAWNUMBER 画出数字.用法:DRAWNUMBER(COND,PRICE,NUMBER),当COND条件满足时,在PRICE位置书写数字NUMBER。例如:DRAWNUMBER(CLOSE/OPEN>1.08,LOW,C)表示当日涨幅大于8%时在最低价位置显示收盘价。8)RGB将自定颜色作为数值输出.用法:RGB(Red,Green,Blue),输出为0XBBGGRR,参数使用十进制数,范围为0至255,以最近一个周期数值为准。例如:RGB(0,0,255)输出结果为16进制的0XFF0000。9)DRAWBAND 画出带状线.用法:DRAWBAND(VAL1,COLOR1,VAL2,COLOR2),当VAL1>VAL2时,在VAL1和VAL2之间填充COLOR1;当VAL1例如:DRAWBAND(OPEN,RGB(0,224,224),CLOSE,RGB(255,96,96));例如:E5:=EMA(C,5);E13:=EMA(C,13);DRAWBAND(E5,RGB(200,0,0),E13,RGB(0,200,0));
10)STICKLINE 画出柱状线在图形上绘制柱线。用法: STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,在PRICE1和PRICE2位置之间画柱状线,宽度为WIDTH(10为标准间距),EMPTH不为0则画空心柱。例如: STICKLINE(CLOSE>OPEN,CLOSE,OPEN,0.8,1)表示画K线中阳线的空心柱体部分。含义:在图形上绘制柱线。用法:STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,在PRICE1和PRICE2位置之间画柱状线,宽度为WIDTH(10为标准间距),EMPTH不为0则画空心柱。例如:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,8,1)表示画K线中阳线的空心柱体部分。VAR3P:=IF(CLOSE/REF(CLOSE,1)>1.050 AND HIGH/CLOSE<1.010 AND IF(CLOSE>REF(CLOSE,1),88,0)>0, 91, 0);STICKLINE(VAR3P>90,L,L*0.92,0,0),COLORFF00FF;DRAWTEXT(VAR3P>90,LOW*0.92,'追涨'),COLORFF00FF;例如:回踩不破:=CROSS(C,MA5) ;STICKLINE(回踩不破,OPEN,CLOSE,1.5,0),COLORYELLOW;LINESTICK:指标线和柱线 /指标线和柱线都画。VOLSTICK:画成交量线 /收市价高于昨日的,画红色空心实体;否则画绿色实心实体。CROSSDOT :“x”点状线CIRCLEDOT :“0”点状线POINTDOT:小圆点线 /例如:NEWC:CLOSE,CIRCLEDOT; 表示以“0”点状线画每日收盘价。DRAWRECTREL含义:在图形相对位置上画矩形。阐释:DRAWRECTREL(LEFT,TOP,RIGHT,BOTTOM,COLOR), 以图形窗口(LEFT,TOP)为左上角,(RIGHT,BOTTOM)为右下角绘制矩形,坐标单位是窗口沿水平和垂直方向的1/1000,取值范围是0—999,超出范围则可能显示在图形窗口外,矩形中间填充颜色COLOR,COLOR 为0 表示不填充。例如:DRAWRECTREL(0,0,500,500,RGB(255,255,0))表示在图形最左上部1/4 位置用黄色绘制矩形。DRAWRECTREL(0,0,400,488,IF(20,RGB(120,0,0),0));
通达信绘图函数通达信绘图函数远比大智慧绘图函数简单。我用的大智慧绘图函数,是从 dzh2.exe 里面的函数使用说明中抠出来的。而我用的大智慧绘图函数,则是从 TCalc.dll 里面的函数使用说明中抠出来的。☆ ☆ ☆传统行情绘图函数(1)、画图标DRAWICON绘制图标在图形上绘制小图标。用法:DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE号图标。例如:DRAWICON(CLOSE>OPEN,LOW,1)表示当收阳时在最低价位置画1号图标。图标一共有九个,图形如附图。传统图标有九个,现在新增到27个,图标各有其序号。(2)、显示文字DRAWTEXT显示文字在图形上显示文字。用法:DRAWTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置书写文字TEXT。例如:DRAWTEXT(CLOSE/OPEN>1.08,LOW,'大阳线')表示当日涨幅大于8%时在最低价位置显示'大阳线'字样。(3)、画柱线STICKLINE在图形上绘制柱线.用法:STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,在PRICE1和PRICE2位置之间画柱状线,宽度为WIDTH(10为标准间距),EMPTH不为0则画空心柱。例如:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,0.8,1)表示画K线中阳线的空心柱体部分。(4)、画K线DRAWKLINE 绘制K线用法:DRAWKLINE(HIGH,OPEN,LOW,CLOSE).以HIGH为最高价,OPEN为开盘价,LOW为最低,CLOSE收盘画K线。(5)、画直线段DRAWLINE在图形上绘制直线段.用法:DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND)当COND1条件满足时,在PRICE1位置画直线起点,当COND2条件满足时,在PRICE2位置画直线终点,EXPAND为延长类型。例如:DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,LOW<=LLV(LOW,20),LOW,1)表示在创20天新高与创20天新低之间画直线并且向右延长。(6)、画折线段PLOYLINE在图形上绘制折线段。用法:PLOYLINE(COND,PRICE),当COND条件满足时,以PRICE位置为顶点画折线连接。例如: PLOYLINE(HIGH>=HHV(HIGH,20),HIGH)表示在创20天新高点之间画折线。新增绘图函数画带状线DRAWBAND画出带状线.DRAWBAND(VAL1,COLOR1,VAL2,COLOR2),当VAL1>VAL2时,在VAL1和VAL2之间填充COLOR1;当VAL1例如:DRAWBAND(OPEN,RGB(0,224,224),CLOSE,RGB(255,96,96));自定色RGB 将自定颜色作为数值输出.RGB(Red,Green,Blue),输出为0XBBGGRR,参数使用十进制数,范围为0至255,以最近一个周期数值为准。例如:RGB(0,0,255)输出结果为16进制的0XFF0000。画数字DRAWNUMBER画出数字.DRAWNUMBER(COND,PRICE,NUMBER),当COND条件满足时,在PRICE位置书写数字NUMBER。例如:DRAWNUMBER(CLOSE/OPEN>1.08,LOW,C)表示当日涨幅大于8%时在最低价位置显示收盘价。画定点数字DRAWNUMBER_FIX固定位置显示数字.DRAWNUMBER_FIX(COND,X,Y,TYPE,NUMBER),当COND条件满足时,在当前指标窗口内(X,Y)位置书写数字NUMBER,X,Y为书写点在窗口中相对于左上角的百分比,TYPE:0为左对齐,1为右对齐。例如:DRAWNUMBER_FIX(CURRBARSCOUNT=1 AND CLOSE/OPEN>1.08,0.5,0.5,0,C)表示最后一个交易日涨幅大于8%时在窗口中间位置显示收盘价。定点文字DRAWTEXT_FIX固定位置显示文字.DRAWTEXT_FIX(COND,X,Y,TYPE,TEXT),当COND条件满足时,在当前指标窗口内(X,Y)位置书写文字TEXT,X,Y为书写点在窗口中相对于左上角的百分比,TYPE:0为左对齐,1为右对齐。例如:DRAWTEXT_FIX(CURRBARSCOUNT=1 AND CLOSE/OPEN>1.08,0.5,0.5,0,'大阳线')表示最后一个交易日涨幅大于8%时在窗口中间位置显示'大阳线'字样。例如:DRAWTEXT_FIX(ISLASTBAR,0,0,0,STRCAT(Z3,GNBLOCK)),COLOR00C0C0;DRAWTEXT(ISLASTBAR,LOW ,DYBLOCK);在最后一个交易日的最高价位置打印所属地域板块 所属地域 NAMELIKE INBLOCK DYBLOCK 返回股票所属行业.DRAWTEXT(ISLASTBAR,HIGH,HYBLOCK);在最后一个交易日的最高价位置打印所属行业板块所属行业ISLASTBAR 判断是否为最后一个周期DYBLOCK 地域板块GNBLOCK 概念板块HYBLOCK 行业板块字符串相加STRCAT(A,B):将两个字符串A,B相加成一个字符串C.例如:STRCAT('多头','开仓'):将两个字符串'多头','开仓'相加成一个字符串'多头开仓'通达信的绘图参数:
空线条 NODRAW 不画该线无效数 DRAWNULL 不画线虚线 DOTLINE 画虚线小圆点线 POINTDOT 画小圆点线小圆圈线 CIRCLEDOT 画小圆圈线小叉线 CROSSDOT 画小叉线柱状线 STICK 画柱状线成交量柱状线 VOLSTICK ,画成交量柱状线当股价上涨时显示红色空心柱,则显示绿色实心柱彩色柱状线 COLORSTICK 画彩色柱状线指标柱状线 LINESTICK 同时画出柱状线和指标线线型粗细 LINETHICK格式“LINETHICK+(1-9)”;参数的取值范围在1—9之间,“LINETHICK1”表示最细的线,而“LINETHICK9”表示最粗的线;各种颜色表示:画白色 白色 COLORWHITE画黄色 黄色 COLORYELLOW画淡洋红色 淡洋红色 COLORLIMAGENTA画淡红色 淡红色 COLORLIRED画淡青色 淡青色 COLORLICYAN画淡绿色 淡绿色 COLORLIGREEN画淡蓝色 淡蓝色 COLORLIBLUE画深灰色 深灰色 COLORGRAY画淡灰色 淡灰色 COLORLIGRAY画棕色 棕色 COLORBROWN画洋红色 洋红色 COLORMAGENTA画红色 红色 COLORRED画青色 青色 COLORCYAN画绿色 绿色 COLORGREEN画蓝色 蓝色 COLORBLUE画黑色 黑色 COLORBLACK自定义色格式为COLOR+“BBGGRR”:BB、GG、RR表示蓝色、绿色和红色的分量,每种颜色的取值范围是00-FF,采用了16进制。粉红colorf00ff0、草绿color00ff00、淡蓝colorf0f000、紫色colorff0099、金黄色color008364、紫红color000999、综色color0055ff、深黄色color00cccc、紫罗蓝colore66878、天蓝色colorff937f 深草绿color399c7f例如:MA5:MA(CLOSE,5),COLOR00FFFF表示纯红色与纯绿色的混合色:COLOR808000表示淡蓝色和淡绿色的混合色。通达信公式7:教程之绘图函数http://blog.sina.com.cn/s/blog_52e4d0230102dzrf.html通达信绘图函数传统行情绘图函数--------------------------------------------------------------------------------(1)、画图标DRAWICON绘制图标在图形上绘制小图标。用法:DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE号图标。例如:DRAWICON(CLOSE>OPEN,LOW,1)表示当收阳时在最低价位置画1号图标。图标一共有九个,图形如附图。传统图标有九个,现在新增到27个,图标各有其序号。--------------------------------------------------------------------------------(2)、显示文字DRAWTEXT显示文字在图形上显示文字。用法:DRAWTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置书写文字TEXT。例如:DRAWTEXT(CLOSE/OPEN>1.08,LOW,'大阳线')表示当日涨幅大于8%时在最低价位置显示'大阳线'字样。--------------------------------------------------------------------------------(3)、画柱线STICKLINE在图形上绘制柱线.用法:STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,在PRICE1和PRICE2位置之间画柱状线,宽度为WIDTH(10为标准间距),EMPTH不为0则画空心柱。例如:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,0.8,1)表示画K线中阳线的空心柱体部分。--------------------------------------------------------------------------------(4)、画K线DRAWKLINE 绘制K线用法:DRAWKLINE(HIGH,OPEN,LOW,CLOSE).以HIGH为最高价,OPEN为开盘价,LOW为最低,CLOSE收盘画K线。--------------------------------------------------------------------------------(5)、画直线段DRAWLINE在图形上绘制直线段.用法:DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND)当COND1条件满足时,在PRICE1位置画直线起点,当COND2条件满足时,在PRICE2位置画直线终点,EXPAND为延长类型。例如:DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,LOW<=LLV(LOW,20),LOW,1)表示在创20天新高与创20天新低之间画直线并且向右延长。--------------------------------------------------------------------------------(6)、画折线段PLOYLINE在图形上绘制折线段。用法:PLOYLINE(COND,PRICE),当COND条件满足时,以PRICE位置为顶点画折线连接。例如: PLOYLINE(HIGH>=HHV(HIGH,20),HIGH)表示在创20天新高点之间画折线。新增绘图函数--------------------------------------------------------------------------------画带状线DRAWBAND画出带状线.DRAWBAND(VAL1,COLOR1,VAL2,COLOR2),当VAL1>VAL2时,在VAL1和VAL2之间填充COLOR1;当VAL1例如:DRAWBAND(OPEN,RGB(0,224,224),CLOSE,RGB(255,96,96));--------------------------------------------------------------------------------自定色RGB 将自定颜色作为数值输出.RGB(Red,Green,Blue),输出为0XBBGGRR,参数使用十进制数,范围为0至255,以最近一个周期数值为准。例如:RGB(0,0,255)输出结果为16进制的0XFF0000。--------------------------------------------------------------------------------画数字DRAWNUMBER画出数字.DRAWNUMBER(COND,PRICE,NUMBER),当COND条件满足时,在PRICE位置书写数字NUMBER。例如:DRAWNUMBER(CLOSE/OPEN>1.08,LOW,C)表示当日涨幅大于8%时在最低价位置显示收盘价。--------------------------------------------------------------------------------画定点数字DRAWNUMBER_FIX固定位置显示数字.DRAWNUMBER_FIX(COND,X,Y,TYPE,NUMBER),当COND条件满足时,在当前指标窗口内(X,Y)位置书写数字NUMBER,X,Y为书写点在窗口中相对于左上角的百分比,TYPE:0为左对齐,1为右对齐。例如:DRAWNUMBER_FIX(CURRBARSCOUNT=1 AND CLOSE/OPEN>1.08,0.5,0.5,0,C)表示最后一个交易日涨幅大于8%时在窗口中间位置显示收盘价。--------------------------------------------------------------------------------定点文字DRAWTEXT_FIX固定位置显示文字.DRAWTEXT_FIX(COND,X,Y,TYPE,TEXT),当COND条件满足时,在当前指标窗口内(X,Y)位置书写文字TEXT,X,Y为书写点在窗口中相对于左上角的百分比,TYPE:0为左对齐,1为右对齐。例如:DRAWTEXT_FIX(CURRBARSCOUNT=1 AND CLOSE/OPEN>1.08,0.5,0.5,0,'大阳线')表示最后一个交易日涨幅大于8%时在窗口中间位置显示'大阳线'字样。例如:DRAWTEXT_FIX(ISLASTBAR,0,0,0,STRCAT(Z3,GNBLOCK)),COLOR00C0C0;DRAWTEXT_FIX 正文显示DRAWTEXT_FIX(1,0.7,0.1,0,'★★徐兵博客欢迎你★★'),COLORFFFFFF;翻译过来就是当满足条件1时,在横轴0.7纵轴0.1位置书写文字,COLORFFFFFF
--------------------------------------------------------------------------------DRAWTEXT(ISLASTBAR,LOW ,DYBLOCK);在最后一个交易日的最高价位置打印所属地域板块 所属地域 NAMELIKE INBLOCK DYBLOCK 返回股票所属行业.--------------------------------------------------------------------------------DRAWTEXT(ISLASTBAR,HIGH,HYBLOCK);在最后一个交易日的最高价位置打印所属行业板块所属行业ISLASTBAR 判断是否为最后一个周期DYBLOCK 地域板块GNBLOCK 概念板块HYBLOCK 行业板块--------------------------------------------------------------------------------字符串相加STRCAT(A,B):将两个字符串A,B相加成一个字符串C.例如:STRCAT('多头','开仓'):将两个字符串'多头','开仓'相加成一个字符串'多头开仓'--------------------------------------------------------------------------------通达信的绘图参数:--------------------------------------------------------------------------------空线条 NODRAW 不画该线无效数 DRAWNULL 不画线虚线 DOTLINE 画虚线小圆点线 POINTDOT 画小圆点线小圆圈线 CIRCLEDOT 画小圆圈线。:JC1:=(REF(C,3)+REF(C,5)+REF(C,7)+REF(C,8)+REF(C,13)+REF(C,21))/6;参考价1:SMA(JC1,5,1),CIRCLEDOT,COLORGREEN;IF(C>=参考价1,参考价1,DRAWNULL),CIRCLEDOT,COLOR0000FF;小叉线 CROSSDOT 画小叉线柱状线 STICK 画柱状线成交量柱状线 VOLSTICK ,画成交量柱状线当股价上涨时显示红色空心柱,则显示绿色实心柱彩色柱状线 COLORSTICK 画彩色柱状线指标柱状线 LINESTICK 同时画出柱状线和指标线线型粗细 LINETHICK格式“LINETHICK+(1-9)”;参数的取值范围在1—9之间,“LINETHICK1”表示最细的线,而“LINETHICK9”表示最粗的线;(十三)财务函数1)FINANCE(1) 总股本(股)2)FINANCE(2) 国家股3)FINANCE(3) 发起人法人股4)FINANCE(4) 法人股5)FINANCE(5) B股6)FINANCE(6) H股7)FINANCE(7) 流通股本8)CAPITAL 当前流通股本 小盘:=CAPITAL<1000000*5;{<5亿} 9)FINANCE(10) 总资产10)FINANCE(11) 流动资产11)FINANCE(12) 固定资产12)FINANCE(13) 无形资产13)FINANCE(14) 长期投资14)FINANCE(15) 流动负债15)FINANCE(16) 长期负债16)FINANCE(17) 资本公积金17)FINANCE(18) 每股公积金18)FINANCE(19) 股东权益19)FINANCE(20) 主营收入20)FINANCE(21) 主营利益21)FINANCE(22) 其它利益22)FINANCE(23) 营业利益23)FINANCE(24) 投资收益24)FINANCE(25) 经营现金流量25)FINANCE(26) 总现金流量26)FINANCE(27) 存货27)FINANCE(28) 利益总额28)FINANCE(29) 税后利益29)FINANCE(30) 净利益30)FINANCE(31) 未分配利益31)FINANCE(32) 每股未分配利润32)FINANCE(33) 每股收益(折算为年收益)33)FINANCE(34) 每股净资产34)FINANCE(35) 季报中调整后的每股净资产35)FINANCE(36) 股东权益比36)FINANCE(37) 第几季度报告,比如1,2,3,437)FINANCE(40) 流通市值38)FINANCE(41) 总市值39)FINANCE(42) 上市日期或:FINANCE(42)/100,NODRAW; 40)FINANCE(60) 行权比例(权证)41)FINANCE(61) 行权价(权证)42)FINANCE(62) 杠杆比例(权证)(十四)即时行情函数1)DYNAINFO(3) 前收盘价2)DYNAINFO(4) 今开3)DYNAINFO(5) 最高4)DYNAINFO(6) 最低5)DYNAINFO(7) 现价6)DYNAINFO(8) 总手7)DYNAINFO(9) 现手8)DYNAINFO(10) 总成交金额9)DYNAINFO(11) 均价10)DYNAINFO(12) 日涨跌11)DYNAINFO(13) 振幅度12)DYNAINFO(14) 涨幅度13)DYNAINFO(17) 量比14)DYNAINFO(20) 最新叫买价(买一价)15)DYNAINFO(21) 最新叫卖价(卖一价)16)DYNAINFO(22) 内盘17)DYNAINFO(23) 外盘18)DYNAINFO(37) 换手率19)DYNAINFO(39) 市盈率20)DYNAINFO(40) 成交方向21)DYNAINFO(50) 采样点数22)DYNAINFO(51) 内外比23)DYNAINFO(52) 多空平衡24)DYNAINFO(53) 多头获利25)DYNAINFO(54) 空头回补26)DYNAINFO(55) 多头止损27)DYNAINFO(56) 空头止损28)DYNAINFO(57) 笔涨跌29)DYNAINFO(58) 最新叫买量 (买一量)即时行情数据30)DYNAINFO(59) 最新叫卖量 (买一量)即时行情数据通达信、大智慧、同花顺等经典指标集合净资:=FINANCE(34),NODRAW;收益:=FINANCE(33),NODRAW;季净资:=FINANCE(35),NODRAW;市净率:CLOSE/FINANCE(34),COLORYELLOW;最高:HHV(市净率,CON2STR(FINANCE(42),0)),COLORMAGENTA;最低:LLV(市净率,CON2STR(FINANCE(42),0)),COLORGREEN;平均净率:(最高+最低)/2,COLORLIGRAY;中估值:CLOSE+净资*(平均净率-最低),NODRAW;长估值:CLOSE+净资*(最高-最低),NODRAW;分估值:CLOSE+净资*(MA(HHV(市净率,60),20)-MA(LLV(市净率,60),20)),NODRAW;IF(市净率=最低,市净率,DRAWNULL),CIRCLEDOT,COLORLIMAGENTA,LINETHICK2;换手率:VOL/CAPITAL*100,NODRAW,COLORFFFF00;量:VOL,VOLSTICK,COLORFFFF00;盘=亿:FINANCE(7)/100000000,LINETHICK0,COLORWHITE;每股收益:FINANCE(33),LINETHICK0,COLORYELLOW;公积金:FINANCE(18),LINETHICK0,COLORWHITE;市盈率:DYNAINFO(39),LINETHICK0,COLORWHITE;(十五)交易函数198)+ 加,X + Y199)- 减,X - Y200)* 乘,X * Y201)/ 除,X / Y202)< 小于,X < Y203)> 大于,X > Y204)<= 小于等于,X <= Y205)>= 大于等于,X >= Y206)= 等于,X = Y207)!= 不等于,X != Y208){ 注释符号,例如 {注释部分}209)AND 并且,X>Y AND Y>Z210)OR 或者,X>Y OR Y>Z211)&& 并且,与AND的用法一样212)|| 或者,与OR的用法一致213)$ 修饰符号,例如:'000014$CLOSE',注意加入双引号214)( 括号,HIGH/(CLOSE+OPEN)215)) 反括号,HIGH/(CLOSE+OPEN)216), 逗号,MA(Close,3)217): 输出,输出:CLOSE+OPEN218):= 赋值,变量1:=HIGH219)' 引号,'000014$OPEN'220). 点号,KDJ.K221); 分号,A:=CLOSE;222)# 变周期符号,TMP1:=CLOSE#WEEK(十六)线形和颜色1)COLOR 自定义色格式为COLOR+“RRGGBB”:RR、GG、BB表示红蓝色、绿色和蓝色的分量,每种颜色的取值范围是00-FF,采用了16进制)例如:MA5:MA(CLOSE,5),COLOR00FFFF表示纯红色与纯绿色的混合色:COLOR808000表示淡蓝色和淡绿色的混合色)2)COLORBLACK 黑色画黑色3)COLORBLUE 蓝色画蓝色4)COLORGREEN 绿色画绿色5)COLORCYAN 青色画青色6)COLORRED 红色画红色7)COLORMAGENTA 洋红色画洋红色8)COLORBROWN 棕色画棕色9)COLORLIGRAY 淡灰色画淡灰色10)COLORGRAY 深灰色画深灰色11)COLORLIBLUE 淡蓝色画淡蓝色12)COLORLIGREEN 淡绿色画淡绿色13)COLORLICYAN 淡青色画淡青色14)COLORLIRED 淡红色画淡红色15)COLORLIMAGENTA 淡洋红色画淡洋红色16)COLORYELLOW 黄色画黄色17)COLORWHITE 白色画白色18)LINETHICK 线型粗细,格式“LINETHICK+(1-9)”;参数的取值范围在1—9之间,“LINETHICK1”表示最细的线,而“LINETHICK9”表示最粗的线;19)STICK 柱状线画柱状线20)COLORSTICK 彩色柱状线画彩色柱状线21)VOLSTICK 彩色柱状线成交量柱状线,当股价上涨时显示红色空心柱,则显示绿色实心柱22)LINESTICK 同时画出柱状线和指标线23)CROSSDOT 小叉线画小叉线24)CIRCLEDOT 小圆圈线画小圆圈线 例JC1:=(REF(C,3)+REF(C,5)+REF(C,7)+REF(C,8)+REF(C,13)+REF(C,21))/6;参考价1:SMA(JC1,5,1),CIRCLEDOT,COLORGREEN;IF(C>=参考价1,参考价1,DRAWNULL),CIRCLEDOT,COLOR0000FF;
25)POINTDOT 小圆点线画小圆点线26)DOTLINE画虚线27)NODRAW 空线条(不画该线)红色colorred、灰色colorgray、绿色colorgreen、黄色coloryellow、蓝色colorblue、白色colorwhite粉红colorf00ff0、草绿color00ff00、淡蓝colorf0f000、紫色colorff0099、金黄色color008364、紫红color000999、综色color0055ff、深黄色color00cccc、紫罗蓝colore66878、天蓝色colorff937f 深草绿color399c7f实际上只要在color后面加上0-9、A-F中任6个数字字母组成,如要其它颜色通达信常用指标颜色代码:1 白色 ColorFFFFFF 或 ColorWhite2 红色 ColorFF0000 或 COLORRED3 绿色 Color00FF00 或 ColorGreen4 蓝色 Color0000FF 或 ColorBlue5 牡丹红 ColorFF00FF6 青色 Color00FFFF7 黄色 ColorFFFF00 或 ColorYellow8 黑色 Color000000 或 ColorBlack9 海蓝 Color70DB9310 巧克力色 Color5C331711 蓝紫色 Color9F5F9F12 黄铜色 ColorB5A64213 亮金色 ColorD9D91914 棕色 ColorA67D3D15 青铜色 Color8C785316 2号青铜色 ColorA67D3D17 士官服蓝色 Color5F9F9F18 冷铜色 ColorD9871919 铜色 ColorB8733320 珊瑚红 ColorFF7F0021 紫蓝色 Color42426F22 深棕 Color5C403323 深绿 Color2F4F2F24 深铜绿色 Color4A766E25 深橄榄绿 Color4F4F2F26 深兰花色 Color9932CD27 深紫色 Color871F7828 深石板蓝 Color6B238E29 深铅灰色 Color2F4F4F30 深棕褐色 Color97694F32 深绿松石色 Color7093DB33 暗木色 Color855E4234 淡灰色 Color54545435 土灰玫瑰红色 Color54545436 长石色 ColorD1927537 火砖色 Color8E232338 森林绿 Color238E2339 金色 ColorCD7F3240 鲜黄色 ColorDBDB7041 灰色 ColorC0C0C042 铜绿色 Color527F7643 青黄色 Color93DB7044 猎人绿 Color215E2145 印度红 Color4E2F2F46 土黄色 Color9F9F5F47 浅蓝色 ColorC0D9D948 浅灰色 ColorA8A8A849 浅钢蓝色 Color8F8FBD59 浅木色 ColorE9C2A660 石灰绿色 Color32CD3261 桔黄色 ColorE4783362 褐红色 Color8E236B63 中海蓝色 Color32CD9964 中蓝色 Color3232CD65 中森林绿 Color6B8E2366 中鲜黄色 ColorEAEAAE67 中兰花色 Color9370DB68 中海绿色 Color426F4269 中石板蓝色 Color7F00FF70 中春绿色 Color7FFF0071 中绿松石色 Color70DBDB72 中紫红色 ColorDB709373 中木色 ColorA6806474 深藏青色 Color2F2F4F75 海军蓝 Color23238E76 霓虹篮 Color4D4DFF77 霓虹粉红 ColorFF6EC778 新深藏青色 Color00009C79 新棕褐色 ColorEBC79E80 暗金黄色 ColorCFB53B81 橙色 ColorFF7F0082 橙红色 ColorFF240083 淡紫色 ColorDB70DB84 浅绿色 Color8FBC8F85 粉红色 ColorBC8F8F86 李子色 ColorEAADEA87 石英色 ColorD9D9F388 艳蓝色 Color5959AB89 鲑鱼色 Color6F424290 猩红色 ColorBC171791 海绿色 Color238E6892 半甜巧克力色 Color6B422693 赭色 Color8E6B2394 银色 ColorE6E8FA95 天蓝 Color3299CC96 石板蓝 Color007FFF97 艳粉红色 ColorFF1CAE98 春绿色 Color00FF7F99 钢蓝色 Color236B8E100 亮天蓝色 Color38B0DE101 棕褐色 ColorDB9370102 紫红色 ColorD8BFD8103 石板蓝色 ColorADEAEA104 浓深棕色 Color5C4033105 淡浅灰色 ColorCDCDCD106 紫罗兰色 Color4F2F4F107 紫罗兰红色 ColorCC3299108 麦黄色 ColorD8D8BF109 黄绿色 Color99CC32通达信的指标公式中使用的图形符号及代表各图符的代码表。COLORSTICK 画彩色柱线VOLUMESTICK 画成交量线BAMBOOLINE 画竹线CIRCLEDOT 画圆OPISTICK 画持仓量柱线RGB(R,G,B) 自定义颜色函数。R,G,B的数值范围都在0~255之间。例:RGB(225,225,225)表示白色PARAM[参数名称,最小值,最大值,缺省值] 在源码中定义参数。例:PARAM[N,1,100,12]MAN:MA(CLOSE,N);表示参数为N,最小值为1,最大值为100,缺省值为12.注意:在公式内即使你定义了某种颜色,在显示的时候也未必是此种颜色,取决于背景颜色当前页面里是否保了该指标的颜色及您是否在显示的时候改变了该指标的颜色设置。在K线图形上绘制小图标:用法:DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE号图标(TYPE为1--27)。例如:DRAWICON(CLOSE>OPEN,LOW,1)表示当收阳时在最低价位置画1号图标。
{通达信图标Ⅰ}STICKLINE(C=C,1,10,30,0),COLORBLACK; STICKLINE 画出柱状线在图形上绘制柱线。TS:=CURRBARSCOUNT;DRAWTEXT(C=C AND TS=1, 4,'1'),COLORYELLOW; DRAWTEXT 文字DRAWICON(C=C AND TS=1, 8,1); DRAWICON 图标DRAWTEXT(C=C AND TS=2, 4,'2'),COLORYELLOW;DRAWICON(C=C AND TS=2, 8,2);{通达信图标Ⅰ}STICKLINE(C=C,1,10,30,0),COLORBLACK;TS:=CURRBARSCOUNT;DRAWTEXT(C=C AND TS=1, 4,'1'),COLORYELLOW;DRAWICON(C=C AND TS=1, 8,1);DRAWTEXT(C=C AND TS=2, 4,'2'),COLORYELLOW;DRAWICON(C=C AND TS=2, 8,2);DRAWTEXT(C=C AND TS=3, 4,'3'),COLORYELLOW;DRAWICON(C=C AND TS=3, 8,3);DRAWTEXT(C=C AND TS=4, 4,'4'),COLORYELLOW;DRAWICON(C=C AND TS=4, 8,4);DRAWTEXT(C=C AND TS=5, 4,'5'),COLORYELLOW;DRAWICON(C=C AND TS=5, 8,5);DRAWTEXT(C=C AND TS=6, 4,'6'),COLORYELLOW;DRAWICON(C=C AND TS=6, 8,6);DRAWTEXT(C=C AND TS=7, 4,'7'),COLORYELLOW;DRAWICON(C=C AND TS=7, 8,7);DRAWTEXT(C=C AND TS=8, 4,'8'),COLORYELLOW;DRAWICON(C=C AND TS=8, 8,8);DRAWTEXT(C=C AND TS=9, 4,'9'),COLORYELLOW;DRAWICON(C=C AND TS=9, 8,9);DRAWTEXT(C=C AND TS=10, 4,'10'),COLORYELLOW;DRAWICON(C=C AND TS=10, 8,10);DRAWTEXT(C=C AND TS=11, 4,'11'),COLORYELLOW;DRAWICON(C=C AND TS=11, 8,11);DRAWTEXT(C=C AND TS=12, 4,'12'),COLORYELLOW;DRAWICON(C=C AND TS=12, 8,12);DRAWTEXT(C=C AND TS=13, 4,'13'),COLORYELLOW;DRAWICON(C=C AND TS=13, 8,13);DRAWTEXT(C=C AND TS=14, 4,'14'),COLORYELLOW;DRAWICON(C=C AND TS=14, 8,14);DRAWTEXT(C=C AND TS=15, 4,'15'),COLORYELLOW;DRAWICON(C=C AND TS=15, 8,15);DRAWTEXT(C=C AND TS=16, 4,'16'),COLORYELLOW;DRAWICON(C=C AND TS=16, 8,16);DRAWTEXT(C=C AND TS=17, 4,'17'),COLORYELLOW;DRAWICON(C=C AND TS=17, 8,17);DRAWTEXT(C=C AND TS=18, 4,'18'),COLORYELLOW;DRAWICON(C=C AND TS=18, 8,18);DRAWTEXT(C=C AND TS=19, 4,'19'),COLORYELLOW;DRAWICON(C=C AND TS=19, 8,19);DRAWTEXT(C=C AND TS=20, 4,'20'),COLORYELLOW;DRAWICON(C=C AND TS=20, 8,20);DRAWTEXT(C=C AND TS=21, 4,'21'),COLORYELLOW;DRAWICON(C=C AND TS=21, 8,21);DRAWTEXT(C=C AND TS=22, 4,'22'),COLORYELLOW;DRAWICON(C=C AND TS=22, 8,22);DRAWTEXT(C=C AND TS=23, 4,'23'),COLORYELLOW;DRAWICON(C=C AND TS=23, 8,23);DRAWTEXT(C=C AND TS=24, 4,'24'),COLORYELLOW;DRAWICON(C=C AND TS=24, 8,24);{通达信图标Ⅱ}STICKLINE(C=C,1,10,30,0),COLORBLACK;TS:=CURRBARSCOUNT;DRAWTEXT(C=C AND TS=1, 4,'25'),COLORYELLOW;DRAWICON(C=C AND TS=1, 8,25);DRAWTEXT(C=C AND TS=2, 4,'26'),COLORYELLOW;DRAWICON(C=C AND TS=2, 8,26);DRAWTEXT(C=C AND TS=3, 4,'27'),COLORYELLOW;DRAWICON(C=C AND TS=3, 8,27);DRAWTEXT(C=C AND TS=4, 4,'28'),COLORYELLOW;DRAWICON(C=C AND TS=4, 8,28);DRAWTEXT(C=C AND TS=5, 4,'29'),COLORYELLOW;DRAWICON(C=C AND TS=5, 8,29);DRAWTEXT(C=C AND TS=6, 4,'30'),COLORYELLOW;DRAWICON(C=C AND TS=6, 8,30);DRAWTEXT(C=C AND TS=7, 4,'31'),COLORYELLOW;DRAWICON(C=C AND TS=7, 8,31);DRAWTEXT(C=C AND TS=8, 4,'32'),COLORYELLOW;DRAWICON(C=C AND TS=8, 8,32);DRAWTEXT(C=C AND TS=9, 4,'33'),COLORYELLOW;DRAWICON(C=C AND TS=9, 8,33);DRAWTEXT(C=C AND TS=10, 4,'34'),COLORYELLOW;DRAWICON(C=C AND TS=10, 8,34);DRAWTEXT(C=C AND TS=11, 4,'35'),COLORYELLOW;DRAWICON(C=C AND TS=11, 8,35);DRAWTEXT(C=C AND TS=12, 4,'36'),COLORYELLOW;DRAWICON(C=C AND TS=12, 8,36);DRAWTEXT(C=C AND TS=13, 4,'37'),COLORYELLOW;DRAWICON(C=C AND TS=13, 8,37);DRAWTEXT(C=C AND TS=14, 4,'38'),COLORYELLOW;DRAWICON(C=C AND TS=14, 8,38);DRAWTEXT(C=C AND TS=15, 4,'39'),COLORYELLOW;DRAWICON(C=C AND TS=15, 8,39);DRAWTEXT(C=C AND TS=16, 4,'40'),COLORYELLOW;DRAWICON(C=C AND TS=16, 8,40);DRAWTEXT(C=C AND TS=17, 4,'41'),COLORYELLOW;DRAWICON(C=C AND TS=17, 8,41);DRAWTEXT(C=C AND TS=18, 4,'42'),COLORYELLOW;DRAWICON(C=C AND TS=18, 8,42);DRAWTEXT(C=C AND TS=19, 4,'43'),COLORYELLOW;DRAWICON(C=C AND TS=19, 8,43);{调色板Ⅰ}STICKLINE(C=C,0,11,30,0),COLORBLACK;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 1,' COLOR5C3317 ■'),COLOR5C3317;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 2,' COLOR9F5F9F ■'),COLOR9F5F9F;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 3,' COLORB5A642 ■'),COLORB5A642;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 4,' COLORD9D919 ■'),COLORD9D919;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 5,' COLORA67D3D ■'),COLORA67D3D;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 6,' COLOR8C7853 ■'),COLOR8C7853;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 7,' COLORA67D3D ■'),COLORA67D3D;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 8,' COLOR5F9F9F ■'),COLOR5F9F9F;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 9,' COLORD98719 ■'),COLORD98719;DRAWTEXT(C=C AND CURRBARSCOUNT=10,10,' COLORB87333 ■'),COLORB87333;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 1,' COLOR38B0DE ■'),COLOR38B0DE;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 2,' COLORDB9370 ■'),COLORDB9370;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 3,' COLORD8BFD8 ■'),COLORD8BFD8;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 4,' COLORADEAEA ■'),COLORADEAEA;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 5,' COLOR5C4033 ■'),COLOR5C4033;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 6,' COLORCDCDCD ■'),COLORCDCDCD;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 7,' COLOR4F2F4F ■'),COLOR4F2F4F;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 8,' COLORCC3299 ■'),COLORCC3299;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 9,' COLORD8D8BF ■'),COLORD8D8BF;DRAWTEXT(C=C AND CURRBARSCOUNT=20,10,' COLOR99CC32 ■'),COLOR99CC32;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 1,' COLORFF7F00 ■'),COLORFF7F00;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 2,' COLOR42426F ■'),COLOR42426F;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 3,' COLOR5C4033 ■'),COLOR5C4033;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 4,' COLOR2F4F2F ■'),COLOR2F4F2F;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 5,' COLOR4A766E ■'),COLOR4A766E;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 6,' COLOR4F4F2F ■'),COLOR4F4F2F;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 7,' COLOR9932CD ■'),COLOR9932CD;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 8,' COLOR871F78 ■'),COLOR871F78;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 9,' COLOR6B238E ■'),COLOR6B238E;DRAWTEXT(C=C AND CURRBARSCOUNT=30,10,' COLOR2F4F4F ■'),COLOR2F4F4F;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 1,' COLOR97694F ■'),COLOR97694F;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 2,' COLOR7093DB ■'),COLOR7093DB;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 3,' COLOR7093DB ■'),COLOR7093DB;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 4,' COLOR855E42 ■'),COLOR855E42;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 5,' COLOR545454 ■'),COLOR545454;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 6,' COLOR545454 ■'),COLOR545454;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 7,' COLORD19275 ■'),COLORD19275;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 8,' COLOR8E2323 ■'),COLOR8E2323;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 9,' COLOR238E23 ■'),COLOR238E23;DRAWTEXT(C=C AND CURRBARSCOUNT=40,10,' COLORCD7F32 ■'),COLORCD7F32;DRAWTEXT(C=C AND CURRBARSCOUNT=50, 1,' COLORDBDB70 ■'),COLORDBDB70;DRAWTEXT(C=C AND CURRBARSCOUNT=50, 2,' COLORC0C0C0 ■'),COLORC0C0C0;DRAWTEXT(C=C AND CURRBARSCOUNT=50, 3,' COLOR527F76 ■'),COLOR527F76;DRAWTEXT(C=C AND CURRBARSCOUNT=50, 4,' COLOR93DB70 ■'),COLOR93DB70;DRAWTEXT(C=C AND CURRBARSCOUNT=50, 5,' COLOR215E21 ■'),COLOR215E21;DRAWTEXT(C=C AND CURRBARSCOUNT=50, 6,' COLOR4E2F2F ■'),COLOR4E2F2F;DRAWTEXT(C=C AND CURRBARSCOUNT=50, 7,' COLOR9F9F5F ■'),COLOR9F9F5F;DRAWTEXT(C=C AND CURRBARSCOUNT=50, 8,' COLORC0D9D9 ■'),COLORC0D9D9;DRAWTEXT(C=C AND CURRBARSCOUNT=50, 9,' COLORA8A8A8 ■'),COLORA8A8A8;{调色板Ⅱ}STICKLINE(C=C,0,11,30,0),COLORBLACK;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 1,' COLOR32CD32 ■'),COLOR32CD32;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 2,' COLORE47833 ■'),COLORE47833;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 3,' COLOR8E236B ■'),COLOR8E236B;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 4,' COLOR32CD99 ■'),COLOR32CD99;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 5,' COLOR3232CD ■'),COLOR3232CD;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 6,' COLOR6B8E23 ■'),COLOR6B8E23;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 7,' COLOREAEAAE ■'),COLOREAEAAE;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 8,' COLOR9370DB ■'),COLOR9370DB;DRAWTEXT(C=C AND CURRBARSCOUNT=10, 9,' COLOR426F42 ■'),COLOR426F42;DRAWTEXT(C=C AND CURRBARSCOUNT=10,10,' COLOR7F00FF ■'),COLOR7F00FF;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 1,' COLOR7FFF00 ■'),COLOR7FFF00;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 2,' COLOR70DBDB ■'),COLOR70DBDB;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 3,' COLORDB7093 ■'),COLORDB7093;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 4,' COLORA68064 ■'),COLORA68064;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 5,' COLOR2F2F4F ■'),COLOR2F2F4F;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 6,' COLOR23238E ■'),COLOR23238E;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 7,' COLOR4D4DFF ■'),COLOR4D4DFF;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 8,' COLORFF6EC7 ■'),COLORFF6EC7;DRAWTEXT(C=C AND CURRBARSCOUNT=20, 9,' COLOR00009C ■'),COLOR00009C;DRAWTEXT(C=C AND CURRBARSCOUNT=20,10,' COLOREBC79E ■'),COLOREBC79E;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 1,' COLORCFB53B ■'),COLORCFB53B;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 2,' COLORFF7F00 ■'),COLORFF7F00;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 3,' COLORFF2400 ■'),COLORFF2400;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 4,' COLORDB70DB ■'),COLORDB70DB;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 5,' COLOR8FBC8F ■'),COLOR8FBC8F;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 6,' COLORBC8F8F ■'),COLORBC8F8F;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 7,' COLOREAADEA ■'),COLOREAADEA;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 8,' COLORD9D9F3 ■'),COLORD9D9F3;DRAWTEXT(C=C AND CURRBARSCOUNT=30, 9,' COLOR5959AB ■'),COLOR5959AB;DRAWTEXT(C=C AND CURRBARSCOUNT=30,10,' COLOR6F4242 ■'),COLOR6F4242;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 1,' COLORBC1717 ■'),COLORBC1717;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 2,' COLOR238E68 ■'),COLOR238E68;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 3,' COLOR6B4226 ■'),COLOR6B4226;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 4,' COLOR8E6B23 ■'),COLOR8E6B23;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 5,' COLORE6E8FA ■'),COLORE6E8FA;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 6,' COLOR3299CC ■'),COLOR3299CC;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 7,' COLOR007FFF ■'),COLOR007FFF;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 8,' COLORFF1CAE ■'),COLORFF1CAE;DRAWTEXT(C=C AND CURRBARSCOUNT=40, 9,' COLOR00FF7F ■'),COLOR00FF7F;DRAWTEXT(C=C AND CURRBARSCOUNT=40,10,' COLOR236B8E ■'),COLOR236B8E;DRAWTEXT(C=C AND CURRBARSCOUNT=50,10,' COLOR8F8FBD ■'),COLOR8F8FBD;一穿三:=MA(C,5)>O AND MA(C,10)>O AND MA(C,20)>O AND MA(C,5)OPEN ;STICKLINE(一穿三,OPEN,二分位,1.7,0),COLOR9370DB;同花顺公式大智慧I公式分析家公式操盘手公式文华公式博易指标指南针指标其他股票公式公式编辑教程倚天财经指标宏汇公式MT4指标金字塔公式钱龙公式本类热门下载均线角度公式:MA1:=MA(CLOSE,5);MA2:=MA(CLOSE,10);MA3:=MA(CLOSE,20);MA4:=MA(CLOSE,30);MA5:=MA(CLOSE,60);MA6:=MA(CLOSE,120);均线5角度:ATAN((MA1/REF(MA1,1)-1)*100)*180/3.1416;均线10角度:ATAN((MA2/REF(MA2,1)-1)*100)*180/3.1416;均线20角度:ATAN((MA3/REF(MA3,1)-1)*100)*180/3.1416;均线30角度:ATAN((MA4/REF(MA4,1)-1)*100)*180/3.1416;均线60角度:ATAN((MA5/REF(MA5,1)-1)*100)*180/3.1416;均线120角度:ATAN((MA6/REF(MA6,1)-1)*100)*180/3.1416;斜率>25度的MA5天均线M:2 60 25MA1:=MA(CLOSE,5);J:=ATAN((MA1/REF(MA1,1)-1)*100)*180/3.1416;角度一:=ATAN(100*(J/REF(J,1)-1))*180/3.1416;B1:=MA1>REF(MA1,1) AND REF(MA1,1)>REF(MA1,2);B2:=CROSS(MA(CLOSE,3),MA(CLOSE,8));(均线金叉,可略去)B3:=C>=REF(C,1);(今日收盘价大于昨天,可略去)角度一>M AND B1;通达信如何调出交易系统买卖指示
http://dzy163vip.blog.163.com/通达信学习园地操作版面是指什么,首先看一下通达信软件自带的通达信看盘版面,如下图:(“最近定制版面”图标介绍请阅读《通达信常用工具条的功能及用法》)
在上图片中,就是一个操作版面,这个版面中的一些窗口都是依操作者的看盘习惯设计的。如果你不喜欢这些窗口栏则可依据你自己的需要来设计一个自己的操作版面。步骤如下:
怎样编写求每天均线斜率的公式?设A,B,R为三条曲线;N,M等为参数}[一.变化率]Fa:=A/ref(A,N)/N-1; Fb:=B/ref(B,N)/N-1; Fr:=R/ref(R,N)/N-1;[二.变动角]∮a:=atan(Fa); ∮b:=atan(Fb); ∮r:=atan(Fr);[三.斜率]Ka:=(A-ref(A,N))/N; Kb:=(B-ref(B,N))/N; Kr:=(R-ref(R,N))/N;[四.倾角]∠a:=atan(Ka); ∠b:=atan(Kb); ∠r:=atan(Kr);[五.交叉点]Cab:=cross(A,B);{交叉} Jab:=longcross(A,B,N);{维持 -交叉}JYa:=between(A,N,M);{介于} FWa:=range(A,N,M);{范围}[六.下拐点(由下向上转)]xD1:=llvbars(A,N)=M;{以N日最低点}xD2:=ref(count(A-ref(A,1)<=0,N)=N,M) and count(A-ref(A,1)>0,M)=M;{以当日变化量的正负}xD3:=ref(count(∠a-ref(∠a,1)<=0,N)=N,M) and ∠a>0;{以当日变化角的正负}[七.上拐点(由上向下转)]sD1:=hhvbars(A,N)=M;{以N日最高点}sD2:=ref(count(A-ref(A,1)>=0,N)=N,M) and count(A-ref(A,1)<0,M)=M;{以当日变化量的正负}sD3:=ref(count(∠a-ref(∠a,1)>=0,N)=N,M) and ∠a<0;{以当日变化角的正负}[八.位置(求得交叉点/拐点到当前的周期)]Wz1:=barslast(Cab);{第一(交叉)点的位置}Wz2:=ref(Wz1,Wz1+1)+Wz1+2;{第二(交叉)点的位置}Wz3:=ref(Wz1,Wz2+1)+Wz2+2;{第三(交叉)点的位置}Wz4:=ref(Wz1,Wz3+1)+Wz3+2;{第四(交叉)点的位置}Wz5:=ref(Wz1,Wz4+1)+Wz4+2;{第五(交叉)点的位置}{Wzn:=ref(Wz1,Wz(n-1)+1)+Wz(n-1)+2;}[九.曲线A叠加曲线B]F:=A/ref(A,1)-1;{A的变化率}js:=ref(B,barscount(c));{叠加位置(初始)}DJ:(sum(F,0)+1)*Js;{叠加曲线(初始位置)}Jd:=ref(B,barslast(条件));{叠加位置(定点)}Dj:=(sum(F,0)+1)*Jd;{叠加曲线(预定位置)}通达信软件中,哪些是含有未来的函数?一、什么是'未来函数' 所谓'未来函数',是指可能引用未来数据的函数,即引用或利用当时还没有发生的数据对之前发出的判断进行修正的函数。具体地说,含有未来数据指标的基本特征是买卖信号不确定,常常是某日发出了买入或卖出信号(线段的转折点与此同理),第二天如果继续下跌或上涨,则该信号消失,并在明天新的位置标示出来。二、含有未来函数公式的种类 (一)以之字转向为代表的ZIG类函数。我们最常见到和经常提到的多指此类。1、ZIG(K,N)之字转向。当价格变化量超过N%时转向。K表示 0:开盘价;1:最高价;2:最低价;3:收盘价 例如:ZIG(3,5)表示收盘价的5%的ZIG转向。2、PEAK(K,N,M)向前数前M个ZIG转向波峰值。(以下用法略。点击软件中相应的函数时,下面有提示或用法) 3、PEAKBARS(K,N,M)前M个ZIG转向波峰到当前距离。4、TROUGH(K,N,M)前M个ZIG转向波谷值。5、TROUGHBARS(K,N,M)前M个ZIG转向波谷到当前距离。6、FLATZIG、FLATZIGA、PEAKA、PEAKBARSA、TROUGHA、ZIGA等等都属于此类未来函数。(二)准未来函数。这部分函数存在引用未来数据的问题,但不如上述函数明显,有些目前争议较大。1、FFT(X,N)、傅立叶变换。对序列X进行傅立叶变换或变换处理后反变换。2、BACKSET(X,N)、向前赋值。若X非0,则将当前位置到N周期前的数值设为1。3、WINNER、LWINNER等获利盘比例类的和COST也有未来函数的性质,有时可使信号产生漂移。(三)、使用跨周期数据。这是一种最为隐弊的方法,它的危害性更大。例如在日线中引用本周周线或本月月线数据时,就会造成本周或本月股价上涨时则信号成功;如果股价下跌,则信号自动消失。用公式检测的办法测试不出来。我们经常见到的用KD月、周、日同时金叉进行选股,就属于此类,看起来成功率很高,实际是虚假的。(四)、指定买卖日期或买卖价格。一般多发生在交易系统里。比如指定最低价买入,最高价卖出,或指定涨跌幅度,这些在交易过程中是无法实现的,所以尽管测试成功率时非常高,其实没有任何实用价值。三、未来数据的检测方法 知道了未来函数的特征和种类,具备了认识公式中有无未来数据的基础,具体应用中如何识别呢,有以下方法: 1、公式中凡是用了ZIG之字转向类的函数和使用了跨周期数据(如上所述)均应视为使用了未来函数。2、看买卖信号是否确定。凡是已经出现的信号在新的一天或若干周期中存在漂移的,公式中存在未来函数。3、从指标图中鉴别。凡是买卖提示信号极为准确的(应看多张图),即没有失误的,肯定有未来函数。4、用股软鉴别。A、使用分析家软件的系统测试平台检测,是否含有未来数据系统会自动提醒。如果想亲自看看信号的稳定性和历史的变化过程,分析家的时空隧道可以令时光倒流让你回到从前,信号如何产生、如何消失一目了然。B、使用飞狐软件的,更为简单,在左侧《管理面板》中用右键单击公式的名称,在出现的下拉菜单中点击'公式检测'即可。此外还有一种方法是搞清公式的算法。对于源码公式,逐条分析后,是否含有未来数据的引用立刻便知。MA5:MA(C,5),COLORWHITE;MA10:MA(C,10),COLORCYAN;MA20:MA(C,20),COLORRED;MA40:MA(C,40),LINETHICK2,POINTDOT,COLORBLUE;MA60:MA(C,60),LINETHICK2,POINTDOT,COLORGREEN;搏弈K线:VAR2:=WINNER(OPEN)*100;VAR3:=WINNER(CLOSE)*100;VAR4:=WINNER(HIGH)*100;VAR5:=WINNER(LOW)*100;开:VAR2,LINETHICK0;高:VAR4,LINETHICK0;低:VAR5,LINETHICK0;收:VAR3,LINETHICK0;均线: EMA(VAR3,34),COLORCC9900,LINETHICK2;ER:=VOL/CAPITAL*100;VAR6:=IF((VAR3-VAR2)>=18 AND ER<=3,1,0);STICKLINE(VAR6>0,VAR2,VAR3,3,0),COLORMAGENTA;STICKLINE(VAR6=0,VAR2,VAR3,3,1),COLORRED;STICKLINE(VAR3STICKLINE(VAR3=VAR2,VAR2,VAR3,3,1),COLORWHITE;STICKLINE(VAR3=VAR2,VAR5,VAR4,0,0),COLORWHITE;STICKLINE(VAR3>VAR2,VAR3,VAR4,0,0),COLORRED;STICKLINE(VAR3>VAR2,VAR2,VAR5,0,0),COLORRED;STICKLINE(VAR3STICKLINE(VAR3换手率:ER,LINETHICK0;搏弈K线长:VAR3-VAR2,COLORMAGENTA,LINETHICK0;如何改变单根K线的颜色,其公式中的输出项是可以根据自己的需求来改变的,就是“A:=C/REF(C,1)>1.09;”这里自己可以修改成自己想要变色的K线形态,比如我想让今天成交量比昨天小一半以上的K线其在开盘价与收盘价之间变成黄色就可以这样修改,完整的公式如下:A:=REF(VOL,1)/VOL>2;STICKLINE(A,O,C,-1,0),COLORYELLOW;上一节讲了如何改变单根K线的颜色,其公式中的输出项是可以根据自己的需求来改变的,就是“A:=C/REF(C,1)>1.09;”这里自己可以修改成自己想要变色的K线形态,比如我想让今天成交量比昨天小一半以上的K线其在开盘价与收盘价之间变成黄色就可以这样修改,完整的公式如下:A:=REF(VOL,1)/VOL>2;STICKLINE(A,O,C,-1,0),COLORYELLOW;效果如下图
如果掌握了各种形态的K线或K线组合的编写方式,那就可以将想要变色的K线形态变成个人喜欢的颜色了,下面是一些基本的K线表达公式。十字星:CLOSE=OPEN&&HIGH>LOW;长十字:CLOSE=OPEN&&HIGH/LOW>1.03;光头阳线:HIGH=CLOSE&&HIGH>LOW;光脚阴线:LOW=CLOSE&&HIGH>LOW;垂死十字:CLOSE=OPEN&&CLOSE=LOW&&CLOSE锤头:HIGH=MAX(OPEN,CLOSE)&&HIGH-LOW>3*(HIGH-MIN(OPEN,CLOSE))&&CLOSE吊颈:HIGH=MAX(OPEN,CLOSE)&&HIGH-LOW>3*(HIGH-MIN(OPEN,CLOSE))&&CLOSE>MA(CLOSE,5);长下影:(MIN(CLOSE,OPEN)-LOW)/(HIGH-LOW)>0.667;长上影:(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW)>0.667,COLORBLUE;大阳烛:CLOSE/OPEN>1.05 AND HIGH/LOW < CLOSE/OPEN+0.018;大阴烛:OPEN/CLOSE > 1.05 AND HIGH/LOW < OPEN/CLOSE+0.018;早晨之星:(REF(CLOSE,2)/REF(OPEN,2)<0.95)&&(REF(OPEN,1) < REF(CLOSE,2))&&(ABS(REF(OPEN,1)-REF(CLOSE,1))/REF(CLOSE,1)<0.03)&&CLOSE/OPEN>1.05&&CLOSE>REF(CLOSE,2);黄昏之星:REF(CLOSE,2)/REF(OPEN,2)>1.05&&REF(OPEN,1)>REF(CLOSE,2)&&ABS(REF(OPEN,1)REF(CLOSE,1))/REF(CLOSE,1)<0.03&&CLOSE/OPEN<0.95&&CLOSE平底:BACKSET((ABS(LOW-REF(LOW,1))/LOW<0.001 AND ABS(REF(LOW,1)-REF(LOW,2))/RE (LOW,1)<=0.001),2);
文华财经函数大全1、引用数据AVPRICE 引用均价(在盘后对于国内三个期货交易所指结算价)SETTLE 引用结算价(如果用在周期小于'日'的K线上如5分钟K线,一小时k线,每根k线返回的值表示这根k线当日开盘时到这根k线的为止的结算价(均价)如果用在周期大于等于'日'的K线上,返回当根K线结束时间所在日的结算价.)CLOSE 引用收盘价(在盘中指最新价),也可简写为C。HIGH 引用最高价,也可简写为H。LOW 引用最低价,也可简写为L。OPEN 引用开盘价,也可简写为O。OPI 引用持仓量REF(X,N) 引用X在N个周期前的值例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价REFX(X,N) 引用N个周期后的数据。(N为大于等于1的整数)『未来函数』例:REFX(CLOSE,5);表示引用自当前周期后第5个周期的收盘价VOL 引用成交量,也可简写为V。GETPRICE(N) 根据文华码取出某一品种的最新价。例子:GETPRICE(1209);返回文华码为1209的合约品种的最新价。2、金融统计BACKSET(X,N) 若X条件成立,则将当前位置到N周期前的数值设为1。『未来函数』例:BACKSET(CLOSE>OPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1该函数参数支持变量计算如BACKSET(CLOSE>OPEN,VAR1);//VAR1是变量BARSLAST(X) 求上一次条件成立到当前的周期数。例:BARSLAST(X):上一次满足X条件到现在的K线根数。如果本根K线满足X条件,则BARSLAST(X)返回0.COUNT(X,N) 表示统计在N周期内满足X条件的周期数。若N=0则从本地数据的第一个有效值开始。例:WR:=-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N));COUNT(WR>80,5);表示统计在5个周期内满足WR>80的次数。DMA(X,N) 返回X的动态移动平均,其中N必须介于0及1之间。计算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A其中DMA(N-1)为第(N-1)天的DMA值。EMA(X,N) 表示求X在N周期内的平滑移动平均。(指数加权)计算方法:EMA(X,N)=[2*X+(N-1)*EMA(X,(N-1))]/(N+1)其中EMA(X,(N-1))为第(N-1)天的EMA值。EMA2(X,N) 表示求X在N周期内的加权平均。(线性加权)计算方法:EMA2(X,N)=(N*X0+(N-1)*X1+(N-2)*X2+...+1*XN)/(N+(N-1)+(N-2)+...+1),X0表示本周期值,X1表示上一周期值。HHV(X,N) 得到X在N周期内的最高值,如果N=0,则从本地数据的第一个有效周期开始算起。例:HHV(HIGH,13);求13个周期内的最高价的最大值。HHVBARS(X,N) 得到X在N周期内的最高值位置到当前的周期数。如果N=0,则从本地数据的第一个有效周期开始算起。例:HHVBARS(VOL,0); 求历史成交量最大的周期到当前的周期数。LLV(X,N) 得到X在N周期内的最小值,如果N=0,则从本地数据的第一个有效周期开始算起。例:LLV(LOW,25);表示求25个周期内最低价的最小值。LLVBARS(X,N) 得到X在N周期内的最小值的位置到当前的周期数。如果N=0则从本地数据的第一个有效周期开始算起。例:LLVBARS(VOL,0);求历史成交量最小的周期到当前的周期数。MA(X,N) 求X在N周期内的简单移动平均。计算方法:MA=(A1+A2+A3+A4+A5)/5,求A在5个周期内的简单移动平均ZIGZAG(X,P,N) 之字转向,当X变化量超过P时转向,当N取1,P为百分比数;当N取0,P为价位差值绝对值。『未来函数』例:ZIGZAG(HIGH,10,1);表示最高价的10%的之字转向ZIGZAG(MA(HIGH,34),100,0);表示34个周期内最高价均线的100个价位的之字转向PEAK(X,P,M,N) 取得ZIGZAG前M个波峰的值。其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。『未来函数』例:PEAK(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰的数值;PEAK(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰的数值。PEAKBARS(X,P,M,N) 取得ZIGZAG前M个波峰到当前周期的周期数。其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。『未来函数』例:PEAKBARS(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰到当前的周期数。PEAKBARS(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰到当前的周期数。TROUGH(X,P,M,N) 取得ZIGZAG前M个波谷的值。其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。『未来函数』例:TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷的数值。TROUGH (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷的数值。TROUGHBARS(X,P,M,N) 取得ZIGZAG前M个波谷到当前周期的周期数。其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。『未来函数』TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷到当前的周期数。TROUGH (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷到当前的周期数。SAR(N,Step,Max) 得到抛物转向值。N为计算周期,Step为步长,Max为极值。(系统函数,计算步骤后台自动完成)例:SAR(17,0.03,0.3);表示计算17个周期抛物转向,步长为3%,极限值为30%。SMA(X,N,M) 得到X在N个周期内的移动平均,M为权重(M为常数)。计算方法:SMA(N)=SMA(N-1)*(N-M)/N+X(N)*M/N。SUM(X,N) 得到X在N周期内的总和,如果N=0,则从第一个有效周期开始算起。例: SUM(VOL,10);表示统计10周期内的成交量总和。SUMBARS(X,A) 得到X向前累加直到大于A时的周期数。TRMA(X,N) 求X在N周期内的三角移动平均。TSMA(X,N) 求X在N周期内的时间序列移动平均。计算方法:TSMA(X,N)= FOCAST(X,N)+SLOPE(X,N)。3、数理统计AVEDEV(X,N) 求X在N周期内的平均绝对偏差。DEVSQ(X,N) 数据偏差平方和。FORCAST(X,N) 得到X的N周期线性回归预测值。例:FORCAST(CLOSE,5);表示求5周期线性回归预测SLOPE(X,N) 得到X在N周期内的线性回归的斜率例:SLOPE(CLOSE,5);表示求5周期线性回归线的斜率STD(X,N) 得到X在N周期内的标准差STDP(X,N) 得到X在N周期内的总体标准差VAR(X,N) 得到X在N周期内的样本方差VARP(X,N) 得到X在N周期内的总体样本方差数理统计举例说明: 设一个数列,数列中数据的总个数为N,以今天(2005-10-14)五天内的A0605收盘价为例,N就为5。数列的内容为:{2766,2805,2814,2886,2885}。1、算术平均值MA(CLOSE,5):数据总和除以总个数N。(2766+2805+2814+2886+2885)/5=2831.20。可以用公式MA(CLOSE,5),从今天的值上看出。2、偏差:每个数据,减去算术平均值的结果。2766-2831.20=-65.2, 2805-2831.20=-26.2, 2814-2831.20=-17.2, 2886-2831.20=54.8, 2885-2831.20=53.8, 各偏差相加,应该是等于0的。3、平均绝对偏差AVEDEV(X,N):将偏差的绝对值相加,除以总个数N。(65.2+26.2+17.2+54.8+53.8)/5=43.44。4、数据偏差平方和DEVSQ(X,N):将偏差的平方相加。(-65.2)2+ (-26.2)2+ (-17.2)2+ (54.8)2+ (53.8)2=11130.80。5、总体样本方差VARP(X,N):将偏差的平方相加,总和除以总个数N。用公式可以这样算:(-65.2)2+ (-26.2)2+ (-17.2)2+ (54.8)2+ (53.8)2/5=2226.16。6、样本方差VAR(X,N):是总体方差的N/(N-1)倍。2226.16*5/(5-1)=2782.70 估算样本方差,总比总体样本方差大一点,当N够大时,两者趋于相等。7、总体标准差STDP(X,N):方差的开方。[(-65.2)2+ (-26.2)2+ (-17.2)2+ (54.8)2+ (53.8)2/5]?=47.18。8、标准差STD(X,N):估算样本方差的开方。[2226.16*5/(5-1)]?=52.75 同样,估算标准差也比总体标准差大一点,当N够大时,两者趋于相等。4、逻辑判断BETWEEN(A,B,C) 判断条件“A位于B及C之间”是否成立,如果条件成立则返回1(yes),否则返回0(no)。例:BETWEEN(CLOSE,MA5,MA40);表示收盘价介于5日均线与40日均线之间。CROSS(X,Y) 表示X上穿Y。例:CROSS(CLOSE,MA(CLOSE,5));表示收盘线从下方向上穿过5日均线EXIST(COND,N) 判断N个周期内是否有满足条件COND的情况发生。例:EXIST(CLOSE>REF(HIGH,1),10);表示10个周期中是否存在收盘价大于前一个周期的最高价EVERY(COND,N) 判断过去N个周期内是否一直满足条件COND。例:EVERY(CLOSE>OPEN,5);表示5个周期内一直是阳线LAST(COND,N1,N2) 判断过去N1到N2周期内是否一直满足条件COND。例:LAST(CLOSE>OPEN,10,5);表示从过去第10个周期到第5个周期内一直是阳线LONGCROSS(A,B,N) 如果A在前N个周期内都小于B,本周期上穿B,则返回1。否则返回0。例:LONGCROSS(CLOSE,MA(CLOSE,10),20);表示收盘线在10日均线之下持续20周期后从下向上穿过10日均线。NOFILTER 交易模型买卖指令信号过滤函数。(仅适用于交易模型的过滤)设置模型对产生的交易指令不过滤,则出现的任何交易指令都会执行,如果没有设置“不过滤”,则产生的指令将按照如下规则过滤:1.连续的同方向指令只有第一个有效,其他的将被过滤;2.交易指令必须配对出现(例如:前面已经有了买开指令,则后面只允许出现卖平指令,其他的指令都被滤掉。这也就意味着,第一个指令只能是买开或者卖开指令,其他的都被过滤);3.但是在进行模型效果测试及优化时,无论设置过滤与否,都按照前面的规则对指令进行了过滤。IFELSE(C,A,B) (08版等以前版本里用IF函数表示)。如果条件C成立则返回A值,否则返回B值.例:IFELSE(CLOSE>REF(CLOSE,1),1,0);表示若今日收盘价高于前一日收盘价,则返回1,否则返回0ISDOWN 判断该周期是否收阴。ISEQUAL 判断该周期是否平盘。ISUP 判断该周期是否收阳。ISLASTBAR 判断当前周期是否为最后一根K线。例:ISLASTBAR; 如果是最后一个K线返回1(Yes),否则返回0(No)。VALUEWHEN(COND,DATA) 当条件COND满足时,取当时的DATA的值,否则取得前面一个满足条件COND的值。例:VALUEWHEN(HIGH>REF(HIGH,5),HIGH);表示当前最高价大于前五个周期最高价的最大值时返回当前最高价。5、数学运算ABS(X) 求X的绝对值例:ABS(SAR(17,0.03,0.3));返回抛物转向SAR(17,0.03,0.3)的绝对值。ACOS(X) 求X的反余弦值ASIN(X) 求X的反正弦值ATAN(X) 求X的反正切值COS(X) 返回X的余弦值EXP(X) 返回e的X次幂CEILING(X) 向上舍入,返回沿X数值增大方向最接近的整数。FLOOR(X) 向下舍入,返回沿X数值减小方向最接近的整数。INTPART(X) 取X的整数部分,返回沿X绝对值减小方向最接近的整数。LN(X) 得到X的自然对数,以e为底的对数。例:LN(OPEN);求开盘价的自然对数。LOG(X) 得到X的常用对数,取得X的以10为底的对数。例:LOG(OPEN);求开盘价的以10为底的对数。MAX(A,B) 求A,B中的较大者。例:MAX(CLOSE-OPEN,0);表示若收盘价大于开盘价返回它们的差值,否则返回0。MIN(A,B) 求A,B中的较小者。例:MIN(OPEN,CLOSE);返回开盘价和收盘价中的较小值。MOD(A,B) 返回A对B得到模。例:MOD(CLOSE,OPEN);收盘价除以开盘价所得余数NOT(X) 当X为0时返回1,否则返回0。例:NOT(TIME=090530);表示该周期对应的时间不是9:05:30AM。POW(A,B) 得到A的B次幂。例:POW(CLOSE,2);求得收盘价的2次方。REVERSE(X) 取反,返回符号相反的数值。例:REVERSE(LOW);返回-LOW。SGN(X) 得到X的符号,如果X>0则返回1,如果X<0则返回-1,否则返回0。SIN(X) 得到X的正弦值。SQRT(X) 得到X的平方根。例:SQRT(CLOSE);收盘价的平方根。SQUARE(X) 得到X的平方。例:SQUARE(CLOSE);收盘价的平方。TAN(X) 得到X的正切值。6、时间函数BARPOS 取得当前K线的位置。DATE 取得当前周期的日数(700101-341231)。DAY 取得当前周期的日数(1-31)。HOUR 取得当前周期的小时数(0-23)。MINUTE 取得当前周期的分钟数(0-59)。MONTH 取得当前周期的月数(1-12)。TIME 取得当前周期的时间数(0-2359),秒级周期返回值范围为:0-235959。WEEKDAY 取得当前周期的星期数(0-6)。YEAR 取得当前周期的年数(1970-2034)。7、绘图DRAWLINE(C1,P1,C2,P2,COLOR) 当条件C1及C2均满足时,从P1画直线到P2,颜色为COLOR。例:DRAWLINE(MA18CLOSE,CLOSE,COLORCYAN);表示当收盘价大于18日均线并且小于5日均线时,从开盘价画青色直线到收盘价。DRAWTEXT(C,P,TEXT) 表示当条件C满足时在P上写TEXT文字。例:DRAWTEXT(CLOSE< OPEN&&REF(CLOSE,1)< REF(OPEN,1) &&REF(VOL,1)*1.1< VOL,LOW,'注');表示连续两日收阴并且成交量比前一日至少多10%时,在最低价上写“注”字。DRAWSL(COND,DATA,SLOPE,LEN,EXPAND,COLOR) 画斜线,当条件COND满足时,从DATA开始以每个周期相差SLOPE个点的斜率画斜线,划线长度为LEN个周期,EXPAND为线段的延长方式(0:不延伸;1:向左延伸;2:向右延伸;3:双向延伸)。例:DRAWSL(LOW=LLV(LOW,50),LOW,5,3,2,COLORRED);表示当前最低价等于50周期内的最小值时,从当前最小值开始以每隔5个点的斜率画长度为3个周期向右延伸的斜线,颜色为红色。DRAWNUMBER(COND,DATA,NUMBER,PRECISION,COLOR) 画数字。当条件COND满足时,在DATA位置写数字NUMBER(为数组),精度为PRECISION(小数点后有几位数字)。例:DRAWNUMBER(CLOSE/OPEN>1.08,HIGH,(CLOSE-OPEN)/OPEN*100,2,COLORRED);表示当日涨幅大于8%时在最高价位置显示涨幅(相对开盘价的百分比)。FILLRGN(COND,DATA1,DATA2,COLOR) 填充区域,当条件COND满足时,填充DATA1及DATA2包围的区域。例:FILLRGN(MA5>MA10,MA5,MA10,COLORRED);表示MA5>MA10时以红色填充MA5和MA10之间的区域。POLYLINE(COND,DATA,COLOR) 画折线,当条件COND满足时,连接各个DATA点。例:POLYLINE(CLOSE>=HHV(CLOSE,100),CLOSE,COLORRED);表示在收盘价创100天新高点之间画折线。PARTLINE(COND,DATA,COLOR) 画线段,条件COND满足时,以COLOR颜色的直线连接DATA各点。例:PARTLINE(HIGH>REF(HIGH,1),HIGH,COLORRED);表示当期最高价大于前期最高价用红色绘制最高价线段。STICKLINE(C,P1,P2,COLOR,EMPTY) 如果条件C满足时,从P1到P2画柱线,颜色为Color,如果Empty取1,则为空心柱;如果Empty取0,则为实心柱。例:STICKLINE(OPEN-CLOSE>0,OPEN,CLOSE,COLORCYAN,0);表示当开盘价大于收盘价时,从开盘价到收盘价画青色的实心柱,即K线阴线的实体部分。VERTLINE(COND,COLOR) 画垂直线,当条件COND满足时,画垂直线。例:VERTLINE(HIGH>=HHV(HIGH,30),COLORRED);表示在价格创30天新高时画垂直线。08版本与09版本函数区别:08版本函数 09版本函数SETTLE 日线周期只有盘后才能引用当日的结算价。其他周期计算结果等同于AVPRICE 引用结算价(如果用在周期小于'日'的K线上如5分钟K线,一小时k线,每根k线返回的值表示这根k线当日开盘时到这根k线的为止的结算价(均价)如果用在周期大于等于'日'的K线上,返回当根K线结束时间所在日的结算价.)BACKSET(X,N) 『未来函数』 函数参数不支持变量计算 函数参数支持变量计算如:BACKSET(CLOSE>OPEN,VAR1);//VAR1是变量DMA 函数参数不支持变量计算 DMA(X,N)返回X的动态移动平均,其中N必须介于0及1之间。N 支持变量。计算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A其中DMA(N-1)为第(N-1)天的DMA值。HHV(X,N) 函数参数N不支持变量计算 函数参数N支持变量计算LLV(X,N) 函数参数N不支持变量计算 函数参数N支持变量计算COUNT(X,N) 函数参数N不支持变量计算 函数参数N支持变量计算09版本新增函数:GETPRICE(N) 根据文华码取出某一品种的最新价。例:GETPRICE(1209);返回文华码为1209的合约品种的最新价。RGB(R,G,B) 自定义颜色函数。R,G,B的数值范围都在0~255之间,例:RGB(225,225,225)表示白色PARAM[参数名称,最小值,最大值,缺省值] 在源码中定义参数。例:PARAM[N,1,100,12]MAN:MA(CLOSE,N);表示参数为N,最小值为1,最大值为100,缺省值为12.IF(COND)A,COLOR;ELSEB, COLOR; 条件循环函数。多层次循环时使用“{}”套用。例:取得MA5、MA10、MA30三者中最大的数值MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);MA30:=MA(CLOSE,30);IF(MA5>MA10)MA5,COLORRED;ELSE{IF(MA10>MA30)MA10,COLORMAGENTA;ELSEMA30,COLORGREEN;}注意:区别于IFELSE函数,为了使多层次套用看的清楚,以上示例中将“{}”单独空行,实际使用中可以不必这样使用。#IMPORT [CODE,PERIOD,FORMULA] AS VAR 跨周期、跨合约取数据函数。语句格式:#IMPORT [CODE,PERIOD,FORMULA] AS VARCODE 文华码(文华码见http://www.wenhua.com.cn/guide/guide.htm 其他—>期货品种代码表)PERIOD 被引用的周期FORMULA 被引用指标名称例:引用[豆粕1005]合约日K线图周期的指标[KDJ.FML] 中K值、D值:#IMPORT [1205,DAY,KDJ] AS VARKDJK1:KDJ.K;D1:KDJ.D;注意点:1.只能引用一个当前存在的'.FML文件’(指标文件)中的变量,不支持同时引用多个指标和多个周期。2.只能引用如下周期 MIN1 MIN3 MIN5 MIN10 MIN15 MIN30 HOUR1 HOUR3 HOUR8 DAY WEEK MONTH;3.只能短周期引用长周期指标数据,分钟周期上可引用小时、日周期数据,不能日线周期上加载引用分钟数据的指标;4.被引用的指标中不能存在引用。5.如果不写文华码,默认引用当前合约。模型注释符号在2009版本中修改为“//”。2008版本中模型注释语句使用在2009版本中时在{}前面增加//即可。(三)编辑平台可以使用的常数常数 意义COLORRED 红色COLORGREEN 绿色COLORBLUE 蓝色COLORMAGENTA 紫色COLORYELLOW 黄色COLORLIGHTGREY 浅灰色COLORLIGHTRED 浅红色COLORLIGHTGREEN 浅绿色COLORLIGHTBLUE 浅蓝色COLORBLACK 黑色COLORWHITE 白色COLORCYAN 青色COLORSTICK 画彩色柱线VOLUMESTICK 画成交量线BAMBOOLINE 画竹线CIRCLEDOT 画圆OPISTICK 画持仓量柱线RGB(R,G,B) 自定义颜色函数。R,G,B的数值范围都在0~255之间。例:RGB(225,225,225)表示白色PARAM[参数名称,最小值,最大值,缺省值] 在源码中定义参数。例:PARAM[N,1,100,12]MAN:MA(CLOSE,N);表示参数为N,最小值为1,最大值为100,缺省值为12.注意:在公式内即使你定义了某种颜色,在显示的时候也未必是此种颜色,取决于背景颜色当前页面里是否保了该指标的颜色及您是否在显示的时候改变了该指标的颜色设置。欢迎交流:QQ:419549257Q群:138709040(四)编辑平台的语法1、关于公式名称:公式的名称不可以和已经存在的公式重复。2、关于参数:每个自编公式最多可以定义四个参数,参数的定义如下,首先是参数名称,然后是参数的最小值,最大值,最后是参数的默认值。在定义参数时要注意的是参数名称不可以重复。3、关于变量名称:变量名称不可以互相重复,不可以和参数名重复,不可以和函数名称重复。4、关于公式内容:公式的每个语句应该以分号结束,包括最后一条语句。在数据公式的时候请您注意一定要使用半角输入。在编写公式的过程中,如果您不记得某个函数的确切写法,可以选择插入函数来插入函数。5、如果您在编写公式之后,想给这个公式加上注释,说明之类的东西,可以使用公式说明来输入。(五)编辑平台使用的交易指令交易模型中的交易指令如下:图示 指令 意义BK 买开指令BP 买平指令SK 卖开指令SP 卖平指令BPK 买平同时等价等量买开指令SPK 卖平同时等价等量卖开指令套利模型中的交易指令如下:图示 指令 意义BKSK 甲合约买开;乙合约卖开信号BPSP 甲合约买平;乙合约卖平信号SKBK 甲合约卖开;乙合约买开信号SPBP 甲合约卖平;乙合约买平信号请注意,在效果测试使用如下机制:连续的开仓指令只使用第一个指令进行开仓,开仓时使用当时的全部资金,连续的平仓指令,只有第一个有效,平掉当时的全部持仓,其他的平仓指令算做错误指令!(六)快速入门1、如何把熟悉的技术指标转换成交易模型?第一步:把KDJ指标公式COPY过来。RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;//{算出(收盘价-N周期内的最低价)/(N周期的最高价—N周期内的最低价)*100的值,用RSV来表示。}BACKGROUNDSTYLE(1);{确定背景的样式,(钝化)}K:SMA(RSV,M1,1),COLORWHITE;//{RSV的移动加权平均的值用K表示,并且画白色的线。}D:SMA(K,M2,1),COLORYELLOW;//{K的移动加权平均的值用D表示,并且画黄色的线。}J:3*K-2*D,COLORMAGENTA;//{3倍的K减去2倍的D的值用J表示,并且画紫色的线。}第二步:原有公式主要是画线,所以稍作修改。如下:RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;//{第一行不需要修改}//{第二行删除,在交易模型中不用钝化}K:=SMA(RSV,M1,1);//{在“:”后加上“=”变为只定义不用画线,所以把后面的颜色函数(COLORWHITE)也去掉}D:=SMA(K,M2,1);//{同上}J:=3*K-2*D;//{同上}第三步:把自己总结的交易条件写上,就可完成交易模型。如下:RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;K:=SMA(RSV,M1,1);D:=SMA(K,M2,1);J:=3*K-2*D;CROSS(K,D),BK;//{K向上穿越D,发出买开交易指令}CROSS(J,100),SP;//{J向上穿越100,发出卖平交易指令}CROSS(D,K),SK;//{K向下穿越D,发出卖开交易指令}CROSS(0,J),BP;//{J向下穿越0,发出买平交易指令}//后为文字说明,编写模型时不用写出2、如何编制交叉(金叉/死叉)类型的交易模型?MA5:=MA(CLOSE,5);//{5个周期收盘价的简单移动平均}MA10:=MA(CLOSE,10);//{10个周期收盘价的简单移动平均}MA20:=MA(CLOSE,20);//{20个周期收盘价的简单移动平均}CROSS(MA10,MA20),BK;//{当MA10上穿MA20时,发出买入开仓交易指令}CROSS(MA10,MA5),SP;//{当MA10上穿MA5时,发出卖出平仓交易指令}CROSS(MA20,MA10),SK;//{当MA20上穿MA10时,发出卖出开仓交易指令}CROSS(MA5,MA10),BP;//{当MA5上穿MA10时,发出买入平仓交易指令} //后为文字说明,编写模型时不用写出}3、如何编制多条件类型的交易模型?RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;K:=SMA(RSV,3,1);D:=SMA(K,3,1);J:=3*K-2*D;//{以上为KDJ公式}MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);//{以上为定义5个周期收盘价的简单移动平均和10个周期收盘价的简单移动平均}(CROSS(MA5,MA10)&&REF(J,1)<70)||(CROSS(K,D)&&J<30),BK;//{5周期均线上穿10周期均线并且前一个周期的J值(KDJ)少于70或者KD金叉时并且J值小于30时发出买入开仓交易指令}CROSS(D,K)&&REF(J,1)>70,SP;//{KD出现死叉并且前一个周期J值大于70时发出卖出平仓交易指令}(CROSS(MA10,MA5)&&REF(J,1)>30)||(CROSS(D,K)&&J>70),SK;//{5周期均线下叉10周期均线并且前一个周期的J值(KDJ)大于30或者KD死叉时并且J值大于70时发出卖出开仓交易指令}CROSS(K,D)&&REF(J,1)<30,BP;//{KD出现金叉并且前一个周期J值小于30时发出买入平仓交易指令} {{}内为文字说明,编写模型时不用写出}4、如何编制REF(X,N)类型的交易模型?A:=OPEN-(((REF(HIGH,1)-REF(LOW,1))+(REF(HIGH,2)-REF(LOW,2))+(REF(HIGH,3)-REF(LOW,3))+(REF(HIGH,4)-REF(LOW,4)))/4)*1.8;//{A=当前周期的开盘价 -[ (一个周期前的最高价减最低价的差+两个周期前的最高价减最低价的差+三个周期前的最高价减最低价的差+四个周期前的最高价减最低价的差)/4]*1.8 }REF(CLOSE,1)< REF(CLOSE,2)&&REF(CLOSE,2)< REF(CLOSE,3)&&REF(CLOSE,3)<<BR>REF(CLOSE,4)&&CLOSE >A,BPK;//{连续四个周期的收盘价小于前一周期的收盘价并且当前周期的收盘价大于A时,发出买平并且买开(反手)交易指令}REF(CLOSE,1)>REF(CLOSE,2)&&REF(CLOSE,2) >REF(CLOSE,3)&&REF(CLOSE,3)>REF(CLOSE,4)&&CLOSE<=A,SPK;//{连续四个周期的收盘价大于前一周期的收盘价并且当前周期的收盘价小于等于A时,发出卖平并且卖开(反手)交易指令}{{}内为文字说明,编写模型时不用写出}5、如何编制价差类型的交易模型?MA5:=MA(CLOSE,5);//{5个周期收盘价的简单移动平均}MA10:=MA(CLOSE,10);//{10个周期收盘价的简单移动平均}CROSS(MA10,MA5)||(CLOSE-MA5)>8,SK;//{10周期均线上穿5周期均线或者收盘价与5周期均线的差值大于8时,发出卖出开仓交易指令}(MA5-CLOSE)>6,BP;//{5周期均线与收盘价的差值大于6时,发出买入平仓交易指令}CROSS(MA5,MA10)||(MA5-CLOSE)>8,BK;//{5周期均线上穿10周期均线或者收盘价与5周期均线的差值大于8时,发出买入开仓交易指令}(CLOSE-MA5)>6,SP;//{收盘价与5周期均线的差值大于6时,发出卖出平仓交易指令}{{}内为文字说明,编写模型时不用写出}6、如何编制简单价差类型的套利模型?CROSS(300,CLOSE),BKSK; //{CLOSE为两个品种的价差。当价差小于300时,买入开仓前一品种,卖出开仓后一品种}CROSS(CLOSE,500),SPBP;//{当价差大于500时,卖出平仓前一品种,买入平仓后一品种}CROSS(CLOSE,600),SKBK;//{当价差大于600时,卖出开仓前一品种,买入开仓后一品种}CROSS(400,CLOSE),BPSP;//{当价差小于400时,买入平仓前一品种,卖出平仓后一品种}7、如何编制组合类型的套利模型?RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;K:=SMA(RSV,M1,1);D:=SMA(K,M2,1);J:=3*K-2*D;//{以上为KDJ公式}CLOSE<300&&CROSS(K,D),BKSK;//{当价差小于300并且K上穿D时,买入开仓前一品种,卖出开仓后一品种}CROSS(CLOSE,500)||CROSS(D,K),SPBP;//{当价差上穿500或者D上穿K时,卖出平仓前一品种,买入平仓后一品种}CLOSE>600&&CROSS(D,K),SKBK;//{当价差大于600并且D上穿K时,卖出开仓前一品种,买入开仓后一品种}CROSS(400,CLOSE)||CROSS(K,D),BPSP;//{当价差下穿400或者K上穿D时,买入平仓前一品种,卖出平仓后一品种}技术指标模型大全1 ADTM模型DTM:=IFELSE(OPEN<=REF(OPEN,1),0,MAX((HIGH-OPEN),(OPEN-REF(OPEN,1))));DBM:=IFELSE(OPEN>=REF(OPEN,1),0,MAX((OPEN-LOW),(OPEN-REF(OPEN,1))));STM:=SUM(DTM,N);SBM:=SUM(DBM,N);ADTM:=IFELSE(STM>SBM,(STM-SBM)/STM,IFELSE(STM=SBM,0,(STM-SBM)/SBM));ADTMMA:=MA(ADTM,M);ADTMMAADTMMA>Q,SPK;2 ARBR模型AR := SUM(HIGH-OPEN,N)/SUM(OPEN-LOW,N)*100;BR := SUM(MAX(0,HIGH-REF(CLOSE,1)),N)/SUM(MAX(0,REF(CLOSE,1)-LOW),N)*100;(BR<100),BK;//BR比AR低,且指标处于低于100以下时,可考虑逢低买进。(BR-REF(BR,M))>P && AR-REF(AR,M)3 ASI模型LC:=REF(CLOSE,1);AA:=ABS(HIGH-LC);BB:=ABS(LOW-LC);CC:=ABS(HIGH-REF(LOW,1));DD:=ABS(LC-REF(OPEN,1));R:=IFELSE(AA>BB&&AA>CC,AA+BB/2+DD/4,IFELSE(BB>CC&&BB>AA,BB+AA/2+DD/4,CC+DD/4));X:=(CLOSE-LC+(CLOSE-OPEN)/2+LC-REF(OPEN,1));SI:=16*X/R*MAX(AA,BB);ASI:=SUM(SI,0);ASI>REF(ASI,1),BPK;//当前周期ASI指标数值大于前一周期开多;ASI4 ATR模型TR := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));ATR := MA(TR,N);C>MA(C,10) && CROSS(TR,ATR) && ATR>REF(ATR,1) && ISDOWN,BK;//在上升通道中,ATR真实波幅向上时,且白线上穿黄线,此时K线收阴者买入开仓;CROSS(MA(C,10),C),SP;//当价格下穿10周期均线平多仓。5 B3612模型B36 := MA(CLOSE,3)-MA(CLOSE,6);B612 := MA(CLOSE,6)-MA(CLOSE,12);B36B36>REF(B36,1) && B612>REF(B612,1) ,BPK;//本周期B36与B612分别小于前一周期B36与B612时平多开空。6 BBI模型BBI1:=(MA(CLOSE,N1)+MA(CLOSE,N2)+MA(CLOSE,N3)+MA(CLOSE,N4))/4;MA54:=MA(C,54);//以MA54来判断当前价格处于高价区还是低价区。CC>MA54 && CROSS(BBI1,C),SPK;7 BIAS模型BIAS1 := (CLOSE-MA(CLOSE,L1))/MA(CLOSE,L1)*100;BIAS1>M1 && MA(C,54)REF(C,54),SK;BIAS1<-1*P && MA(C,54)P && MA(C,54)>REF(C,54),BP;BIAS1M2 && MA(C,54)>REF(C,54),BK;BIAS1>P && MA(C,54)REF(C,54),SP;8 BOLL模型MID:=MA(CLOSE,N);TMP2:=STD(CLOSE,M);TOP:=MID+P*TMP2;BOTTOM:=MID-P*TMP2;A:=TOP-C;B:=C-BOTTOM;CROSS(C,BOTTOM),BPK;CROSS(TOP,C),SPK;9 CCI模型TYP:=(CLOSE+HIGH+LOW)/3;CCI:=(TYP-MA(TYP,N))/(0.015*AVEDEV(TYP,N));CROSS(CCI,100),BK;//CCI从+100~-100的常态区,由下往上突破+100天线时,为买入开仓。CROSS(100,CCI),SP;//CCI从+100天线之上,由上往下跌破天线时,为卖出平仓。CROSS(100,CCI),SK;//CCI从+100~-100的常态区,由上往下跌破-100地线时,为卖出开仓。CROSS(CCI,100),BP;//CCI从-100下方,由下往上突破-100地线时,为买入平仓。10 CDPV日内模型PT := REF(HIGH,1)-REF(LOW,1);CDP := (REF(HIGH,1) + REF(LOW,1) + REF(CLOSE,1))/3;AH :=MA(CDP + PT,N);AL :=MA(CDP - PT,N);NH :=MA(2*CDP-LOW,N);NL :=MA(2*CDP-HIGH,N);NQ:=(AH+AL+NH+NL)/4;//计算出CDP中四条指标线的均值NQNQ>LLV(NQ,M)*(1+M1*0.001) && TIME>=0900 && TIME<1455,BP;//当NQ上涨超过前M周期最低值的千分之M1,买开;NQ=1455,SP;//当NQ下跌超过前M周期最高值的千分之M1,卖开;NQ=0900 && TIME<1455,SK;//当NQ下跌超过前M周期最高值的千分之M1,卖开;NQ>LLV(NQ,M)*(1+M1*0.001) || TIME>=1455,BP;//当NQ上涨超过前M周期最低值的千分之M1,买开。11 CDP日内模型PT := REF(HIGH,1)-REF(LOW,1);CDP := (REF(HIGH,1) + REF(LOW,1) + REF(CLOSE,1))/3;AH :=MA(CDP + PT,N);AL :=MA(CDP - PT,N);NH :=MA(2*CDP-LOW,N);NL :=MA(2*CDP-HIGH,N);NQ:=(AH+AL+NH+NL)/4;//计算出CDP中四条指标线的均值NQNQ>LLV(NQ,M)*(1+M1*0.001),BPK;//当NQ上涨超过前M周期最低值的千分之P,买平开;NQ12 CDP模型PT := REF(HIGH,1)-REF(LOW,1);CDP := (REF(HIGH,1) + REF(LOW,1) + REF(CLOSE,1))/3;AH :=MA(CDP + PT,N);AL :=MA(CDP - PT,N);NH :=MA(2*CDP-LOW,N);NL :=MA(2*CDP-HIGH,N);NQ:=(AH+AL+NH+NL)/4;//计算出CDP中四条指标线的均值NQNQ>LLV(NQ,M)*(1+M1*0.001),BPK;//当NQ上涨超过前M周期最低值的千分之M1,买平开;NQ13 CR模型MID := (HIGH+LOW+CLOSE)/3;CR:=SUM(MAX(0,HIGH-REF(MID,1)),N)/SUM(MAX(0,REF(MID,1)-LOW),N)*100;CRCR>N2,SPK;//CR下跌超过N2时,卖平开。14说明 文中“//” 后面的文字是解说,实际编写与测试过程中,不用编写。15 DBCD模型BIAS:=(CLOSE-MA(CLOSE,N))/MA(CLOSE,N);DIF:=(BIAS-REF(BIAS,M));DBCD:=SMA(DIF,T,1);MM:=100000*MA(DBCD,5);MM>REF(MM,1),BPK;MM16 DDI模型TR:=MAX(ABS(HIGH-REF(HIGH,1)),ABS(LOW-REF(LOW,1)));DMZ:=IFELSE((HIGH+LOW)<=(REF(HIGH,1)+REF(LOW,1)),0,MAX(ABS(HIGH-REF(HIGH,1)),ABS(LOW-REF(LOW,1))));DMF:=IFELSE((HIGH+LOW)>=(REF(HIGH,1)+REF(LOW,1)),0,MAX(ABS(HIGH-REF(HIGH,1)),ABS(LOW-REF(LOW,1))));DIZ:=SUM(DMZ,N)/(SUM(DMZ,N)+SUM(DMF,N));DIF:=SUM(DMF,N)/(SUM(DMF,N)+SUM(DMZ,N));DDI:=DIZ-DIF;DDI>0,BPK;//DDI大于零平空开多;DDI<0,SPK;//DDI小于零平多开空。17 DMA模型DDD := (MA(CLOSE,SHORT)-MA(CLOSE,LONG));AMA := MA(DDD,M);CROSS(DDD,AMA),BPK;//DMA向上交叉AMA,买进;CROSS(AMA,DDD),SPK;//DMA向下交叉AMA,卖出。18 DMI-QL模型TR := SMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N,1);HD := HIGH-REF(HIGH,1);LD := REF(LOW,1)-LOW;DMP:= SMA(IFELSE(HD>0&&HD>LD,HD,0),N,1);DMM:= SMA(IFELSE(LD>0&&LD>HD,LD,0),N,1);PDI:= DMP*100/TR;MDI:= DMM*100/TR;ADX:= SMA(ABS(MDI-PDI)/(MDI+PDI)*100,N,1);ADXR:=(ADX+REF(ADX,M))/2;CROSS(PDI,MDI),BK;//PDI上穿MDI开多仓。CROSS(MDI,PDI),SK;//PDI下穿MDI开空仓。ADXADX19 DMI日内模型TR := SMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N,1);HD := HIGH-REF(HIGH,1);LD := REF(LOW,1)-LOW;DMP:= SMA(IFELSE(HD>0&&HD>LD,HD,0),N,1);DMM:= SMA(IFELSE(LD>0&&LD>HD,LD,0),N,1);PDI:= DMP*100/TR;MDI:= DMM*100/TR;ADX:= SMA(ABS(MDI-PDI)/(MDI+PDI)*100,N,1);ADXR:=(ADX+REF(ADX,M))/2;CROSS(PDI,MDI) && TIME>0900 && TIME<1450,BK;//PDI上穿MDI开多仓。CROSS(MDI,PDI) && TIME>0900 && TIME<1450,SK;//PDI下穿MDI开空仓。ADX=1450,BP;//当ADX回落超过前N0周期内的M0%时平多仓。或收盘前平仓。ADX=1450,SP;//当ADX回落超过前N0周期内的M0%时平空仓。或收盘前平仓20 DPO模型DPO:=CLOSE-REF(MA(CLOSE,20),11);CROSS(DPO,O),BK;//当DPO指标数值上穿0线,开多仓。DPOCROSS(0,DPO),SK;//DPO下穿0线时开空仓。DPO>LLV(DPO,N)*(1-0.01*M),BP;//当DPO指标上涨超过N日最低点的M%时平空仓。21 EMA2模型EMA210:=EMA2(CLOSE,10);//定义10周期收盘价的加权平均值。EMA220:=EMA2(CLOSE,20);//定义20周期收盘价的加权平均值。CROSS(EMA210,EMA220),BK;//10周期均线上穿20周期均线,发出买入开仓指令。CROSS(EMA220,EMA210),SK;//10周期均线下穿20周期均线,发出卖出开仓指令。EMA210EMA210>REF(EMA210,1)&&EMA220>REF(EMA220,1),BP;//10周期均线和20周期均线都下降时,发出平空仓指令。22 EMA模型EMA10:=EMA(CLOSE,10);//定义10周期收盘价的指数平滑移动平均值。EMA20:=EMA(CLOSE,20);//定义20周期收盘价的指数平滑移动平均值。CROSS(EMA10,EMA20),BK;//10周期均线上穿20周期均线,发出买入开仓指令。CROSS(EMA20,EMA10),SK;//10周期均线下穿20周期均线,发出卖出开仓指令。EMA10EMA10>REF(EMA10,1)&&EMA20>REF(EMA20,1),BP;//10周期均线和20周期均线都上升时,发出平空仓指令。23 ENV模型UPPER := MA(CLOSE,N1)*(1+N2/100);LOWER := MA(CLOSE,N1)*(1-N2/100);//以上为ENV公式CROSS(CLOSE,UPPER),BPK;//收盘价上穿UPPER,买平并买开。CROSS(LOWER,CLOSE),SPK;//收盘价下穿LOWER,卖平并卖开。24 EXPMA模型MA1:=EMA(CLOSE,P1);MA2:=EMA(CLOSE,P2);MA3:=EMA(CLOSE,P3);MA4:=EMA(CLOSE,P4);//以上为EXPMA指标CROSS(MA2,MA3)&&CLOSE>MA4,BK;//当MA2上穿MA3,并且收盘价大于MA4,发出买入开仓交易指令。CROSS(MA2,MA1),SP;//当MA2上穿MA1,发出卖出平仓交易指令。CROSS(MA3,MA2)&&CLOSECROSS(MA1,MA2),BP;//当MA1上穿MA2,发出买入平仓交易指令。25 HCL模型MAH:=MA(HIGH,N);MAL:=MA(LOW,N);MAC:=MA(CLOSE,N);//以上为HCL指标公式MAH>REF(MAH,1)&&MAL>REF(MAL,1)&&MAC>REF(MAC,1),BPK;//MAH,MAL,MAC同时上涨,买平并买开。MAH26 KDJ模型RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;//定义RSVK:=SMA(RSV,M1,1); //定义KD:=SMA(K,M2,1); //定义DJ:=3*K-2*D; //定义J//以上为KDJ指标公式J<30&&CROSS(K,D),BPK;//J值小于30并且K、D金叉,买平并买开。J>70&&CROSS(D,K),SPK;//J值大于70并且K、D死叉,卖平并卖开。27 KD模型RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;K:=SMA(RSV,M1,1);D:=SMA(K,M2,1);//以上为KD指标公式CROSS(K,D),BPK;//K,D金叉,买平并买开。CROSS(D,K),SPK;//K,D死叉,卖平并卖开。28 LW&R模型RSV:= (CLOSE-HHV(HIGH,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//定义RSVLWR1:=SMA(RSV,3,1);//定义LWR1LWR2:=SMA(LWR1,3,1);//定义LWR2CROSS(LWR1,LWR2),BPK;//LWR1上穿LWR2,买平并买开CROSS(LWR2,LWR1),SPK;//LWR1下穿LWR2,卖平并卖开29 LW&R模型1RSV:= (CLOSE-HHV(HIGH,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;LWR1:=SMA(RSV,M1,1);LWR2:=SMA(LWR1,M2,1);//以上为LW&R指标公式LWR1<30&&CROSS(LWR1,LWR2),BK;//LWR1小于30,并且LWR1上穿LWR2,买开。LWR1>70&&CROSS(LWR2,LWR1),SK;//LWR1大于70,并且LWR1下穿LWR2,卖开。LWR1>80&&LWR2>70,BP;//LWR1大于80,并且LWR2大于70,平空仓。LWR1<20&&LWR2<30,SP;//LWR1小于20,并且LWR2小于30,平多仓。30 MACD模型DIFF := EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);//定义DIFFDEA := EMA(DIFF,M);//定义DEA//以上为MACD指标公式(DIFF<0)&&(DEA<0)&&(CROSS(DIFF,DEA)),BPK;//DIFF小于0并且DEA小于0并且DIFF上穿DEA,买平并买开(DIFF>0)&&(DEA>0)&&(CROSS(DEA,DIFF)),SPK;//DIFF大于0并且DEA大于0并且DIFF下穿DEA,卖平并卖开31 MASS模型MASS:=SUM(EMA((HIGH-LOW),N1)/EMA(EMA((HIGH-LOW),N1),N1),N2);//定义MASSMA9:=MA(CLOSE,9);//定义9周期收盘价的均线CROSS(26.5,MASS)&&MA9>REF(MA9,1),SPK;//MASS下穿26.5,并且MA9在上升趋势中,卖平并卖开CROSS(26.5,MASS)&&MA932 MA模型MA1:=MA(CLOSE,N);//定义10周期均线MA1>REF(MA1,1)&&REF(MA1,1)>REF(MA1,2)&&REF(MA1,3)>REF(MA1,2)&&REF(MA1,4)>REF(MA1,3),BPK;//上拐时买平并买开MA133 MA组合模型MA1:=MA(CLOSE,P1);MA2:=MA(CLOSE,P2);MA3:=MA(CLOSE,P3);MA4:=MA(CLOSE,P4);//已上是MA组合指标公式CROSS(MA2,MA3)&&CLOSE>MA4,BK;//当MA2上穿MA3,并且收盘价大于MA4,发出买入开仓交易指令CROSS(MA2,MA1),SP;//当MA2上穿MA1,发出卖出平仓交易指令CROSS(MA3,MA2)&&CLOSECROSS(MA1,MA2),BP;//当MA1上穿MA2,发出买入平仓交易指令34 MFI模型TYP := (HIGH + LOW + CLOSE)/3;MR:=SUM(IFELSE(TYP>REF(TYP,1),TYP*VOL,0),N)/SUM(IFELSE(TYPMFI:=100-(100/(1+MR));//以上是MFI指标公式MFIREF(CLOSE,1)&&MFI>20&&MFI<80,BPK;//当MFI处于下降趋势,并且收盘价处于上升趋势,并且MFI大于20并且小于80,买平并买开MFI>REF(MFI,1)&&CLOSE20&&MFI<80,SPK;//当MFI处于上升趋势,并且收盘价处于下降趋势,并且MFI大于20并且小于80,卖平并卖开35 MICD模型MI:=CLOSE-REF(CLOSE,1);AMI:=SMA(MI,N,1);DIF:=MA(REF(AMI,1),N1)-MA(REF(AMI,1),N2);MICD:=SMA(DIF,10,1);//上述是MICD指标公式(DIF<0)&&(MICD<0)&&(CROSS(DIF,MICD)),BPK;//DIF小于0并且MICD小于0并且DIFF上穿MICD,买平并买开(DIF>0)&&(MICD>0)&&(CROSS(MICD,DIF)),SPK;//DIF大于0并且MICD大于0并且DIFF下穿MICD,卖平并卖36 MIKE模型TYP:=(HIGH+LOW+CLOSE)/3;LL:=LLV(LOW,N);HH:=HHV(HIGH,N);WR:=TYP+(TYP-LL);MR:=TYP+(HH-LL);SR:=2*HH-LL;WS:=TYP-(HH-TYP);MS:=TYP-(HH-LL);SS:=2*LL-HH;//上述是MIKE指标公式WRREF(WR,2) && MRREF(MR,2) && SRREF(SR,2),BPK;//WR,MR,SR同时下拐,买平并买开WS>REF(WS,1)&&REF(WS,1)REF(MS,1)&&REF(MS,1)REF(SS,1)&&REF(SS,1)37 MI模型A:=CLOSE-REF(CLOSE,N);MI:=SMA(A,N,1);//上述是MI指标公式CROSS(A,MI),BPK;//A金叉MI,买平并买开CROSS(MI,A),SPK;//A死叉MI,卖平并卖开38 MTM模型MTM:=CLOSE-REF(CLOSE,N);//定义MTMCROSS(MTM,0),BPK;//MTM上穿0轴,买平并买开CROSS(0,MTM),SPK;//MTM下穿0轴,卖平并卖开39 MV模型MV1:=SMA(VOL,N,1);MV2:=SMA(VOL,M,1);//上述是MV指标公式MA60:=MA(CLOSE,60);//定义60周期收盘价均线CLOSE>MA60&&MV1>REF(MV1,1)&&MV2>REF(MV2,1),BPK;//收盘价在60均线上,并且MV1,MV2处于上升状态中,买平并买开CLOSEREF(MV1,1)&&MV2>REF(MV2,1),SPK;//收盘价在60均线下,并且MV1,MV2处于上升状态中,卖平并卖40 PRICEOSC模型PRICEOSC:=(MA(CLOSE,SHORT)-MA(CLOSE,LONG))/MA(CLOSE,SHORT)*100;CROSS(PRICEOSC,0),BPK;//向上突破0为买点CROSS(0,PRICEOSC),SPK;//向下突破0为卖点41 PUBU模型PB1:=PUBU(CLOSE,0);PB2:=PUBU(CLOSE,1);PB3:=PUBU(CLOSE,2);PB4:=PUBU(CLOSE,3);PB5:=PUBU(CLOSE,4);PB6:=PUBU(CLOSE,5);CROSS(PB1,PB6),BPK;//短线瀑布线向上穿越长线瀑布,买入。CROSS(PB6,PB1),SPK;//短线瀑布线向下穿越长线瀑布,卖出。42 RC模型RC:=CLOSE/REF(CLOSE,N);ARC:=SMA(REF(RC,1),N,1);MA10:=MA(CLOSE,10);MA20:=MA(CLOSE,20);CROSS(MA10,MA20)&&ARC>1,BPK;//MA10上穿MA20且RC指标在1上,做多CROSS(MA20,MA10)&&ARC<=1,SPK;//MA0下穿MA20且RC指标在1下,做空43 REF模型示例A:=OPEN-(((REF(HIGH,1)-REF(OPEN,1))+(REF(HIGH,2)-REF(OPEN,2))+(REF(HIGH,3)-REF(OPEN,3))+(REF(HIGH,4)-REF(OPEN,4)))/4)*1.8;//A=当前周期的开盘价 -[ (一个周期前的最高价减最低价的差+两个周期前的最高价减最低价的差+三个周期前的最高价减最低价的差+四个周期前的最高价减最低价的差)/4]*1.8REF(CLOSE,1)A,BPK;//连续四个周期的收盘价小于前一周期的收盘价并且当前周期的收盘价大于A时,发出买平并且买开(反手)交易指令REF(CLOSE,1)>REF(CLOSE,2)&&REF(CLOSE,2)>REF(CLOSE,3)&&REF(CLOSE,3)>REF(CLOSE,4)&&CLOSE<=A,SPK;//连续四个周期的收盘价大于前一周期的收盘价并且当前周期的收盘价小于等于A时,发出卖平并且卖开(反手)交易指令44 ROC模型ROC:=(CLOSE-REF(CLOSE,N))/REF(CLOSE,N)*100;ROCMA:=MA(ROC,M);C>REF(HHV(C,N1),1)&&ROCCROCMA,BPK;//价格创新低,ROC未配合下降,显示下跌动力减弱45 RSI模型LC:=REF(CLOSE,1);//定义LCRSI1:=SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;//定义RSI1RSI2:=SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100;//定义RSI2REF(RSI1,1)<40&&CROSS(RSI1,RSI2),BPK;//上周期的RSI1<40并且RSI1上穿RSI2,买平并买开REF(RSI1,1)>60&&CROSS(RSI2,RSI1),SPK;//上周期的RSI1>60并且RSI1下穿RSI2,卖平并卖开46 SAR模型SARLINE:=ABS(SAR(N,STEP,MVALUE));//定义SARLINECROSS(CLOSE,SARLINE),BPK;//最新价上穿SARLINE,买平并买开CROSS(SARLINE,CLOSE),SPK;//最新价下穿SARLINE,卖平并卖开47 WR模型WR:=-100*(HHV(HIGH,14)-CLOSE)/(HHV(HIGH,14)-LLV(LOW,14));MA60:=MA(CLOSE,60);C>MA60&&WR<-80,BK;//在60天均线上wr<-80 开多仓C>MA60&&WR>-20,SP;//在60天均线上wr>-20平多仓C-20,SK;//在60天均线下wr>-20开空仓C<-80,BP;//在60天均线下wr<-85平空仓48 三减六日乖离B36 := MA(CLOSE,3)-MA(CLOSE,6);B612 : =MA(CLOSE,6)-MA(CLOSE,12);REF(B36>REF(HHV(B36,N),1),1)&&B36REF(B36REF(B36,1),BPK;//反之,买进49 交叉型模型示例MA5:=MA(CLOSE,5); //5个周期收盘价的简单移动平均MA10:=MA(CLOSE,10);//10个周期收盘价的简单移动平均MA20:=MA(CLOSE,20);//20个周期收盘价的简单移动平均CROSS(MA10,MA20),BK;//当MA10上穿MA20时,发出买入开仓交易指令CROSS(MA10,MA5),SP;//当MA10上穿MA5时,发出卖出平仓交易指令CROSS(MA20,MA10),SK;//当MA20上穿MA10时,发出卖出开仓交易指令CROSS(MA5,MA10),BP;//当MA5上穿MA10时,发出买入平仓交易指令50 价差型模型示例MA5:=MA(CLOSE,5);//5个周期收盘价的简单移动平均MA10:=MA(CLOSE,10);//10个周期收盘价的简单移动平均CROSS(MA10,MA5)||(CLOSE-MA5)>8,SK;//10周期均线上穿5周期均线或者收盘价与5周期均线的差值大于8时,发出卖出开仓交易指令(MA5-CLOSE)>6,BP;//5周期均线与收盘价的差值大于6时,发出买入平仓交易指令CROSS(MA5,MA10)||(MA5-CLOSE)>8,BK;//5周期均线上穿10周期均线或者收盘价与5周期均线的差值大于8时,发出买入开仓交易指令(CLOSE-MA5)>6,SP;//收盘价与5周期均线的差值大于6时,发出卖出平仓交易指令51 多条件模型示例RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;K:=SMA(RSV,3,1);D:=SMA(K,3,1);J:=3*K-2*D;//以上为KDJ公式MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);//以上为定义5个周期收盘价的简单移动平均和10个周期收盘价的简单移动平均(CROSS(MA5,MA10)&&REF(J,1)<70)||(CROSS(K,D)&&J<30),BK;//5周期均线上穿10周期均线并且前一个周期的J值(KDJ)少于70或者KD金叉时并且J值小于30时发出买入开仓交易指令CROSS(D,K)&&REF(J,1)>70,SP;//KD出现死叉并且前一个周期J值大于70时发出卖出平仓交易指令(CROSS(MA10,MA5)&&REF(J,1)>30)||(CROSS(D,K)&&J>70),SK;//5周期均线下叉10周期均线并且前一个周期的J值(KDJ)大于30或者KD死叉时并且J值大于70时发出卖出开仓交易指令CROSS(K,D)&&REF(J,1)<30,BP;// KD出现金叉并且前一个周期J值小于30时发出买入平仓交易指令52 慢速KD模型RSV:= (CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;FASTK:=SMA(RSV,M1,1);K:=SMA(FASTK,M2,1);D:=SMA(K,M3,1);CROSS(K,D),BPK;CROSS(D,K),SPK;53 指标转模型示例//第一步:把KDJ指标公式COPY过来//第二步:在':'后加上'='变为只定义不用画线,所以把后面的颜色函数(COLORWHITE)也去掉//第三步:把自己总结的交易条件写上,就可完成交易模型。如下://以下是把KDJ指标公式COPY过来,进行修改后的语句RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;K:=SMA(RSV,M1,1);D:=SMA(K,M2,1);J:=3*K-2*D;//以下是加入的交易指令CROSS(K,D),BK;//K向上穿越D,发出买开交易指令CROSS(J,100),SP;//J向上穿越100,发出卖平交易指令CROSS(D,K),SK;//K向下穿越D,发出卖开交易指令CROSS(0,J),BP;//J向下穿越0,发出买平交易指令54 时间函数示例MA5:=MA(CLOSE,5);//定义5周期的简单移动平均线MA10:=MA(CLOSE,10);//定义10周期的简单移动平均线TIME>=0905&&TIME<1455&&CROSS(MA5,MA10),BK;//在9点05分之后14点55分之前的时间段内出现5周期线金*10周期线后买开TIME>=1455,BP;//当时间到14点55分时自动发出买平指令TIME>=0905&&TIME<1455&&CROSS(MA10,MA5),SK;//在9点05分之后14点55分之前的时间段内出现5周期线死*10周期线后卖开TIME>=1455,SP;//当时间到14点55分时自动发出卖平指令