通达信函数中的 FILTER 和 EXIST 区别:EXIST 是指已经过去的时间,而FILTER 指的是还未到的日期。
时间不同:EXIST(CLOSE>OPEN,5),表示在五天内(含当天)有收阳。只要有一天是收阳线,就返回 TRUE,FILTER(CLOSE>OPEN,5),表示如果今天收阳线,那么随后的5天,不管收阳与否都返回 FALSE。)
使用条件不同:Flter不是计算函数,是筛选函数,返回的结果是一张表,所以无法单独使用,经常与Calculate搭配,也可以直接与某些聚合函数搭配
,比如Countrows(filter(表,筛选条件))来计算表行数。Filter的语法是很简单的,第一部分的表可以是任意一个表,包括上一节学习的All()函数返回的表,甚至可以再嵌套一个Filter返回的表; 第二部分筛选条件是结果为真或假的表达式。
所指的时间是相反的。EXIST 是指已经过去的时间,而FILTER 指的是还未到的日期。 FILTER 一般不用于选股,而是在指标图上减少相同的图标出现次数。
扩展资料:
PHP Filter 函数
Filter是一个COM组件,由一个或多个Pin组成。Pin也是一个COM组件。Filter文件的扩展名为ax,但也可以是dll。
大致可分为三类:Source Filter(仅有Output pin)、Transform Filter(同时具有Input pin和Output pin)和Renderer Filter(仅有Input pin)。
一般情况下,创建Filter使用一个普通的Win32 DLL项目。而且,一般Filter项目不使用MFC。这时,应用程序通过调用CoCreateInstance函数创建Filter实例;
Filter与应用程序在二进制级别协作。另外一种方法,也可以在MFC的应用程序项目中创建Filter。
这种情况下,Filter不需注册为COM组件,Filter与应用程序之间的协作是源代码级别的;创建Filter实例,不再使用CoCreateInstance函数,而是直接new出一个Filter对象,如下:
m_pFilterObject = new CFilterClass();
// make the initial refcount 1 to match COM creation
m_pFilterObject ->AddRef();
因为Filter的基类实现了对象的引用计数,所以即使在第二种情况下,对创建后的Filter对象的 *** 作也完全可以遵循COM标准。
-Filter函数
行情函数
1OPEN:O 开盘价
2CLOSE:C 收盘价
3HIGH:H 最高价
4LOW:L 最低价
5VOL:V 成交量(手)
6CAPITAL:流通盘
7AMOUNT:成交金额
8ADVANCE :上涨家数(大盘)
9DECLINE:下跌家数(大盘)
10SELLVOL:内盘主动卖
11BUYVOL:外盘主动卖
引用函数
1COUNT(X,N) :参数x为数组,N为计算周期,统计N周期内满足X的周期数,N为0则从第一个有效数据开始。
COUNT(C>O,0);//历史中阳k线的天数;
COUNT(C>O,20);//20日内出现阳k线的天数;
2REF(X,N) X为数组,N为周期,N可以为变量,N参数经常与BARSLAST()等函数一起使用,说明:引用N周期前的X值。
C/REF(C,1)>=1095 ;//涨停
C/REF(C,1)<=0905;//跌停
C>REF(C,1);//上涨
C<REF(C,1);//下跌
COUNT(C/REF(C,1)>=1095,10) //10日内涨停的次数
3SUM(X,N) X为数组,N为计算周期,统计N周期中X的总和,N为0时则统计所有有效值。
SUM(C/REF(C,1)>=1095,20);//20日内涨停的次数
SUM(IF(C>REF(C,1),V,IF(C<REF(C,1),-1V,0)),0);//能量潮
4MA(X,N);X为数组,N为计算周期,求X的N日移动平均值,算法为(X1+X2+X3+X4+…XN)/N
MA(C,5);//5日均线
MA(C,10);//10日均线
5HHV(X,N) ……求N周期内的X最高值
LLV(X,N)…… 求N周期呢的X的最低值
N为0,表示从第一个有效数值开始
HHV(H,10);//10日最高价的最高价
LLV(L,10);//10日最低价的最低价
HHV(C,10);
LLV(O,10);
6HHVBARS(X,N)N周期内最高的X到本周期的周期数
LLVBARS(X,N)N周期内最低的X值到本周期的周期数
HHVBARS(H,20);//20日内最高价的最高价到距离今天是几天
7SUMBARS(X,A) 将X向前累加直到大于等于A,返回这个区间的周期数
SUMBARS(VOL,CAPITAL);//完全换手到现在的周期数,返回成交量累加到流通盘的周期数
日期数:=SUMBARS(VOL,CAPITAL);
验证:SUM(V,日期数)/CAPITAL;
8BARSCOUNT(X) 第一个有效数据X到当前的周期数
BARSCOUNT(C) //对于日线数据来说返回上市以来的总日数
新股:BARSCOUNT(C)=1;
次新股:BARSCOUNT(C)<180;
//有效数据并不是全是大于等于1的数据,只要有输出数据,不管是0,还是负数,均为有效数据。
BARSCOUNT(MA(C,10)) //从第10根数据才开始输出的,所以要注意了
9BARSLAST(X) X为数组,上一次X不为0到现在的天数
BARSLAST(C/REF(C,1)>=1095);//上一次涨停到现在的天数
10BARSSINCE(X) X为数组,第一次X不为0到现在的天数
BARSINCE(HHV(V,30)/LLV(V,30)>=10);//第一次出现30日内最高成交量是最低成交量的10倍 到现在的周期数
逻辑函数
1IF(X,A,B)若X不为0则返回A,否则返回B。
相对强弱指标 RSI
INPUT:N(5,1,100);
LC:=REF(C,1);
D:=IF(C>LC,C-LC,0);
E:=IF(C<LC,C-LC,0);
A:=SUM(D,N)/N;
B:=SUM(E,N)/N;
原始RSI:(A/A+B)100;
IF(X
,A
,IF(Y
,C
,IF(P
,M
,N)
)
)
2CROSS (A,B),两条线交叉,表示当A从下方向上上穿B时,返回1,否则返回0。也就是上一个周期A<B,而当前周期A>B时,CROSS(A,B)返回1,否则返回0;从下方穿过也就是平时说的金叉,这是个模糊的说法,当两条线同时向下时,也会发生所谓的金叉。
CROSS(MA(C,5),MA(C,10));//五日均线金叉
CROSS(MA(C,10),MA(C,5));//五日均线死叉
3NOT 求逻辑非 NOT(X)返回非X,即当X为0时返回1,当X返回1时,返回0 调整N,我们可以得到结论:当X大于1时NOT(X)返回0,小于1时,返回1
NOT(ISUP);//表示平盘或收阴
NOT(01);//返回1
4ISUP 该周期是否收阳,ISUP当收盘大于开盘,返回1,否则返回0;
ISEQUAL 概周期是否平盘,当开盘价等于收盘,则返回1,否则返回0;
ISDOWN 该周期时候收阴,当收盘价小于开盘价,则返回1,否则返回0;
5ISLASTBAR 是否最后周期,最后一个周期返回去1,否则返回0
6BETWEEN(A,B,C) 介于两个数字之间,表示A处于B和C之间时返回1,否则返回0
BETWEEN(2,1,3)=1;
BETWEEN(4,3,1)=0;
7RANGE(A,B,C) 表示A大于B同时小于C时返回1,否则返回0
RANGE(2,1,3)=1;
RANGE(2,3,1)=0;
//区别 BETWEEN B与C位置颠倒不影响返回结果
关于BETWEEN的举例,均线粘合,均线粘合是很多朋友都感兴趣的问题,类似的这样的问题看似很简单,在实际编写中对其进行量化是编辑这类公式的关键,
所谓均线粘合是指各条均线在一段时间内,均线处于狭小 的区域运行,这里有两个因素,一个是一段时间,必须要指明这个时间段,另一个是狭小的区域,也就 要定义这个区域的上界和下界。
以下是一个6条均线粘合的选股公式,使用方法,调整参数N为粘合程度,N值越小粘合的程度越高,即均线距离越近吗,M为粘合周期,参数N1—N6为各条均线的参数,如果不需要这么多均线参与粘合计算,其中不需要的设为1就可以了
INPUT:
N(2,1,100),
M(10,1,100),
N1(5,1,100),
N2(10,1,100),
N3(20,1,1000),
N4(30,1,1000),
N5(60,1,1000),
N6(120,1,1000);
A1:=MA(C,N1);
A2:=MA(C,N2);
A3:=MA(C,N3);
A4:=MA(C,N4);
A5:=MA(C,N5);
A6:=MA(C,N6);
AA:=(A1+A2+A3+A4+A5+A6)/6;
UP:=AA(N/100)+AA;
DN:=AA-AA(N/100);
NH:COUNT(
BETWEEN(A1,UP,DN)) AND
BETWEEN(A2,UP,DN) AND
BETWEEN(A3,UP,DN) AND
BETWEEN(A4,UP,DN) AND
BETWEEN(A5,UP,DN) AND
BETWEEN(A6,UP,DN)
,M)=M;
8EXIST是否存在,EXIST(X,N) 返回N周期内的是否满足条件X,有一次满足就返回1,N为常量或变量
EXIST1:EXIST(C<REF(C,1),3);//三天中只要有一次下跌就有信号出现
9EVERY(X,N) 返回N周期内是否一直满足X,N可以为常量或变量。
EVERY1:EVERY(C<REF(C,1),3);//连续下跌三天才返回信号
COUNT(C<REF(C,1),3)=3
10LAST(X,A,B) 返回第前A周期到B周期是否一直满足条件X,若A为0,表示从第一天开始,B为0则表示到最后日止。
AA:=MA(C,5)>MA(C,10);
存在:LAST(AA,4,2);//这个函数使满足连续条件的信号滞后,往后移了
11LONGCROSS两条线维持一定周期内后交叉,LONGCROSS(A,B,N)表示N周期内A都小于B,本周期从下方上穿B时返回1,否则返回0
AA:=CROSS(MA(C,5),MA(C,10));
BB:=LAST(MA(C,5)<MA(C,10),5,1);
条件金叉:AA AND BB;
长金叉: LONGCROSS(MA(C,5),MA(C,10),5);
12MAX(A,B) 返回A和B中的较大值
MIN(A,B) 返回A和B中的较小值
13COST(N)N为常数,N为百分比 ,返回获利盘比例为N%的价格
WINNER(A)获利盘比例, A为常数或数组,为价格,返回A价格以下获利百分比,该函数仅对日线数据有效,表示获利盘比例
COST(WINNER(C))=C
平均成本价格:COST(50);
AA:=(VOL,CAPITAL);
平均成本价:SUM(CV,AA)/SUM(V,AA);
//cost函数的平均价格与完成流通股本换手的每日均价
换手率:VOL/CAPITAL100;
穿越筹码:ABS(WINNER(CLOSE)-WINNER(OPEN))100,VOLSTICK;
无量长阳:=穿越筹码>=10 AND MA(换手率,5)<=3 OR (穿越筹码/换手率)>9;
DRAWICON(无量长阳,穿越筹码,10);
大盘函数
INDEXC:大盘收盘
INDEXO:大盘开盘
INDEXV:大盘量能
//石开B系数
//贝塔=K(个股涨跌幅-指数涨跌幅)100,k的意思是当指数涨幅在1%以上时,k=09,当指数涨跌幅在1%以内时,K=1,当指数涨跌幅超过1%时,k=12
INPUT:N(10,1,100),M(40,1,100);
VAR1:=(INDEXC-REF(INDEXC,1))/REF(INDEXC,1);
VAR2:=(CLOSE-REF(C,1))/REF(C,1);
K:=IF(VAR1>001,09,IF(VAR1<-001,12,1));
B1:(VAR2-VAR1)K100;
B:SUM(B1,N);
M5:SMA(B,M,1);
引用函数
1、引用指标公式:‘’指标指标线#周期‘’(参数)
“MACDDEA#WEEK”(26,12,9);表示当天引用了本周期所在的本周的MACD指标中的数据。#的格式调用的本周期所在的上一级周期的指标数据。##的格式则表示调用了前一种格式的前一周期的指标数据。
"MACDDEF##WEEK"(26,12,9)
//表示当天引用了上一周的MACD的DEF数据,#本周,##上周
2引用交易系统公式
“SYSTEM公式名称交易类型”(参数表)
“SYSTEMFMLNAMEENTERLONG”(P1,P2)。交易类型:ENTERLONG 多头买入
EXITLONG 多头卖出 ENTERSHORT 空头买入 EXITSHORT 空头卖出
可供引用的周期类型有MIN1 MIN5 MIN15 MIN30 MIN60 DAY WEEK MONTH 分表表示1分钟 5分钟 15分钟 30分钟 6分钟 日线 周线 月线
ENTERLONG:CROSS(MACD,0)
EXITLONG:CROSS(0,MACD)
引用任意股票数据,引用大盘数据可用INDEXC,INDEXV等
股票代码 “股票代码@数据”
数据名称可以有OPEN HIGH CLOSE LOW AMOUNT (注意这里不可以 用简称)。
"000002@VOL"表示000002该周期的成交量
"1A0001@CLOSE"表示大盘本周期的收盘价,此时大盘被当做一个个股
财务函数
FINONE(id,年份,月日)
FINONE(183,2016,1231);
绘图函数
这组函数的功能是在主图或幅图上设定条件输出图像 图标 直线 文字 数字 指标线 指标柱 等 全部可以单独使用。
公式编辑器的强大,在此组函数中表现的淋漓尽致,无论在表面美感,还是实质上提高工作效率上,都有良好的表现。较好的使用这组函数,可以使公式 输出更加美观 鲜明 直观。
1写字
显示文字 DRAWTEXT(COND,PRICE ,’TEXT’),当COND条件满足时,在PRICE位置输入文字TEXT,显示多行文本可用\N换行。
显示数字,DRAWNUMBER(COND,PRICE,NUMBER),当COND 满足条件时,在PRICE位置书写数字。
换行 文字大小 颜色分别用系统默认的\N COLOR
DRAWNUMBER(C/O>106,095L,L), COLORGREEN;
DARATEXT(C/O>106,095L,”反d啦、\N大阳线”), COLORRED;
在图形上绘制小图标
DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE号图标(TYPE为1--41)
//DRAWICON(CLOSE>OPEN,LOW,1)表示当收阳时在最低价位置画1号图标
DRAWICON(CLOSE>OPEN,LOW,1);
DRAWICON(CLOSE>OPEN,LOW+1,2);
DRAWICON(CLOSE>OPEN,LOW+2,3);
DRAWICON(CLOSE>OPEN,LOW+3,4);
DRAWICON(CLOSE>OPEN,LOW+4,5);
DRAWICON(CLOSE>OPEN,LOW+5,6);
2画线
DRAWLINE画直线,DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND),当满足COND1时,在PRICE1位置画直线起点,当COND2条件满足时,在PRICE2位置画直线终点,DRAWLINE目前支持POINTDOT LINETHICK COLOR 这四个描述函数,EXPAND=0 EXPAND=1分别表示 不延长 延长。
DRAWLINE是唯一一个语句里面用到两个COND的绘图函数,因为她需要两个点来决定一条直线,DRAWLINE是从第一个点滑到第二点的,即在起点与终点的顺序关系,第一点出现的时间,要在第二点前,否则线是画不出来的。
DRAWLINE(HIGH>=HHV(H,20),H,L<=LLV(L,20),L,1);
POLYINE(COND,PRICE)当COND条件 满足时,在PRICE位置为顶点画折现连接可以用于只显示指标线,不在顶部显示数据的场合支持POINTDOT LINETHICK COLOR SHIFT 这四个描述函数
POLYLINE(C>REF(C,1),H),COLORRED;
//把所有点全连接起来
STICKLINE 画柱状线 STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,在PRICE1 和PRICE2位置之间画柱状线,宽度为WIDTH可为0-100(10为标准间距),WIDTH为宽度,支持小数,可为0,用1和01,会有很大的差距,取8时和主图的K线宽度差不多,EMPTH不为0则画空心柱,0为实心柱,PRICE1和PRICE2没有顺序关系。
AA:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,08,1);
线形描述
这一组中的函数,全部不能单独使用,一定要和其他指标一起用才能发挥效力,因为他们是描述指标线的。
指标在主图或幅图中显示,主要分为柱状和线状两种,这一组中的函数,全部 为了控制指标的显示而设计的。
掌握这组函数,可以使指标输出显示丰富多彩,色彩缤纷。
使用的一般形式:指标,指标描述函数1,指标描述函数2……;
-画柱状线,STICK的英文是柱 棒的意思,COLORSTICK是以零轴为中心画彩色柱状线,零轴以下 是阴线颜色,零轴上为阳线颜色,LINESHITK同时画柱状线和指标线。
一般的指标显示,在软件默认中是线状的,即如果不加指标线描述函数,则指标以线状的形式输出。
C-REF(C,1),STICK;
C-REF(C,1),COLORSTICK;
C-REF(C,1),LINESTICK;
//一般的信号,不加描述符函数,会有箭头状,加了STICK之后,就成柱状了。
C>REF(C,1)AND C>REF(C,2);
C>REF(C,1)AND C>REF(c,2),STICK;
//在同一个指标中,有多个相同性质的描述 函数时,软件只认最后一个描述函数,既想显示指标线和柱状线,又想以零轴为中心显示彩色柱状线,可以用分开的两句语句来达成目标。
A:=C-REF(C,1);
A,LINESTICK;
A,COLORSTICK;
-VOLSTICK 画成交量柱状线,今天的收盘价DAU昨天的收盘价,显示阳柱,小于等于显示阴柱。
V,VOLSTICK;
-CROSSDOT 画叉线或X状线、CIRCLEDOT 画小圆圈线、POINTDOT 画点状线
叉状线:MA(C,20), CROSSDOT;
小圆圈线:MA(C,30),CIRCLEDOT;
点状线:MA(C,6),POINTDOT ,LINTTHICK3;
MA(C,90),CROSSDOT;
MA(C,90),CIRCLEDOT,COLORMAGENTA;
-LINETHICK 画线粗细 参数1-9, THICK,字面意思是厚的,LINETHICK就可以理解为线(棒)的粗细了。
N分别取 1 2 3 4 5 6 7 做7个幅图。
-COLOR颜色
通达信有下穿函数。
CROSS表示两条线交叉,用法:CROSS(A,B)表示当A从下向上穿过B时返回1,否则返回0。
例如:CROSS(MA(CLOSE,5),MA(CLOSE,10))表示5日均线与10日均线交金叉。只要把CROSS(A,B)中的A、B前后位置互换即可表示为下穿函数。
扩展资料
计算机函数与一般的函数不同,是指一段在一起的、可以做某一件事儿的程序,也叫做子程序。
一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能,所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。
在C语言中,子程序的作用是由一个主函数和若干个函数构成,由主函数调用其他函数,其他函数也可以互相调用,同一个函数可以被一个或多个函数调用任意多次。
参考资料
--通达信
--计算机函数
通达信里CURRBARSCOUNT是求到最后交易日的周期数。同花顺的barscount可以代替,barscount是指求总的周期数。用法:BARSCOUNT(X)第一个有效数据到当前的天数
例如:
BARSCOUNT(CLOSE)
对于日线数据取得上市以来总交易日数,对于分笔成交取得当日成交笔数。 只要是应用到最后交易日,两者意义是一样的。
扩展资料:
通达信炒股软件是一款定位于提供多功能服务的证券信息平台,由深圳财富趋势科技股份有限公司设计的一款移动证券软件。通达信允许用户自由划分屏幕,并规定每一块对应哪个内容。
通达信的知名网上交易产品有:招商证券智远一户通,国信证券金太阳版,中信证券至信全能版,广发证券金融终端 ,银河证券海王星,国泰君安证券富易,光大证券金阳光卓越版,中信建投证券卓越版,华泰证券高级版,中泰证券融易汇,兴业证券优理宝财富版,长江证券金长江财智版,中金财富管理终端,安信证券安睿版,国海证券金探号、方正证券小方版、平安证券慧赢版
通达信软件功能:
1、集沪深、港股、美股、期货、期权、基金、宏观以及外汇等市场行情于一体,适用于所有投资者。
2、创新结合沪深数据,推出DDE决策、个股板块资金流向、主题事件、一致预期、持股变动、龙虎榜单等特色功能。
3、提供沪深、港股及美股市场行情,支持自选、排名、板块以及各种技术指标。
4、通过商品期货、外币汇率与环球指数来概览全球市场。
5、具备多种栏目资讯。
通达信是全国市场提供网上交易厂商之一。全国地区主要的几个券商比如中信、国泰君安、华泰、银河、中信建投、申万宏源、国信、招商、海通、广发、兴业、中泰、安信等均采用通达信的网上交易行情系统。
1
/6
首先说明AND函数,其逻辑表达式为:
AND(Logical1,Logical2)
Logical1、Logical2是1到255个结果为TURE或FALSE的检测条件,检测内容可以使逻辑值、数组或引用
当所有检测条件为真时,AND函数结果为TURE
只要有一个条件为假时,AND函数结果即为FALSE
2
/6
举一个简单的例子,如下图,
我计算A2,B2的AND函数结果,输入函数格式如下:
3
/6
函数算出来的结果是"FALSE",这是为什么呢?
因为在这里面,B2单元格的数字为0,本身代表的意思就是“错误”,所以根据AND函数的运行规则,其结果只能是"FALSE"
4
/6
同理,我可以算出下面的函数结果为"TURE"
另外,我们也可以自己验证,仅仅在AND函数里添加一个逻辑值,也会得到类似的答案
比如 =AND(0)的结果为"FALSE", =AND(1)的结果为"TURE",这里就不再追述了
5
/6
前面也说了,AND和OR函数主要是和其他函数连接使用的。这里就简单举一个和IF函数嵌套使用的例子。
如下图所示,如果公司规定连续两年,员工的绩效评价分数都高于120分,为优秀员工,那么就可以在IF函数中嵌套使用AND函数来快速筛选
6
/6
函数的设置如上图所示,用AND函数来判断每个员工两年的绩效是否大于120,都大于的返回"TURE",那么IF函数则返回"优秀",反之则反。
结果如下图所示
OR函数说明
1
/4
再来说明OR函数,其逻辑表达式为:
OR(Logical1,Logical2)
Logical1、Logical2是1到255个结果为TURE或FALSE的检测条件,检测内容可以使逻辑值、数组或引用
只要一个逻辑值为真,OR函数即为"TURE"
只有所有逻辑值都为假时,OR函数才为"FALSE"
2
/4
OR函数与AND函数非常类似,这里继续用上面OR函数的例子来说明
函数书写见下图
3
/4
按照OR函数的运行规则,这三行的运行结果如下
可见,只有全部为"0"时,OR函数的结果才为"FALSE"
4
/4
如果说,上面的绩效规则改一下,改为”只要有一次绩效考核分数大于120,即为优秀“,那么IF函数嵌套OR函数就可以很简单的解决。
MA是移动平均,MA(CLOSE,5)的算法是把最近5天的收盘价加起来再除以5\x0d\\x0d\EMA是指数移动平均线,有的软件简称为EXPMA,是一种加权的移动平均线指标。与简单移动平均线相比,指数移动平均线为近期的价格赋予较大的权重,同时又综合考虑了股票上市以来的所有交易价格。以12日EMA为例,其计算方法如下: \x0d\\x0d\W=2÷(12+1)=01538 \x0d\EMA(12)=(收盘价-昨日的EMA)×01538+昨日的EMA\x0d\参考
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)