量化投资经典 TB公式入门
量化超额计算公式
量化超额计算公式全文共四篇示例,供读者参考第一篇示例:量化超额计算公式是金融领域常用的一种方法,用于衡量投资组合或证券的收益是否超过市场平均水平。
超额计算常用于评估基金经理的业绩,或者对比不同证券的表现。
在投资决策中,量化超额计算公式是一个重要的工具,可以帮助投资者更好地了解投资组合的表现情况,为投资决策提供依据。
在量化超额计算中,最常用的指标是超额收益率。
超额收益率指的是投资组合或证券的收益率减去其基准指数的收益率,也就是证券或基金相对于市场平均水平的表现。
超额收益率的计算公式如下:超额收益率= 投资组合或证券的收益率- 基准指数的收益率基准指数通常是市场指数,如标准普尔500指数。
投资组合的收益率可以是每日、每周、每月或每年的收益率,也可以是累积收益率。
除了超额收益率外,还有一些其他常用的量化超额计算公式,如信息比率、评价比率、夏普比率等。
这些指标可以帮助投资者更全面地评估投资组合的表现,从而更好地进行风险管理和资产配置。
信息比率是一种衡量风险调整后收益的指标,计算公式如下:评价比率是一种比较基金经理的主动管理能力的指标,计算公式如下:评价比率= 投资组合或证券的年化超额收益率/ 投资组合或证券的年化超额波动率在使用这些量化超额计算公式时,投资者需要注意的是,计算结果只是一个参考值,不能完全代表投资组合的表现。
投资者还需要结合其他因素,如投资目标、风险偏好、市场环境等进行综合分析,从而制定合适的投资策略。
量化超额计算公式是投资管理中的重要工具,可以帮助投资者更好地了解投资组合的表现情况,为投资决策提供有力支持。
投资者在使用这些计算公式时,需要根据具体情况进行分析和判断,避免盲目跟风,做出理性的投资决策。
【以上内容仅供参考】。
第二篇示例:量化超额计算是指通过计算某个投资组合或证券的收益与基准收益之间的差异来衡量该组合或证券的表现。
量化超额计算公式是用来计算这种差异的数学方法,可以帮助投资者评估投资组合或证券的绩效,从而做出更好的投资决策。
股票量化指标公式
股票量化指标公式
股票量化指标是投资者使用的一系列公式,用于对股票市场进行分析和预测。
这些指标可以帮助投资者确定何时买入或卖出股票,以便最大限度地实现收益。
下面是一些常见的股票量化指标及其公式:
1. 相对强弱指数 (RSI):该指标用于测量股票价格走势的强度。
公式:RSI = 100 - [100 / (1 + RS)]
其中,RS = 平均增长值 / 平均跌落值
2. 移动平均线 (MA):用于平滑股票价格波动并识别趋势。
公式:MA = (p1 + p2 + ... pn)/ n
其中,p1至pn为股票价格,n为时间段
3. 布林带 (BB):用于测量股票价格的波动性和趋势。
公式:上布林带 = MA + 2 * 标准偏差,下布林带 = MA - 2 * 标准偏差
4. 相对强弱指数 (ROC):用于测量股票价格涨幅的速度。
公式:ROC = (当前价格 - n期前的价格) / n期前的价格) * 100
5. 动量指标 (MOM):用于测量股票价格变化的速度。
公式:MOM = 当前价格 - n期前的价格
这些指标通常会在股票分析软件中使用,同时还可以通过在线资源进行计算。
不过,投资者应该知道这些指标不能保证股票市场走势的准确性和预测性。
因此,建议投资者在做出任何决策之前,还要考虑其他因素,如股票市场的整体趋势和财务状况等。
总的来说,股票量化指标可以帮助投资者更好地理解股票价格趋势和波动性。
然而,使用这些指标需要一定的经验和判断力,以便更好地使用这些指标来指导投资决策。
TB公式入门
TB公式入门交易开拓者公式基础Bar数据:公式在进行计算时,都是建立在基本数据源(Bar数据)之上,我们这里所谓的Bar 数据,是指商品在不同周期下形成的序列数据,在单独的每个Bar上面包含开盘价、收盘价、最高价、最低价、成交量及时间。
期货等品种还有持仓量等数据。
所有的Bar按照不同周期组合,并按照时间从先到后进行排列,由此形成为序列数据,整个序列称之为Bar 数据。
公式如何执行:TradeBlazer公式在计算时按照Bar数据的Bar数目,从第一个Bar到最后一个Bar,依次进行计算,如果公式中出现了调用Bar数据函数的,则取出当前Bar的相应值,进行运算。
公式执行从上至下,Bar从左到右执行。
公式执行顺序公式执行顺序TradeBlazer公式的HelloWorld!/forum/thread-63-1-1.htmlBeginFileAppend("c:\\Formula.log","hello world");End公式的种类指标K线形态特征走势交易指令函数公式环境的组织层次(1)公式环境的组织层次(2)建立一个最简单的指标:画零线BeginPlotNumeric(“Line1”,0);EndBegin和End宣告公式正文的开始和结束,公式语句应该放到Begin和End之间。
PlotNumeric表示输出一个数值型组成的数组。
技术指标属性的设置再画一条线…BeginPlotNumeric(“Line1”,5);End参数一根线ParamsNumeric Length(0);BeginPlotNumeric(“Line1”,length);EndN根线ParamsNumeric Length1(0);Numeric Length2(5);BeginPlotNumeric(“Line1”,length1);PlotNumeric(“Line2”,length2);End取较大值ParamsNumeric Length1(0);Numeric Length2(5);Beginif(Length1 >= Length2){PlotNumeric(“Line1”,length1);}else{PlotNumeric(“Line1”,length1);}EndPlotNumeric由输出的名字来区分是否为同一条线。
tbquant指标
TBQuant指标1. 什么是TBQuant指标?TBQuant指标是指在投资领域中使用的一种技术分析指标,用于评估股票或其他金融资产的交易行为和市场趋势。
TBQuant指标是由一组数学公式和计算方法组成的,通过对历史价格和成交量等数据进行计算,以辅助投资者做出买入或卖出的决策。
TBQuant指标的全称是”Trading Book Quantitative Model”,中文翻译为”交易簿量化模型”。
它是一种基于量化投资理论和技术分析方法的指标,通过对市场数据的统计分析和模型建立,以量化的方式评估投资风险和预测市场趋势。
2. TBQuant指标的计算方法TBQuant指标的计算方法主要包括以下几个步骤:2.1 数据收集和整理首先,需要收集和整理相关的市场数据,包括股票的价格、成交量、交易日期等。
这些数据可以通过证券交易所、金融数据服务提供商或专业的量化投资平台获取。
2.2 数据预处理在进行计算之前,需要对数据进行预处理。
预处理的目的是去除异常值、填补缺失值、调整数据的频率等,以保证数据的准确性和一致性。
2.3 计算指标数值根据TBQuant指标的具体定义和计算公式,对预处理后的数据进行计算,得到指标的数值。
具体的计算方法因指标而异,常见的TBQuant指标包括移动平均线、相对强弱指标、随机指标等。
2.4 指标解释和应用通过对指标数值的解释和分析,可以帮助投资者理解市场的趋势和交易行为,从而做出相应的投资决策。
指标的应用范围广泛,可以用于股票、期货、外汇等金融市场的分析和预测。
3. TBQuant指标的分类和常用指标TBQuant指标可以分为趋势指标、震荡指标和量能指标等不同类型。
下面介绍一些常用的TBQuant指标:3.1 移动平均线(Moving Average)移动平均线是一种常用的趋势指标,用于平滑价格曲线,反映市场的长期趋势。
常见的移动平均线包括简单移动平均线(SMA)和指数加权移动平均线(EMA)等。
期货程序化TB公式的结构与编程
期货程序化TB公式的结构与编程 TradeBlazer公式的结构与编程目录一、TB的程序化交易的功能与特点41-1、TB程序化交易的功能4 1-2、TB公式说明4 1-3、TB编程步骤5 二、数据的说明与使用62-1、Bar数据6 2-2、计算方法62-3、叠加数据8 2-4、行情数据9 2-5、属性数据9 三、TB公式编程基础知识93-1、TB的公式的结构9 3-2、公式名称规则11 3-3、语句写法11 四、参数的说明与应用214-1、参数说明22 4-2、参数的使用与说明22 4-3、参数的默认值23 4-4、参数使用例子24 4-5、变量参数24 五、变量的类型与使用251页码 5-1、变量参数25 5-2、变量声明26 5-3、变量的默认值27 5-4、变量赋值27 5-5、序列变量28 5-6、变量、数据与函数的回溯28 六、系统函数的使用316-1、标点符号31 6-2、控制语句32 6-3、循环语句37 七、用户函数的使用与说明407-1、TB用户函数40 7-2、序列函数42 7-3、使用内建用户函数42 7-4、用户函数的调用44 7-5、用默认参数调用用户函数44 八、技术指标编写458-1、技术指标与应用45 8-2、常用的技术指标应用举例48 8-3、自编指标的输出56 8-4、指标编写常见问题58 九、用户函数编写589-1、TB用户函数的编写58 9-2、交易指令(Buy/Sell)61 9-3、叠加多个商品合约进行交易9-4、交易常用系统函数介绍62 十、交易策略的程序实现与实例6526210-1、利用技术指标的交易策略65 10-2、止赢止损70 10-3、加仓减仓77 10-4、多品种交易80 10-5、集合竞价数据过滤82 10-6、函数下单撤单和全局变量操作10-7、数据库读写83十一、其他注意事项8811-1、信号消失问题及解决办法9111-2、盘中和盘后公式运行的差别94十二、策略评估的常用指标94383正文一、 TB程序化交易的功能与特点TradeBlazer公式(简称TB),新推出的V4公式,运行效率大幅提高,除支持多线程应用功能,在程序交易的主要特点如下: 1-1、TB程序化交易的功能??所使用的TBL(TradeBlazer Language)语言功能强大、语法简明易懂;??TB的公式执行机制是在每根BAR上都会执行一遍公式,能实现公式和算法的精确控制; ??具有结构化的控制语句,支持复合语句―IF语句和FOR,WHILE语句; ??提供了丰富的系统函数,支持用户函数,便于实现程序的模块化设计;??提供A函数、Q函数等,可实时获取当前交易账户的账户信息,并能对叠加商品进行发单和撤单,便于实现头寸调整、风险控制、资金管理以及套利交易的程序化; ??支持单图表叠加多个商品的交易和测试; ??技术指标源代码公开,便于指标算法的改进;??强大的图表化、多维度的交易模型测试分析报告及参数优化功能,可实现多品种、多策略、多图表周期的组合测试,提供了丰富的、和实战密切相关的系统评估指标; ??支持交易模型的导入导出,支持交易模型的加密和无源码模式导出,便于模型研发后的商业应用。
量化经典博易大师指标公式汇总以及源代码集成一(可编辑修改word版)
TAN正切值 用法:TAN(X)返回X 的正切值名称定义用法解释用法举例AVEDEV平均绝对偏差 用法: AVEDEV(X,N)算法含义:平均绝对偏差,求 X 的 N 日平均绝对偏差DEVSQ数据偏差平方和用法:DEVSQ(X,N)算法含义: 数据偏差平方和, 求 X 的 N 日数据偏差平方和FORCAST线性回归预测值用法:FORCAST(X,N)为X 的N 周 期线性回归预测值如:FORCAST(CLOSE,10)表示求 10 周期线性回归预测本周期收盘价SLOPE (X,N) 线性回归斜率 得到X 在N 周期内的线性回归的斜率。
例:SLOPE(CLOSE,5);表示求 5 周期线性回归线的斜率STD估算标准差用法:STD(X,N)为 X 的 N 日估算标准差,算法:例 STD (CLOSE ,10): 求 10 周期收盘价的估算标准差。
STDP 总体标准差用法:STDP(X,N)为 X 的 N 日总体标准差,算法:VAR估算样本方差 用法: VAR(X,N)为 X 的 N 日估算样本方差。
算法:VARP总体样本方差 用法: VARP(X,N)为 X 的 N 日 总体样本方差,算法:以上为统计函数pobo 博易期货指标(大集合)网摘汇总利多方舟 (2)变色MACD (2)仿DDX (4)博易版(king 趋势) (4)无敌趋势 (5)粉K 线 (5)无敌精灵 (5)买卖航标 (6)天风地火 (6)无影手 (7)合并即涨 (8)顶底奇准 (8)一品操盘 (9)★底部提示:副 (10)博易顶底王 (11)趋势线(主图) (11)变色主图线 (12)CCI 主图K 线 (12)优化MACD (12)博易指标公式(量能多空) (12)多空参考 (13)趋势顶底 (14)资金量指标 (15)机构做空能量线 (15)专业快刀手 (15)副图K 线 (16)一品操盘 (17)天机均线 (17)无双多空 (17)金山银山 (18)量能指标 (18)即时趋势 (19)快慢多空 (19)彩色K 线 (19)量能多空 (19)鳄鱼分形 (20)多空之王 (22)利多方舟VAR1:=(100 - ((90 * (HHV(HIGH,21) - CLOSE)) / (HHV(HIGH,21) - LLV(LOW,21))));VAR2:=(100 - ((90 * (HHV(HIGH,21) - CLOSE)) / (HHV(HIGH,21) - LLV(LOW,21))));VAR3:=(100 - MA(((100 * (HHV(HIGH,6) - CLOSE)) / (HHV(HIGH,6) - LLV(LOW,6))),34)); DRAWTEXT(CROSS(VAR2,MA(VAR3,6)),(CLOSE*0.95),'↑'),COLOR0000FF; DRAWTEXT(CROSS(MA(VAR3,6),VAR1),(HIGH * 1.035),'卖'),COLORFFFF34;年:MA(CLOSE,30),COLORGREEN;STICKLINE(C>= 年AND C>=O,C,O,3,0),COLORRED;STICKLINE(C>= 年AND C>=O,H,L,0,0),COLORRED;STICKLINE(C>= 年AND C<O,C,O,3,1),COLORRED;STICKLINE(C>= 年AND C<O,O,H,0,0),COLORRED;STICKLINE(C>= 年AND C<O,C,L,0,0),COLORRED;STICKLINE(C< 年AND C>O,C,O,3,1),COLORFFFF00;STICKLINE(C< 年AND C<=O,C,O,3,1),COLORFFFF00;STICKLINE(C< 年AND C<=O,H,L,0,1),COLORFFFF00;STICKLINE(C< 年AND C>O,C,H,0,1),COLORFFFF00;STICKLINE(C< 年AND C>O,O,L,0,1),COLORFFFF00;符号↑为"买”变色 MACDDIFF:(EMA(CLOSE,12) - EMA(CLOSE,26))*20,COLORFFFFFF,LINETHICK1; DEA:EMA(DIFF,9),COLOR00FFFF,LINETHICK1;MACD:2*(DIFF-DEA), COLORSTICK;MACD1:2*(DIFF-DEA),COLORRED,LINETHICK0;MACD2:SMA(MACD1,0,3),COLORFFFF00,LINETHICK0;STICKLINE(MACD1>MACD2 AND MACD1>0,0,MACD1,2,0),COLORRED; STICKLINE(MACD1>MACD2 AND MACD1<0,0,MACD1,2,0),COLOR00FFFF; STICKLINE(MACD1<MACD2,0,MACD1,1,0),COLOR40FF00;S1:=MACD<0;S2:= (MACD>=0);S3:=BARSLAST(CROSS(DIFF,DEA));S4:=REF(S3,S3+1);S5:=DEA>REF(DEA,S4);S6:=DEA;上成立:=CROSS(DIFF,DEA) AND S5;下成立:=CROSS(DIFF,DEA) AND S6;L1:=(EMA(CLOSE,3) - EMA(CLOSE,13));L2:=EMA(L1,9);L3:=BARSLAST(CROSS(L1,L2));L4:=REF(L3,L3+1);L5:=L2;变盘:CROSS(L1,L2) AND L5,LINETHICK0,COLORD6FF9C;STICKLINE(变盘,5,-5,4,1),COLORD6FF9C;成立距今:BARSLAST(CROSS(DIFF,DEA)),LINETHICK0;L6:=BARSCOUNT(CLOSE);DRAWTEXT(CROSS(L1,L2),DIFF,' 买'),COLOR0000FF;DRAWTEXT(CROSS(L2,L1),DIFF,' 卖'),COLORFFFF00;REF(DEA,S3),POINTDOT,COLORGREEN;IF(L1>L2,REF(DEA,S3),0),POINTDOT,LINETHICK5,COLORB078FF;IF(MACD<0,REF(DEA,S3),0),POINTDOT,LINETHICK5,COLORGREEN;LS:=IF(DIFF>DEA AND DIFF>0,1,0);加速上扬:IF(REF(LS=0,1) AND LS=1,0.1,0);XG1:CROSS(MACD1,MACD2) AND MACD1<0,LINETHICK0;XG2:CROSS(DIFF,DEA),LINETHICK0;M1:=MACD>REF(MACD,1) AND DIFF<DEA;绿柱短了:M1 AND COUNT(M1,10)=1 AND C>MA(C,55) AND COUNT(MACD<0,5)>=5,LINETHICK0;DRAWTEXT(绿柱短了,MACD,'绿柱短了'),COLOR00FF80;渔家乐渔家:3*SMA((CLOSE-LLV(LOW,21))/(HHV(HIGH,21)-LLV(LOW,21))*100,5,1)- 2*SMA(SMA((CLOSE-LLV(LOW,21))/(HHV(HIGH,21)-LLV(LOW,21))*100,5,1),3,1),LINETHICK2 , COLORYELLOW;渔家乐: IF(CROSS( 渔家,MA( 渔家,10)) AND 渔家<=10,35,0),LINETHICK3 , COLORMAGENTA;渔家出海: IF(CROSS(渔家,MA(渔家,10)) AND 渔家<35,70,0),LINETHICK3 , COLORRED; 渔家网: IF(CROSS(MA(渔家,9),渔家) AND 渔家>70,110,72),LINETHICK1 , COLORCYAN; DRAWICON(CROSS(渔家,62),68,1);DRAWICON(CROSS(渔家,72),70,1);DRAWICON(CROSS(渔家,66),72,1);DRAWICON(CROSS(渔家,68),66,1);DRAWICON(CROSS(76,渔家),70,2);DRAWICON(CROSS(68,渔家),84,2);DRAWICON(CROSS(66,渔家),80,2);DRAWICON(CROSS(64,渔家),70,2);准备下网: IF(渔家<=10,30,0),STICK,COLOR8080FF,LINETHICK4;此处下网: IF(CROSS(渔家,10),45,0),STICK,COLORRED,LINETHICK4;DRAWTEXT(此处下网,40,'关注!!!'),COLORYELLOW;准备休渔吧: IF(渔家>=90,70,0),STICK, COLORGREEN;休渔吧: IF(CROSS(84,渔家),100,0),STICK,COLOR77AAFF,LINETHICK5;DRAWTEXT(休渔吧,98,'回家!'),COLOR77AAFF ;水面: 72, COLORCYAN ;网架: 105;水底: 10;渔家2: MA(渔家,9),LINETHICK2 ,COLORFF0000;IF(CROSS(渔家,MA(渔家,6)) AND 渔家2<45,渔家2,0),COLORCCB3E2 ,LINETHICK3 ; 仿 DDXVOL,VOLSTICK;VAR1:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN));成交:VOL,VOLSTICK;主买:IF(CLOSE>OPEN,VAR1*(HIGH-LOW),IF(CLOSE<OPEN,VAR1*((HIGH- OPEN)+(CLOSE-LOW)),VOL/2)),COLORRED,COLORSTICK;主卖:IF(CLOSE>OPEN,0-VAR1*((HIGH-CLOSE)+(OPEN-LOW)),IF(CLOSE<OPEN,0-VAR1*(HIGH-LOW),0-VOL/2)),COLOR00FF00,COLORSTICK;增仓减仓: IF(主买>=(ABS(主卖)),主买+主卖,主卖+主买),COLORYELLOW,LINETHICK2; 博易版(k i n g趋势)QS0:=((CLOSE - LLV(LOW,120)) / (HHV(HIGH,120) - LLV(LOW,120)));QS1:=((QS0 / 1) * EMA(CLOSE,20));QS:=SMA(QS1,3,1);QD0:=((CLOSE - LLV(LOW,119)) / (HHV(HIGH,119) - LLV(LOW,119)));QD1:=((QD0 / 1) * EMA(CLOSE,20));QD:=SMA(QD1,5,1);QF0:=((CLOSE - LLV(LOW,118)) / (HHV(HIGH,118) - LLV(LOW,118)));QF1:=((QF0 / 1) * EMA(CLOSE,20));QF:=SMA(QF1,5,1);PX1:=((((QS + QD) + QF) / 3) + EMA(CLOSE,20));PX2:=MA(PX1,2);PX3:=MA(PX1,3);YY:=((((2 * CLOSE) + HIGH) + LOW) / 4);MA1:=MA(YY,45);C1:=(PX1 - MA1);M:=(PX2 - MA1);O1:=(PX3 - MA1);MA2:=MA(C1,8);BO:=0.5,COLORRED;STICKLINE((C1 >= M),M,(O1 - 0.03),4,0),COLORRED;STICKLINE((C1 <= M),M,(O1+ 0.03),4,0),COLORFFFF00;LIFE:=MA(C1,13),COLORGREEN;A:MA(LLV(C1,120),3),COLORRED;B:MA(HHV(C1,120),3),COLORGREEN;。
量化波段王指标公式
量化波段王指标公式
量化波段王指标是一种技术指标,可以帮助投资者分析股票市场。
它最早由美国技术分析师威廉·B·波段(William Blau)发明,后来被称为“波段王”。
量化波段王指标是一种量化技术指标,它可以用来分析股票市场的趋势发展,以及股票价格的波动范围。
这个指标由三部分组成,分别是最低价、最高价和收盘价。
它的计算公式如下:
量化波段王指标=(最高价-最低价)/收盘价
量化波段王指标可以用来判断股票市场的趋势强弱,它可以帮助投资者判断股票市场的走势,从而给出股票的买卖信号。
它的优点是反应股票价格的快速变化,可以帮助投资者及时实施买卖操作,从而获得更高的投资回报。
量化波段王指标并不能完全反映股票价格的走势,它只能反映当前股票价格的变化情况。
因此,投资者在使用量化波段王指标分析股票市场时,还需要结合其它技术指标,以便得出更准确的分析结果。
另外,投资者也应该掌握股票市场的其他因素,如经济、政治和政策等,并做出正确的投资决策。
TB交易网校2011.12.29课程:交易开拓者公式编写基础(一)
----- 输出值的名称 ----- 输出的布尔值; ----- 输出值的定位点; ----- 输出值的颜色; ----从当前BAR回溯的 BAR数
举例:
PlotBool(―con",con,High); 在Bar的最高价位置输出布尔变量con的值,如果con为真, 则显示“笑脸”图标,否则显示为“哭脸”图标
Bar数据 Date 当前K线的日期 含义
Time Open
High Low Close Vol OpenInt CurrentBar BarStatus
当前K线的开始时间 当前K线的开盘价
当前K线的最高价 当前K线的最低价 当前K线的收盘价(最新价) 当前K线成交量 当前K线持仓量 当前K线的索引值(K线的编号,从0开始) 当前K线的状态值(0—第一根K线、2—最后即最新 一根K线、1—其他K线)
参数在使用前必须进行声明,声明方法如下:
Params Numeric Length(10); String Filename("D:\\sample2.log"); bool OutputToFile(false);
公式应用和用户函数的参数略有不同:
公式应用的参数只支持三种基本类型,用ห้องสมุดไป่ตู้函数的参数支持全部
九种类型; 公式应用的参数一定要有初始值,而用户函数的参数可以没有默 认值;
参数的值在公式的脚本段中只能引用,不能修改;
变量
变量的主要用处在于它可以存放计算或比较的结果,以方 便在之后的脚本中直接引用运算的值,而无需重现计算过 程。 变量在使用前必须进行声明,声明方法如下:
Vars NumericSeries MA; Numeric Stopline(30);
以TB为核心的量化资产管理体系
策略如何做到稳定
控制住亏损就部分的解决了稳定问题 头寸变化,控制风险 策略进化、自适应 选择符合策略所抓特征的市场去交易
如何让策略承受大资金
降低进出场点偏差对结果的影响
增大平均盈利,抵抗滑点成本 避开突破型进出场点,更进一步,避开低流动
性价格点
定义市场组合,自己构建需要的市场特征
课程内容
资产管理的目标是大资金稳定盈利 以TB为核心的量化资产管理体系 关于策略设计的思考
30
策略盈利的关键
策略盈利 ∝ 胜率X盈亏比
高胜率 高盈亏比 接近圣杯 特征 交易机会 多的市场 低胜率 高盈亏比 通常的技 术分析型 趋势跟踪 策略 大幅度单 边趋势行 情 高胜率 低盈亏比 低胜率 低盈亏比 统计套利、 无法盈利 高频策略
5
存在圣杯策略么?
圣杯策略:
稳赚不赔 拥有上帝的力量
存在圣杯么?
存在上帝么? 没见过!=不存在
回答:不知道,目前也做不出来
6
策略如何做到盈利
任何一种看待市场的理论,只要能“自圆其说”,即有合 理和完整的逻辑体系,都能做到盈利 常见的市场理论:
技术分析型:道氏趋势、形态、均线、通道、压力支撑 基本面:产业链供求平衡、产品季节周期、宏观周期 资金博弈型:筹码、资金链成本、主力庄家判断 数理模型:隐马尔可夫、最大熵、分形、随机游动、频谱解析 神秘型:波浪、江恩、周易 综合型 以上通常是判断方向性的理论,还有大量数理模型判断市场波动性
以TB为核心的量化 资产管理体系
徐文旭 2012-06-07
1
课程内容
资产管理的目标是大资金稳定盈利 以TB为核心的量化资产管理体系 关于策略设计的思考
开拓者程序化交易TB公式高级应用
开拓者程序化交易TB公式高级应用
开拓者程序化交易TB公式高级应用是一种强大的利用高级公式进行
交易的程序化技术。
这项技术能够帮助投资者有效地实现高效投资,通过
利用量化技术实现自动交易,投资者可以根据自己的投资策略和分析,实
现有效的投资。
对于开拓者程序化交易TB公式高级应用,主要用于订单执行、市场
深度管理和风险控制。
首先,订单执行的公式能够帮助实现快速反应,快
速做单,实现整个交易的规范化及精细化控制,能够根据自身投资策略和
市场状况实施更加灵活的交易;其次,市场深度的公式可以模拟市场深度,从而实现有效的投资组合的风险控制。
市场深度的公式可以帮助投资者判
断市场的走势和能量,从而有效控制组合的风险。
最后,风控公式能够帮
助投资者模拟风险情况,实现风险管理的精细化和有效化。
风控公式可以
帮助投资者有效评估市场的风险,从而有效的控制风险,实现安全合规的
投资。
综上所述。
量化投资经典TB公式入门
IF-Else
v If-Else语句是对指定条件进行判断,如果条件满足 执行If后的语句。否则执行Else后面的语句。
v 语法如下:
v If (Condition)
v{
v
TradeBlazer公式语句1;
v }Else
v{
v
TradeBlazer公式语句2;
v}
量化投资经典TB公式入门
If-Else-If
量化投资经典TB公式入 门
2020/12/20
量化投资经典TB公式入门
交易开拓者公式基础
v Bar数据:公式在进行计算时,都是建立在基本数据源 (Bar数据)之上,我们这里所谓的Bar数据,是指商品在 不同周期下形成的序列数据,在单独的每个Bar上面包 含开盘价、收盘价、最高价、最低价、成交量及时间。 期货等品种还有持仓量等数据。所有的Bar按照不同周 期组合,并按照时间从先到后进行排列,由此形成为序 列数据,整个序列称之为Bar数据。
Begin biger = GetBiger(Length1,Length2); smaller = GetSmaller(Length1,Length2); PlotNumeric(“bigger”, biger ); PlotNumeric(“smaller”, smaller);
End
v 然而……
参数
v 一根线
Params Numeric Length(0);
Begin PlotNumeric(“Line1”,length);
End
v N根线
Params Numeric Length1(0); Numeric Length2(5);
Begin PlotNumeric(“Line1”,length1); PlotNumeric(“Line2”,length2);
量化价值投资计算公式
量化价值投资计算公式价值投资是一种投资策略,它依靠对公司内在价值的评估来进行投资决策。
量化价值投资是一种更加科学化的价值投资方法,它利用数学和统计学的工具来量化公司的内在价值,以便更好地进行投资决策。
在本文中,我们将介绍一些常见的量化价值投资计算公式,帮助投资者更好地理解和运用这一投资策略。
1. 市盈率(PE ratio)。
市盈率是衡量一家公司股票价格相对于其每股收益的指标。
它的计算公式为:PE ratio = 股票价格 / 每股收益。
市盈率越低,意味着投资者需要支付更少的价格来获得同样的收益,因此被认为是一种价值投资的标志。
然而,投资者也需要注意市盈率过低可能意味着公司面临风险或者增长性不足。
2. 市净率(PB ratio)。
市净率是衡量一家公司股票价格相对于其每股净资产的指标。
它的计算公式为:PB ratio = 股票价格 / 每股净资产。
市净率同样可以被用来衡量一家公司的价值,特别是对于那些资产密集型行业的公司。
通常情况下,市净率低于1被认为是一种价值投资的标志。
3. 现金流量贴现模型(DCF model)。
现金流量贴现模型是一种用来估计公司内在价值的方法,它基于公司未来的现金流量来进行估值。
其基本思想是将未来的现金流量贴现到现在的价值,以得出公司的内在价值。
其计算公式为:公司内在价值 = Σ (未来现金流量 / (1 + 折现率)^n)。
其中,Σ代表对所有未来现金流量的求和,折现率代表投资者对未来现金流量的要求回报率,n代表未来现金流量发生的年数。
4. 均线策略。
均线策略是一种基于股价走势的量化投资策略,它利用股价的均线来进行买卖决策。
常见的均线包括5日均线、10日均线和20日均线等。
其基本思想是当股价上穿均线时买入,当股价下穿均线时卖出。
这种策略可以帮助投资者避免盲目跟风,更加理性地进行投资决策。
5. 动量策略。
动量策略是一种基于股价走势的量化投资策略,它利用股价的涨跌幅度来进行买卖决策。
交易开拓者TB公式高级应用_2
交易开拓者TB公式高级应用_2交易开拓者TB公式高级应用_21.TB公式的构成2.上下轨线的计算上轨线的计算方式是:中轨线+2*标准差下轨线的计算方式是:中轨线-2*标准差中轨线通常是价格的20日简单移动平均线,标准差则表示价格波动的程度。
3.高级应用1:判断价格波动的大小交易开拓者TB公式可以帮助交易者判断价格波动的大小。
当价格突破上轨线时,意味着市场上涨的力量很强,价格波动较大;而当价格跌破下轨线时,则意味着市场下跌的力量很强,价格波动也较大。
交易者可以利用这一信息来调整交易策略,选择更适合当前市场的交易方式。
4.高级应用2:判断价格趋势的变化交易开拓者TB公式还可以帮助交易者判断价格趋势的变化。
当价格突破上轨线并形成上升趋势时,可以视为市场处于上升阶段,交易者可以考虑逢低买入;而当价格跌破下轨线并形成下降趋势时,则可以视为市场处于下降阶段,交易者可以考虑逢高卖出。
5.高级应用3:寻找买入和卖出信号交易开拓者TB公式可以用来寻找买入和卖出的信号。
当价格从下轨线上方回升并突破中轨线时,可以视为买入信号;而当价格从上轨线下方回落并跌破中轨线时,则可以视为卖出信号。
交易者可以结合其他技术指标和交易策略来确认买入和卖出的时机。
6.高级应用4:与其他指标的结合应用交易开拓者TB公式可以与其他技术指标结合应用,以进一步提高分析和交易的准确性。
例如,可以结合移动平均线、相对强弱指数(RSI)等指标来确认买入和卖出的时机。
通过综合分析不同的指标,交易者可以更好地理解市场的变化和趋势,从而做出更明智的交易决策。
总之,交易开拓者TB公式是一种有用的技术指标,可以帮助交易者分析市场的变化和趋势,并找到合适的买入和卖出时机。
通过深入理解和应用这一指标的高级技巧,交易者可以提高交易的准确性和盈利能力。
量化投资经典TB公式入门课件
止损止盈设置通常用于控制买入和卖出的风险。止损设置是预设一个最大亏损值,当投资的证券价格下跌到这个 值时,系统会自动卖出,锁定亏损。止盈设置是预设一个盈利目标,当投资的证券价格上涨到这个值时,系统会 自动卖出,锁定盈利。
风险控制策略
总结词
风险控制策略是量化投资中不可或缺的一部 分,通过科学的风险评估和管理,降低投资 风险并提高投资回报的可持续性。
VS
详细描述
TB公式通过将股票价格趋势与一个经过 时间序列分析得出的趋势进行比较,来预 测股票价格的未来走势。该公式将股票价 格趋势视为一种类似于气压的趋势,而将 经过时间序列分析得出的趋势视为一种类 似于气温的趋势。通过比较这两种趋势, 可以得出股票价格的未来走势。
TB公式的应用场景
总结词
TB公式主要应用于股票市场,用于判断股票价格的未来走势 ,指导投资决策。
量化投资旨在通过严格的投资策略和科学的决策过程,降低风险并获得更高的投资 回报。
量化投资的优势
客观性
风险控制
量化投资以数据和模型为基础,减少了对 主观判断和人为干扰的依赖,提高了决策 的客观性和准确性。
通过建立严格的投资模型和风险管理机制 ,量化投资能够在一定程度上控制风险, 并降低投资组合的波动性。
基于TB公式的量化
04
策略设计
策略设计流程
01
02
03
04
明确投资目标
确定策略的投资目标,如收益 最大化、风险最小化等。
研究市场趋势
通过技术分析、基本面分析等 手段,研究市场趋势,为策略
设计提供依据。
设计交易策略
根据研究结果和市场趋势,设 计相应的交易策略,包括买入 卖出规则、止损止盈规则等。
TB函数
Type 获利平仓的设置类型,参数定义如下:
SetProfitTarget
0 按照持仓盈利数来计算获利平仓 1 按照每张合约盈利数来计算获利平仓 Value 根据Type类型而不同的设定值。 ExitPosition 布尔值,为True时,表示对当前所有持仓一起计 算进行平仓,为False对每一个仓位单独计算进行平仓。 获利平仓是指当获利大于等于设定值时,自动进行平仓操作,平 仓的价格是满足获利值等于设定值的价格。获利平仓在计算盈利 时不考虑佣金。如果Type和Value的输入值无效,该函数的操作 将被忽略。
获得累计 的总亏损 获得累计 的总利润 仅支持交易指令。注:该值为负数 仅支持交易指令。
Seቤተ መጻሕፍቲ ባይዱBreakEven
SetBreakEven(0,2000,True) ; 当前所有持仓的盈利达到 2000之后,启动所有持仓位 仅支持交易指令。 置的保本平仓。(此时是计 算所有持仓的盈利数) SetBreakEven(1,50, False); 当前持仓的某一个 建仓位置每张合约的盈利达 0 按照持仓盈利数来启动保本平仓;1 按照每张合约盈利 到50之后,启动该持仓位置 数来启动保本平仓。 根据参数 的保本平仓。(此时只计算 进行保本 该持仓位置的每张约的盈 平仓操作
Sell
如果当前持仓状态为空仓,即MarketPosition = -1 时, 该函数不执行任何操作。 如果当前持仓状态为多仓,即MarketPosition = 1 时,如 果此时Share使用默认值,该函数将平掉所有多仓,达到持 平的状态,否则只平掉参数Share的多仓。
在MarketPosition=0的情况 下: 仅支持交易指令。Delay 卖出动作是否延迟,默认为当前Bar发 送委托,当Delay=True,在下一个Bar执行。
胜率量化投资计算公式
胜率量化投资计算公式在投资领域,胜率是一个非常重要的指标,它可以帮助投资者评估自己的投资策略的成功率。
胜率量化投资计算公式是投资者在进行投资决策时必须要了解和掌握的内容。
本文将介绍胜率的概念、计算方法以及对投资决策的意义。
一、胜率的概念。
胜率是指在一定的投资周期内,投资者获得盈利的次数占总交易次数的比例。
通俗地说,就是投资者在进行交易时获利的概率。
胜率越高,说明投资者的交易策略越成功,投资收益也会相应地提高。
二、胜率的计算方法。
胜率的计算方法非常简单,可以用以下的公式来表示:胜率 = 盈利次数 / 总交易次数。
其中,盈利次数是指在投资周期内获得盈利的交易次数,总交易次数是指在同一投资周期内的总交易次数。
举个例子来说,如果一个投资者在一个月的时间内进行了20次交易,其中有12次获利,那么他的胜率就是12/20=60%。
三、胜率对投资决策的意义。
胜率是投资者评估自己交易策略有效性的重要指标,它可以帮助投资者了解自己的投资策略的成功率。
通过计算胜率,投资者可以对自己的交易策略进行评估,从而及时调整和改进自己的投资策略,提高投资收益。
此外,胜率还可以帮助投资者制定风险控制策略。
通过了解自己的胜率,投资者可以更好地控制风险,避免过度交易和盲目跟风,从而保护自己的投资资金。
最后,胜率还可以帮助投资者建立信心。
当投资者的胜率较高时,可以增强投资者的信心,让他们更加坚定地执行自己的投资策略,从而获得更好的投资收益。
四、如何提高胜率。
要提高胜率,投资者需要注意以下几点:1. 制定科学的交易策略。
投资者需要根据市场行情和自身的投资经验制定科学的交易策略,避免盲目跟风和盲目交易。
2. 严格执行交易策略。
投资者需要严格执行自己的交易策略,不要轻易改变交易计划,避免冲动交易和过度交易。
3. 控制风险。
投资者需要合理控制风险,避免投入过多的资金和过度杠杆,从而降低交易风险。
4. 及时总结经验教训。
投资者需要及时总结自己的交易经验教训,不断改进和完善自己的交易策略,提高投资胜率。
量化策略概率计算公式
量化策略概率计算公式在金融市场中,量化交易策略是一种利用数学模型和统计方法来进行交易决策的方法。
量化交易策略的核心是对市场行为和价格走势进行量化分析,以便找到交易机会并进行有效的风险控制。
在量化交易中,概率计算是至关重要的一部分,因为交易决策需要建立在对市场走势和价格变动的概率预测上。
本文将介绍量化交易中常用的概率计算公式,以及如何应用这些公式来提高交易的成功率。
概率计算是量化交易中的基础。
在量化交易中,概率计算是基础中的基础。
因为市场价格的变动是随机的,而量化交易策略的目标就是要利用这种随机性来获取收益。
因此,量化交易策略必须建立在对市场变动的概率预测上。
概率计算可以帮助交易者确定交易的胜算,从而制定合理的交易策略和风险控制措施。
在量化交易中,常用的概率计算公式包括均值、方差、标准差、协方差、相关系数等。
这些公式可以帮助交易者对市场行为和价格走势进行量化分析,从而找到交易机会并进行有效的风险控制。
下面将介绍这些概率计算公式的具体内容和应用方法。
均值。
均值是一组数据的平均值,可以用来衡量这组数据的中心位置。
在量化交易中,均值可以用来衡量市场价格的平均水平,从而判断市场的走势。
均值的计算公式为:\[ \bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i \]其中,\( \bar{x} \) 表示均值,\( x_i \) 表示第 i 个数据点,n 表示数据点的数量。
通过计算市场价格的均值,交易者可以了解市场价格的平均水平,从而判断市场的走势。
方差。
方差是一组数据与其均值之差的平方的平均值,可以用来衡量数据的离散程度。
在量化交易中,方差可以用来衡量市场价格的波动性,从而判断市场的风险。
方差的计算公式为:\[ \sigma^2 = \frac{1}{n} \sum_{i=1}^{n} (x_i \bar{x})^2 \]其中,\( \sigma^2 \) 表示方差,\( x_i \) 表示第 i 个数据点,\( \bar{x} \) 表示均值,n 表示数据点的数量。
量化买盘潮指标公式
量化买盘潮指标公式在现代证券市场,客观和准确分析价格变动以及量化交易是获利的关键所在。
然而,大多数股票买卖者都陷入了技术分析陷阱,仅仅着眼于趋势线、支撑位和阻力位,使得他们在炒股上获利甚微。
此外,在股票市场交易时,如何准确判断买盘和卖盘潮涌动情况也是投资者面临的一个主要难题。
证券投资者可以利用量化买盘潮指标公式进行策略分析。
量化买盘潮指标公式是一种以量为主导的综合性指标,它可以帮助投资者更好地分析市场,因此能够更好地控制股票交易的风险和收益。
该公式通过结合交易量、收益率和交易金额来表示买卖发生的情况,以分析买卖实力的强弱。
2、量化买盘潮公式的原理量化买盘潮指标公式是根据各类买卖实力对价格变动的反应而构建的。
为了实现这一目标,量化买盘潮指标采用了一种“投资者流动率”(ILR)指标来估计买卖情况的变化。
具体来说,ILR指标是基于交易量、股价变动和交易金额三个因素,反映市场中投资者流动性的一个指标。
其计算公式如下:ILR=(交易量/收益率)+(交易金额/收益率)交易量指的是股票在相同一天内成交量,收益率指的是股票在相同一天内的涨跌幅,交易金额指的是股票在相同一天内成交金额。
其实,这里的收益率是用来衡量买卖双方情绪的变化,而交易金额是用来衡量买卖实力变化的。
由此可见,量化买盘潮指标公式特别适用于交易量变化较大的股票,以及股价波动较大的股票,在这种情况下,投资者可以利用该公式精确测算买卖双方的实力大小。
3、量化买盘潮公式的适用范围量化买盘潮指标公式相比于传统的技术分析方法,它的指标更加全面,更容易被投资者掌握,因此更适合于大多数投资者。
此外,该指标公式也适用于股票价格比较稳定、波动较小的情况,因为即使是这种情况,投资者也能够获得该公式提供的有效分析结果。
4、量化买盘潮公式的好处量化买盘潮指标公式除了可以有效分析市场之外,还有一些特别有益的优势:(1)可以更准确地判断买卖实力的强弱,从而更好地控制股票交易的风险;(2)可以使投资者获得全面的市场信息,从而更好地把握投资机会;(3)可以准确分析买入和卖出的原因,从而更好地避免投资风险。
从一无所知开始学习交易开拓者TB
从一无所知开始学习交易开拓者(TB)期货程序化交易编程经常会看到很多朋友问:帮我写个公式怎么样啊帮我把某个公式改成TB的怎么样啊我想出现这种情况的原因有两种:一是真的不会,毕竟做期货的会编程的不多;二是自己如果多花点时间的话是弄的出来,但是有点懒;我想无论是哪种原因,都应该好好的学习下TB,因为真正的你的交易思路只有你自己才清楚而且也只有你自己去把你的交易思路用TB表现出来你才能更清楚的知道你的交易思维中有何缺点但是编程不是一件很容易的事情,当然,如果您入门了,你会发觉TB编程其实和泡妞一样的简单,就看你敢不敢下手了所以本文仅是写给完全不懂编程的朋友的,仅是最基本的入门资料,如果您是高手,请忽略此文,以免耽误您的时间.我先不说那些专业术语,什么变量,函数和语法的,我们先不管他,以免看的头晕.我想先说说在TB中代码的执行顺序,也就是说在TB的K线图(TB把K线叫做Bar)里面你写的公式或者指标是如何得到执行的;我想这个东西是最重要而且也是最好理解的.在其他的期货软件比如文华飞狐一类,我们是无法知道你写的公式是如何执行的,甚至我们不知道我们写出来的公式是不是真的就体现出了我们的思想,因为你写的公式或者指标是被这些软件在幕后进行处理的,是黑箱操作!而TB不同,我们能够清楚的看到你写的代码在任意一根K线上是如何得到执行的!!!!好了,先说说在TB里面代码是如何得到执行的.1,代码从第一根K线开始执行,一直到最后一根K线;2,在每一根K线上,代码都是从第一行开始执行,一直到最后一行;明白了吧,是不是很简单,我们先看一个小例子,如果您还不明白,那只能说我完全没有任何能力写这文章,您就板砖吧我们就写个输出每日的收盘价的例子;打开TB,在左边的TB公式里面,点击新建技术指标,新建其他的也没有关系,然后在出来的对话框的简称里面填入名字,记住,这个名字只能是E文哦在名字里面填入你喜欢的名字,点确定就OK了啊然后在出来的公式编辑器里面输入BeginEnd注意,除了参数和变量定义外,所有的代码都必须包含在Begin和End之间意思很简单就是Begin后,你的代码就开始执行了,End了,你的代码就执行完毕拉呵呵我们再在Begin和End之间输入一些代码,完整的就是:BeginFileAppend("c:\\",Text(Year)+"年"+Text(Month)+"月"+Text(Day)+"日的收盘价等于");FileAppend("C:\\",Text(Close));End我们再说说这两行代码是什么意思File就是文件,Append就是添加,现在明白了吧FileAppend就是添加一个文件,文件名是什么呢就是你后面写的,这个文件的路径在哪里呢就是c:\\里面的C盘,且在这个文件里面添加一行东西,这行东西的内容就是你后面所写的Text(Year)+"年"+Text(Month)+"月"+Text(Day)+"日的收盘价等于"当然,如果这个文件已经存在,他就不会添加文件了,仅仅在这个文件的后面添加一行上面你写的内容好了,再看看Text,Text的意思就是把那些不是字符串的东西如数字啊,等变成字符串.而Year,Month,Day就代表了正在执行你写的代码的那一根K线的年,月,日,年月日是数字,我们当然要用Text把它搞成字符串,不然Windows会告诉你你犯了错误的Close的意思我不说大家也明白了吧,就是代表了当前正在执行你的代码的那根K线的收盘价啊,呵呵,如果代码执行到最后的那根K线且行情正在走动的时候Close代表的就是现在的最新价了咯.好了我们点公式编辑器上面的工具栏的第五个按钮(打勾的那个东西),校验保存公式,稍微等一下,就OK了我们在回到K线图里面,TB把K线图叫做超级图表,呵呵,有点不习惯在K线图里面右键,选择商品设置,然后吧里面的样本数由默认的300改成5,意思是让在超级图表里面仅仅显示5条K线,当然,你可以搞成任意你喜欢的数字你甚至可以从任意一个你喜欢的时间开始显示K线,我们选择5跟K线仅仅是为了测试的方便点确定后,你就看到在K线图里面只显示了5跟K线,所以我们的代码也仅仅只在这5跟K线上执行了当然现在代码还不能被执行,因为我们现在还需要把我们刚刚所写的那个指标加到K线图上面才能被执行的我们再在超级图表里面右键,选择插入技术分析,在出来的列表里面选择我们刚刚所写的技术指标,然后确定就OKl饿晕死,现在怎么在K线图上没有任何变化啊?呵呵我们上面说了,我们这个例子仅仅是把每日的收盘价写到文件里面去啊,那么我们找一找文件在什么地方咯?FileAppend("c:\\",很明显,文件是在c盘的,文件的名字是好了,我们到c盘找到文件,双击打开,我们就会看到下面的内容:2007年9月24日的收盘价等于672802007年9月25日的收盘价等于678002007年9月26日的收盘价等于671602007年9月27日的收盘价等于673002007年9月28日的收盘价等于68020我们现在来分析下:首先你写的代码在第一根K线上执行,先执行第一行代码:FileAppend("c:\\",Text(Year)+"年"+Text(Month)+"月"+Text(Day)+"日的收盘价等于");这行代码就输出了第一根K线的年,月,日,就在文件里输出成"2007年9月24日的收盘价等于"然后执行第二行代码:FileAppend("C:\\",Text(Close));折行代码把第一根K线的收盘价输出到文件里面,于是就输出了"67280"好了,代码在第一根K线上执行完毕,于是再转到第二根K线,再执行第一行代码,再执行第二行代码.........好了,现在代码在第二根,第三根,第四根K线上执行完毕,于是转到第五根也就是最后一根K线上执行第一行代码再执行第二行代码到此为止,所有的代码在所有的K线上执行完毕了,圆满的完成了党和祖国赋予他的神圣使命,于是也就有了我们上面所看到的结果:2007年9月24日的收盘价等于672802007年9月25日的收盘价等于678002007年9月26日的收盘价等于671602007年9月27日的收盘价等于673002007年9月28日的收盘价等于68020OK,下回继续我一直非常愿意帮助客户们解答在编程中的难点,但是却不大愿意帮助客户写完整的公式策略。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
函数(2)
假设要写这样一个指标:两个数字型参数,比较其大小,并 输出两条线
Params Numeric Length1(0); Numeric Length2(5); Vars Numeric biger; Numeric smaller; Begin biger = GetBiger(Length1,Length2); smaller = GetSmaller(Length1,Length2); PlotNumeric(“bigger”, biger ); PlotNumeric(“smaller”, smaller); End
关于条件表达式
逻辑操作符 :AND(&&),OR(||),NOT(!) 表达式1 AND 表达式2 表达式1 OR 表达式2 NOT表达式1 注意:浮点数字的等于
详细介绍参见帮助文件-公式系统-操作符 注意:条件表达式括号后面不要加分号。
IF-Else
数据回溯
如何使用回溯表达? XXX[nOffset] nOffset是要回溯引用的Bar相对于当前Bar的 偏移值,该值必须大于等于0,当nOffset = 0 时,即为获取当前Bar的参数值。并且 nOffset不能大于当时的CurrentBar,这样会 导致数据访问越界。造成不可预知的计算结 果。 变量回溯,参数回溯,函数回溯(系统函数)
序列参数
Params numericSeries Price(1); numeric Length(5); Vars numeric smallest(999999); // 初始值很重要! numeric i; Begin if(CurrentBar < Length -1) { return InvalidNumeric; } for i=1 to Length-1 { if(Price[i] <= smallest) { smallest =Price[i]; } } return smallest; End
公式执行顺序
公式执行顺序
TradeBlazer公式的HelloWorld!
/forum/thread-63-1-1.html Begin FileAppend("c:\\Formula.log","hello world"); End
公式的种类
指标 K线形态 特征走势 交易指令
TB公式入门
交易开拓者公式基础
Bar数据:公式在进行计算时,都是建立在基本数据源 (Bar数据)之上,我们这里所谓的Bar数据,是指商品在 不同周期下形成的序列数据,在单独的每个Bar上面包 含开盘价、收盘价、最高价、最低价、成交量及时间。 期货等品种还有持仓量等数据。所有的Bar按照不同周 期组合,并按照时间从先到后进行排列,由此形成为序 列数据,整个序列称之为Bar数据。 公式如何执行:TradeBlazer公式在计算时按照Bar数据 的Bar数目,从第一个Bar到最后一个Bar,依次进行计 算,如果公式中出现了调用Bar数据函数的,则取出当 前Bar的相应值,进行运算。公式执行从上至下,Bar从 左到右执行。
If-Else-If是在If-Else的基础上进行扩展,支持条件的多重分支。 语法如下: If (Condition1) { TradeBlazer公式语句1; }Else If(Condition2) { TradeBlazer公式语句2; }Else { TradeBlazer公式语句3; } If-Else-If的语句可以根据需要一直扩展,在最后的Else之后再加 If(Condition)和新的执行代码即可。当然您也可以省略最后的Else分支,
If-Else的嵌套
If-Else的嵌套是在If-Else的执行语句中包含新的条件语句,即一个条件被包含在另一个条件中。 If (Condition1) { If (Condition2) { TradeBlazer公式语句1; }Else { TradeBlazer公式语句2; } }Else { If (Condition3) { TradeBlazer公式语句3; }Else { TradeBlazer公式语句4; } }
If-Else语句是对指定条件进行判断,如果条件满足 执行If后的语句。否则执行Else后面的语句。 语法如下: If (Condition) { TradeBlazer公式语句1; }Else { TradeBlazer公式语句2; }
If-Else-If
然而……
函数(2)
引用型参数 函数compare的内容
Params Numeric param1(0); Numeric param2(5); NumericRef samller; Begin if(param1 >= param2) { smaller = param2; return param1; }else { smaller = param1; return Length2; } End
PlotNumeric由输出的名字来区分是否为同一条线。
关于IF语句
If语句是一个条件语句,当特定的条件满足后执行 一部分操作。 语法如下: If (Condition) { TradeBlazer公式语句; } TradeBlazer公式语句是一些语句的组合,如果 TradeBlazer公式语句是单条,您可以省略{},二条 或者二条以上的语句必须使用{}。
End
公式的三段论
函数(1)
用函数使流程更加简洁 Params Numeric Length1(0); Numeric Length2(5); Vars Numeric biger; Begin biger = GetBiger(Length1,Length2); PlotNumeric(“Line1”, biger ); End
最近N个BAR的最低值(循环语句)
Params numeric Length(5); Vars numeric smallest(999999); // 初始值很重要! numeric i; Begin for i=1 to Length-1 { if(low[i] <= smallest) { smallest = low[i]; } } return smallest; End
取较大值
Params Numeric Length1(0); Numeric Length2(5); Begin if(Length1 >= Length2) { PlotNumeric(“Line1”,length1); }else { PlotNumeric(“Line1”,length1); } End
指标模板
Params ………………….. Vars Numeric line1; Numeric line2; ………………….. Begin line1 = GetLine1(…….); line2 = GetLine2(…….); …………………… PlotNumeric(“Line1”, line1 ); PlotNumeric(“Line2”, line2 ); ………………….. End 参考MA指标的模板写法
函数
公式环境的组织层次(1)
指标 K线形态 特征走势 交易指令
BAR数据
公式环境的组织层次(2)
指标 K线形态 特征走势 交易指令
函数
BAR数据
建立一个最简单的指标:画零线
Begin PlotNumeric(“Line1”,0); End Begin和End宣告公式正文的开始和结束,公 式语句应该放到Begin和End之间。 PlotNumeric表示输出一个数值型组条线…
Begin PlotNumeric(“Line1”,5); End
参数
一根线 Params Numeric Length(0); Begin PlotNumeric(“Line1”,length); End N根线 Params Numeric Length1(0); Numeric Length2(5); Begin PlotNumeric(“Line1”,length1); PlotNumeric(“Line2”,length2); End
最近N个BAR的最低值
Params numeric Length(5); Vars numeric smallest(999999);// 初始值很重要! numeric i; Begin if(CurrentBar < Length -1) { return InvalidNumeric; } for i=1 to Length-1 { if(low[i] <= smallest) { smallest = low[i]; } } return smallest; End
一个新需求
用函数计算最近三根BAR的最低点 Begin if(low <= low[1] && low <=low[2]) { return low; } if(low[1] <= low && low[1] <=low[2]) { return low[1]; } if(low[2] <= low && low[2] <=low[1]) { return low[2]; } End
回到指标
赋值语句 用变量使流程清晰
Params Numeric Length1(0); Numeric Length2(5); Vars Numeric biger; Begin if(Length1 >= Length2) { biger = Length1; }else { biger = Length2; } PlotNumeric(“Line1”, biger );