pfanag期货程序化交易交易开拓者TradeBlazer公式详细介文档格式.doc

上传人:b****3 文档编号:15416809 上传时间:2022-10-30 格式:DOC 页数:46 大小:383KB
下载 相关 举报
pfanag期货程序化交易交易开拓者TradeBlazer公式详细介文档格式.doc_第1页
第1页 / 共46页
pfanag期货程序化交易交易开拓者TradeBlazer公式详细介文档格式.doc_第2页
第2页 / 共46页
pfanag期货程序化交易交易开拓者TradeBlazer公式详细介文档格式.doc_第3页
第3页 / 共46页
pfanag期货程序化交易交易开拓者TradeBlazer公式详细介文档格式.doc_第4页
第4页 / 共46页
pfanag期货程序化交易交易开拓者TradeBlazer公式详细介文档格式.doc_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

pfanag期货程序化交易交易开拓者TradeBlazer公式详细介文档格式.doc

《pfanag期货程序化交易交易开拓者TradeBlazer公式详细介文档格式.doc》由会员分享,可在线阅读,更多相关《pfanag期货程序化交易交易开拓者TradeBlazer公式详细介文档格式.doc(46页珍藏版)》请在冰豆网上搜索。

pfanag期货程序化交易交易开拓者TradeBlazer公式详细介文档格式.doc

您可以在其他任何公式中使用用户函数进行计算;

用户字段:

用户字段是TradeBlazer公式为交易开拓者报价类窗体提供的一项数据输出公式,通过用户字段执行一系列语言指令,给报价窗体返回一个特定的显示值;

技术指标:

技术指标是基于基础数据,通过一系列的数学运算,在每个Bar返回相应的结果值的一类公式,这些值在图表模块中输出为线条、柱状图、点等表现形式;

K线型态:

K线型态是类似于技术指标的一类公式,它主要着重于反映一段K线的特定型态,并通过不同的技术指标的方式输出到图表;

特征走势:

特征走势是类似于技术指标的一类公式,它主要着重于反映整个价格曲线的趋势、变化特征,并通过特定的表达方式输出到图表;

交易指令:

交易指令是包含买、卖、平仓,头寸,仓位控制的并执行交易指令的一类公式,它主要帮助您将您的交易思想转化为计算机的操作。

通过调用TradeBlazer公式,您可以在交易开拓者中进行技术分析、交易策略优化测试、公式报警、自动交易等操作。

各类数据

Bar数据

在介绍Bar数据之前,首先,我们需要讨论一下TradeBlazer公式的计算方法,针对上面介绍的各种公式类型,包含用户函数,技术分析,交易指令等,在公式进行计算时,都是建立在基本数据源(Bar数据)之上,我们这里所谓的Bar数据,是指商品在不同周期下形成的序列数据,在单独的每个Bar上面包含开盘价、收盘价、最高价、最低价、成交量及时间。

期货等品种还有持仓量等数据。

所有的Bar按照不同周期组合,并按照时间从先到后进行排列,由此形成为序列数据,整个序列称之为Bar数据。

以下列出所有的Bar数据系统函数:

函数名

简写

描述

Date

D

当前Bar的日期。

Time

T

当前Bar的时间。

Open

O

当前Bar的开盘价。

High

H

当前Bar的最高价。

Low

L

当前Bar的最低价。

Close

C

当前Bar的收盘价。

Vol

V

当前Bar的成交量。

OpenInt

当前Bar的持仓量。

CurrentBar

当前Bar的索引值,从0开始计数。

BarStatus

当前Bar的状态值,0表示为第一个Bar,1表示为中间的普通Bar,2表示最后一个Bar。

计算方法

TradeBlazer公式在计算时按照Bar数据的Bar数目,从第一个Bar到最后一个Bar,依次进行计算,如果公式中出现了调用Bar数据函数的,则取出当前Bar的相应值,进行运算。

如下图箭头所示,公式执行从上至下,Bar从左到右执行。

例如,现在有如下语句需要执行,Bar数据如下表所示:

Value1=Close-Open;

Value1

2005/04/04

15:

00

2970

2979

2951

2974

18

4

1

2005/04/05

2960

2946

14

2

2005/04/06

2980

2963

30

12

3

2005/04/07

3048

2968

2995

120

-57

2005/04/08

2985

2987

10

...

如上表所示,从CurrentBar=0开始,依次计算每个Bar进行计算;

在公式的编写中,经常会遇到当前Bar的数据和上一个Bar,上N个Bar数据进行比较,计算的情况,针对这种情况,TradeBlazer公式提供了一种处理机制:

回溯。

即对数据的向前引用,比如,获取上一个Bar的收盘价:

Close[1],获取10天前的成交量:

Vol[10]。

以下提供一个简单的例子来说明如何进行回溯处理。

假定有如下语句:

If(Close>

Close[1])

{

Buy(1,Close);

}

以上公式执行一个简单的操作,当前Bar的收盘价大于上一个Bar的收盘价,即执行按照当前收盘价买入1手的动作。

根据上表的数据,公式将在CurrentBar为2和3的时候调用Buy指令。

如果您足够仔细的话,您会发现:

对于上面的一段公式的执行,有一个小小的问题,当第一次计算公式时,即CurrentBar=0时,这个时候需要获取上一个Bar的数据,但是当前Bar已经是第一个Bar,这个时候就存在着问题,如何来获取此时的Close[1]呢,TradeBlazer公式将默认Close[1]为无效值,即系统函数中的InvalidNumeric,Close>

Close[1]的表达式计算结果是一个Bool值,其结果也是一个无效值,对于Bool值,我们将False作为其无效值。

因此,第一个Bar计算时,Buy指令不会被执行。

对于技术分析这类公式来说,假定Bar数据的总数共有100,相同的代码将从CurrentBar=0到CurrentBar=99共执行100遍,分别输出公式中的结果值。

注意:

在执行TradeBlazer公式时,可能出现数据不存在的情况,可通过系统函数HistoryDataExist进行判断,如果该函数返回True,即为Bar数据有效。

叠加数据

交易开拓者的超级图表支持商品叠加的显示,当叠加的图表调用各项公式时,可能有需要使用叠加的商品对应的基础数据,针对这样的需求,TradeBlazer公式提供了叠加数据的支持。

假定,我们新建一个超级图表模块,其主数据对应的商品为:

cu0503,在此基础上,我们叠加了cu0504和cu0505。

此时,根据叠加操作的先后顺序,cu0503为Data0,cu0504为Data1,cu0505为Data2,在TradeBlazer公式中,我们可以通过Data1.Close(),Data2.Vol()类似方法调用叠加Bar数据,叠加Bar数据的函数和Bar数据一样,只是需要在调用的时候加上数据源。

我们也可以使用Data0.Open()来调用Bar数据,默认情况下,可以省略对主数据源的指定,为了方便,一般直接使用Open()来代替Data0.Open()。

行情数据

除了Bar数据之外,TradeBlazer公式还可以支持实时行情数据的调用,行情数据是指当前商品最新的报价数据,该数据和Bar无关,行情数据的回溯没有意义。

行情数据只在最后Bar是有意义的,其他Bar会返回无效值。

因此,在调用行情数据函数时,为了提高效率,最好按照以下方法:

If(BarStatus()==2)

//调用行情数据函数

行情数据函数都按照以下格式命名Q_XXXXX,比如Q_Close,Q_BidPrice。

在调用行情数据的时候,需要判断当前行情数据是否有效,系统提供函数QuoteDataExist来对有效性进行判断。

如果行情数据已经准备好,返回True,否则,返回False。

属性数据

除了以上的各项数据之外,TradeBlazer公式还提供一组重要的属性数据,反映了该商品的一些基本信息,比如当前数据周期,买卖盘个数、保证金设置等信息。

在所有的Bar上面获取的市场属性数据都是一样的,属性数据的回溯没有意义。

关于属性数据的详细说明参见帮助文件附录。

 

数据类型

TradeBlazer公式支持有三种基本数据类型:

数值型、字符串、布尔型。

为了通过用户函数返回多个值,我们对三种数据类型进行了扩展,增加了引用数据类型。

另外,为了对变量,参数进行回溯,我们增加了序列数据类型。

因此,我们的数据类型共有九种,如下表所示:

名称

说明

Bool

布尔型。

BoolRef

布尔型引用。

BoolSeries

和周期长度一致的Bool型序列值。

Numeric

数值型。

NumericRef

数值型引用。

NumericSeries

和周期长度一致的Numeric型序列值。

String

字符串。

StringRef

字符串引用。

StringSeries

和周期长度一致的String型序列值。

命名规则

公式名称规则:

不区分大小写;

不能超过32个英文字符;

每一类公式不能出现相同的名称;

公式名称不能出现字母、数字、下划线以外的其他字符;

公式名称不能和系统保留字,系统函数等重名。

变量,参数规则:

每一个公式内部能不能重复命名;

名称不能出现字母、数字、下划线以外的其他字符;

名称不能和系统保留字,系统函数等重名;

不能使用已定义的用户函数名。

建议采取匈牙利命名规则命名变量,匈牙利命名规则是CharlesSimonyi发明的一种给变量取名字的方式。

他在变量前加上变量的类型,这样,看看变量的名字就知道变量的类型了。

语句

一个语句代表一个完全的指示或描述,语句中包含有保留字、操作符、符号。

并且语句总是以"

"

作为语句结束的标志。

以下为语句的一些例子:

1.Thisisonestatement;

2.Thisisanotherstatement;

3.Thisis

onestatement;

4.Thisis

another

statement

;

5.Thisisyetanother;

6.Thisisonestatement;

Thisisanother;

赋值语句

赋值语句用于给公式变量指定一个具体的值的语句,赋值语句使用赋值操作符(=)进行处理。

以下为赋值语句的一些例子:

Vars

Boolb;

Begin

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1