TB函数大全

合集下载

TB公式编程官方基础教程

TB公式编程官方基础教程

TradeBlazer公式的结构与编程目录页码一、TB的程序化交易的功能与特点 41-1、TB程序化交易的功能 4 1-2、TB公式说明 4 1-3、TB编程步骤 5 二、数据的说明与使用 62-1、Bar数据 6 2-2、计算方法6 2-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五、变量的类型与使用255-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、叠加多个商品合约进行交易629-4、交易常用系统函数介绍62 十、交易策略的程序实现与实例6510-1、利用技术指标的交易策略65 10-2、止赢止损70 10-3、加仓减仓77 10-4、多品种交易80 10-5、集合竞价数据过滤82 10-6、函数下单撤单和全局变量操作83 10-7、数据库读写83十一、其他注意事项88 11-1、信号消失问题及解决办法91 11-2、盘中和盘后公式运行的差别94十二、策略评估的常用指标94正文一、TB程序化交易的功能与特点TradeBlazer公式(简称TB),新推出的V4公式,运行效率大幅提高,除支持多线程应用功能,在程序交易的主要特点如下:1-1、TB程序化交易的功能➢所使用的TBL(TradeBlazer Language)语言功能强大、语法简明易懂;➢TB的公式执行机制是在每根BAR上都会执行一遍公式,能实现公式和算法的精确控制;➢具有结构化的控制语句,支持复合语句—IF语句和FOR,WHILE语句;➢提供了丰富的系统函数,支持用户函数,便于实现程序的模块化设计;➢提供A函数、Q函数等,可实时获取当前交易账户的账户信息,并能对叠加商品进行发单和撤单,便于实现头寸调整、风险控制、资金管理以及套利交易的程序化;➢支持单图表叠加多个商品的交易和测试;➢技术指标源代码公开,便于指标算法的改进;➢强大的图表化、多维度的交易模型测试分析报告及参数优化功能,可实现多品种、多策略、多图表周期的组合测试,提供了丰富的、和实战密切相关的系统评估指标;➢支持交易模型的导入导出,支持交易模型的加密和无源码模式导出,便于模型研发后的商业应用。

交易开拓者(TB)编程初级篇

交易开拓者(TB)编程初级篇

交易开拓者(TB)期货程序化交易编程本文仅是写给完全不懂编程的朋友的,仅是最基本的入门资料。

TB里面代码执行1,代码从第一根K线开始执行,一直到最后一根K线;2,在每一根K线上,代码都是从第一行开始执行,一直到最后一行;我们就写个输出每日的收盘价的例子;打开TB,在左边的TB公式里面,点击新建技术指标,然后在出来的公式编辑器里面输入BeginEnd注意,除了参数和变量定义外,所有的代码都必须包含在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把它搞成字符串CloseK线的收盘价啊,如果代码执行到最后的那根K线我们点公式编辑器上面的工具栏的第五个按钮(打勾的那个东西),校验保存公式,稍微等一下,就OK了我们在回到K线图里面,TB把K线图叫做超级图表在K线图里面右键,选择商品设置,然后吧里面的样本数由默认的300改成5,意思是让在超级图表里面仅仅显示5条K线,点确定后,你就看到在K线图里面只显示了5跟K线,当然现在代码还不能被执行,因为我们现在还需要把我们刚刚所写的那个指标加到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线,再执行第一行代码,再执行第二行代码.........我一直非常愿意帮助客户们解答在编程中的难点,但是却不大愿意帮助客户写完整的公式策略。

TB编程基础知识

TB编程基础知识

A函数和Q函数
• Q函数,指以Q_开头的系统函数,主要是获取 实时行情信息。 • A函数,指以A_开头的系统函数,获取自动交易 关联帐户的帐户信息,只有在启动自动交易的情 况下才能取值。
• Q函数和A函数都是反映最新的实时状态,不 能取历史上的值,所以只能在当前有效,在 公式中表现为只能在最后Bar上取值。




MinMove最小变动量 行情函数 Q函数 帐户函数A函数 枚举函数Enum_Buy 交易函数EntryPrice、 EntryPrice 其他函数
• PlotNumeric在当前Bar输出一个数值。Numeric PlotNumeric(String Name,Numeric Number,Integer Color=1,Integer BarsBack=0) • PlotString在当前Bar输出一个字符串。String PlotString(String Name,String str,Integer Color=-1,Integer BarsBack=0) • PlotBar在当前Bar输出两个值,用于在图表中当前Bar上画 出连接两个值的线条。PlotBar(String Name,Numeric Value1,Numeric Value2,Integer Color=-1,Integer BarsBack=0) • PlotBool在当前Bar输出一个布尔值。Bool PlotBool(String Name,Bool bPlot,Integer Color=-1,Integer BarsBack=0)
信号消失
• 基于前面的描述,如果用Close变化的数据来 计算开平仓条件,就可能出现信号消失。 • 为了解决信号消失,可以使用前面所讲的 Delay,或者使用另外一种方式,特别是我们 经常用的突破系统。

TB使用说明书及程序开发、交易策略

TB使用说明书及程序开发、交易策略
公式应用RSI调用RSI内建用户函数计算出结果,然后判断其返回值和超买,超卖的关系,设置显示颜色,并产生报警信息。
公式应用在输出数据时,我们是通过输出值的名称来进行识别,名称相同则认为是一个数据,如下的代码,后面语句的输出数据将会覆盖前面语句的输出数 据。
file://C:\Documents and Settings\Administrator\Local Settings\Temp\~hh71F6.htm 2014-10-25
用户函数
Page 4 of 16
PlotNumeric("Test",10); PlotNumeric("Test",20);
最后"Test"输出的数据为20,而不是10。 PlotNumeric
参见PlotNumeric。 PlotBool
参见PlotBool。 PlotString
参见PlotString。 UnPlot
用默认参数调用用户函数
用户函数在被调用的时候,如果传入的参数和参数的默认值一样,可以省略输出参数,使用默认值来调用用户参数。只能够对排列在后面的那些参数使用默认 参数,默认参数的定义参见参数。
公式系统 - TradeBlazer公式的使用 - 公式应用
公式应用
TradeBlazer公式通过公式应用来实现技术分析输出和交易策略的执行,根据使用目的的不同,我们将公式应用分为两类(技术分析和交易策略)进行单独描述。
用户函数的类型
1. 用户函数按照返回值类型不同可以分为数值型(Numeric),布尔型(Bool),字符串(String)三种基本类型,三种类型用户函数在调用时需要将返回值赋予类型 相同的变量。
2. 按照用户函数属性不同,用户函数可以分为内建用户函数和其他用户函数两种,内建用户函数是交易开拓者提供的,用于支持公式系统运行的预置公式, 您可以查看和调用内建用户函数,但是不能删除和修改内建公式。

TB函数大全

TB函数大全

Type 获利平仓的设置类型,参数定义如下:
SetProfitTarget
0 按照持仓盈利数来计算获利平仓 1 按照每张合约盈利数来计算获利平仓 Value 根据Type类型而不同的设定值。 ExitPosition 布尔值,为True时,表示对当前所有持仓一起计算 进行平仓,为False对每一个仓位单独计算进行平仓。 获利平仓是指当获利大于等于设定值时,自动进行平仓操作,平 仓的价格是满足获利值等于设定值的价格。获利平仓在计算盈利 时不考虑佣金。如果Type和Value的输入值无效,该函数的操作将 被忽略。
Sell
产生一个多头平仓操作 Sell(5,0) 表示用现价卖出5 如果当前持仓状态为持平,即MarketPosition = 0 时,该 张合约,马上发送委托。 函数不执行任何操作。
如果当前持仓状态为空仓,即MarketPosition = -1 时, 该函数不执行任何操作。 如果当前持仓状态为多仓,即MarketPosition = 1 时,如 果此时Share使用默认值,该函数将平掉所有多仓,达到持 平的状态,否则只平掉参数Share的多仓。
BuyToCover
产生一个空头平仓操作 BuyToCover(5,0) 表示用现 价空头买入5张合约),马上 发送委托。
Hale Waihona Puke 如果当前持仓状态为持平,即MarketPosition = 0 时,该 函数不执行任何操作。 如果当前持仓状态为多仓,即MarketPosition = 1 时,该 函数不执行任何操作。 如果当前持仓状态为空仓,即MarketPosition = -1 时, 如果此时Share使用默认值,该函数将平掉所有空仓,达到 持平的状态,否则只平掉参数Share的空仓。
ExitPosition 布尔值,为True时,表示对当前所有持仓一 起计算进行平仓,为False对每一个仓位单独计算进行平仓 。 价值回落平仓是指在取得最大盈利之后,当盈利回落大于 等于设定值,自动进行平仓操作,平仓的价格是满足回落 值等于设定值的价格。价值回落平仓计算盈利时不考虑佣 金。如果DollarValue的输入值无效,该函数的操作将被忽 略。

TB公式入门

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由输出的名字来区分是否为同一条线。

TB编程整理

TB编程整理

TB编程整理索引:1) 图表的第一根k线,或者是新的一天2) 求当天第一根Bar到现在的BAR数3) TB的时间表示4) 收盘平仓的例子5) 限制连续建仓6) 主动的加仓示例7) CurrentContracts函数获得当前持仓的持仓合约数。

8) 止损止盈的编写9) buy,sell函数注意事项内容:1) 图表的第一根k线,或者是新的一天If(CurrentBar == 0 || Date != Date[1])2) 求当天第一根Bar到现在的BAR数// 使用普通变量VarsNumeric TodayBars;BeginTodayBars = 0;While ( CurrentBar > TodayBars anddate[TodayBars] == date[TodayBars+1] ){TodayBars = T odayBars + 1;}Commentary("T odayBars = " + text(T odayBars)); End// 使用序列变量VarsNumericSeries ReBars;BeginIf(CurrentBar == 0 || Date != Date[1]){ReBars = 0;}Else{ReBars = ReBars + 1;}Return ReBars;End3) TB的时间表示Time()函数表示当前公式应用商品在当前Bar的时间, 如果当前时间为11:34:21.356,Time返回值为0.113421356函数中传递时间的时候可以传个整形,然后乘以一个小数, 如:Numeric TradeEndTime(145500);if (Time <= RangeEndTime * 0.000001)4) 收盘平仓的例子// 收盘平仓If ((Date[-1]!=InvalidInteger && Date!=Date[-1])||(Date[-1]==InvalidInteger&& Date < CurrentDate)) //代码中将消失的信号补上{Sell(0,Close);BuyToCover(0,Close);}Else If (Date==CurrentDate && Time==0.1455 && CurrentTime>=0.1459){Sell(0,Close);BuyToCover(0,Close);}5) 限制连续建仓MarketPosition获得当前持仓状态。

TB函数用法手册(完整版)

TB函数用法手册(完整版)
备注
针对当前公式应用的帐户、商品发送撤单指令,发送成功返回True,发送失败返回False。
该函数可针对叠加商品进行处理,可用Data1.A_DeleteOrder(...)进行调用。
该函数直接发单,不经过任何确认,并会在每次公式计算时发送,一般需要配合着仓位头寸进行条件处理,在不清楚运行机制的情况下,请慎用。
如果返回值不等于InvalidInteger,即为有效,可通过该索引获取相关的委托单状态,价格,数量等信息。
示例
LastIndex = A_GetLastOpenOrderIndex(Enum_Buy,Enum_Entry);
If(LastIndex != InvalidInteger)
{
orderPrice = A_OpenOrderPrice(LastIndex);
TradeBlazer
A_AccountID
说明
返回当前公式应用的交易帐户ID。
语法
String A_AccountID()
参数

备注
返回当前公式应用的交易帐户ID,返回值为字符串,无效时返回空串。
示例

A_BrokerID
说明
返回当前公式应用的交易帐户对应的交易商ID。
语法
String A_BrokerID()
EntryOrExit发送委托单的开平仓类型,取值为Enum_Entry,Enum_Exit,Enum_ExitToday之一;
备注
返回当前公式应用的帐户下当前商品的最后一个当日委托单索引,按输入参数为条件,返回值为整型。
如果返回值不等于InvalidInteger,即为有效,可通过该索引获取相关的委托单状态,价格,数量等信息。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Sell
产生一个多头平仓操作 Sell(5,0) 表示用现价卖出5 如果当前持仓状态为持平,即MarketPosition = 0 时,该 张合约,马上发送ketPosition = -1 时, 该函数不执行任何操作。 如果当前持仓状态为多仓,即MarketPosition = 1 时,如 果此时Share使用默认值,该函数将平掉所有多仓,达到持 平的状态,否则只平掉参数Share的多仓。
SetDollarTrailing (2000,True); 当前所有持仓 盈利在回落达到2000之后, 仅支持交易指令。 执行所有持仓位置的价值回 落平仓。(此时是计算所有 持仓的盈利数) SetDollarTrailing (1000,False); 当前持仓的 某一个建仓位置的盈利在回 DollarValue 价值回落的设定值。 根据参数进行价值回落 落达到1000之后,执行该持 SetDollarTrailing 平仓操作 仓位置的价值回落平仓。 (此时只计算该持仓位置的
在MarketPosition = -1的情 仅支持交易指令。Delay 买入动作是否延迟,默认为当前Bar 况下: 发送委托,当Delay=True,在下一个Bar执行。 BuyToCover(50,10.2,1) 表 示用10.2的价格空头买入50 产生一个空头平仓操作,返回值为布尔型,执行成功返回 张合约,延迟到下一个Bar发 True,否则返回False。 送委托。 BuyToCover(10,Close) 表示 用当前Bar收盘价空头买入10 该函数仅用于空头平仓,其处理规则如下: 张合约,马上发送委托。
在MarketPosition=0的情况 下:
Sell(50,10.2,1) 表示用 产生一个多头平仓操作,返回值为布尔型,执行成功返回 10.2的价格卖出50张合约, True,否则返回False。 延迟到下一个Bar发送委托。 Sell(10,Close) 表示用当前 Bar收盘价卖出10张合约,马 该函数仅用于多头平仓,其处理规则如下: 上发送委托。
SetPercentTrailing(2000,0 .2,True); 当前所有持仓盈 利在大于2000之后回落,当 回落百分比达到20%之后,执 仅支持交易指令。 行所有持仓位置的百分比回 落平仓。(此时是计算所有 持仓的盈利数)
SetPercentTrailing(1000,0 .1,False); 当前持仓的某一 个建仓位置的盈利大于1000 之后回落,当回落百分比达 FloorValue 百分比回落启动的最小盈利设定值。 SetPercentTrailin 根据参数进行百分比回 到10%之后,执行该持仓位置 的百分比回落平仓。(此时 落平仓操作 g 只计算该持仓位置的盈利) PercentValue 回落的百分比设定值。 ExitPosition 布尔值,为True时,表示对当前所有持仓一起计算 进行平仓,为False对每一个仓位单独计算进行平仓。 百分比回落平仓是指在取得最大盈利之后,当盈利回落大于等于 设定值,自动进行平仓操作,平仓的价格是满足回落值等于设定 值的价格。百分比回落平仓计算盈利时不考虑佣金。只有当最大 盈利大于FloorValue该函数才会有效执行,如果FloorValue和 PercentValue的输入值无效,该函数的操作将被忽略。 SetPeriodTrailing (0,2000,3,True); 当前所有 持仓盈利在3个周期内回落达 到2000之后,执行所有持仓 仅支持交易指令。 位置的区间回落平仓。(此 时是计算所有持仓的盈利 数) SetPeriodTrailing (1,50,3,False); 当前持仓 的某一个建仓位置每手(合 约)的盈利在3个周期内回落 Type 区间回落平仓的设置类型,参数定义如下: 达到50之后,执行该持仓位 置的区间回落平仓。(此时 只计算该持仓位置的每张合 约盈利) 根据参数进行区间回落 0 按照持仓盈亏数来计算区间回落平仓 SetPeriodTrailing 平仓操作 1 按照每张合约盈亏数来计算区间回落平仓
GrossLoss GrossProfit
获得累计的总亏损 获得累计的总利润
仅支持交易指令。注:该值为负数 仅支持交易指令。
SetBreakEven
SetBreakEven(0,2000,True) ; 当前所有持仓的盈利达到 2000之后,启动所有持仓位 仅支持交易指令。 置的保本平仓。(此时是计 算所有持仓的盈利数) SetBreakEven(1,50, False); 当前持仓的某一个 建仓位置每张合约的盈利达 0 按照持仓盈利数来启动保本平仓;1 按照每张合约盈利 到50之后,启动该持仓位置 数来启动保本平仓。 根据参数进行保本平仓 的保本平仓。(此时只计算 该持仓位置的每张约的盈 操作
SetPeriodTrailing
根据参数进行区间回落 平仓操作
Value 根据Type类型而不同的设定值。 Periods 区间回落平仓的区间值,默认为当前Bar。 ExitPosition 布尔值,为True时,表示对当前所有持仓一起计算 进行平仓,为False对每一个仓位单独计算进行平仓。 区间回落平仓是指在取得最大盈利之后的设定周期内,盈利回落 大于等于设定值,自动进行平仓操作,平仓的价格是满足回落值 等于设定值的价格。区间回落平仓计算盈利时不考虑佣金。如果 Type和Value的输入值无效,该函数的操作将被忽略;如果 Periods的值输入无效,则采取默认值代替。 SetProfitTarget (0,2000,True); 当前所有持 仓盈利达到2000之后,执行 仅支持交易指令。 所有持仓位置的获利平仓。 (此时是计算所有持仓的盈 利数) SetProfitTarget (1,50, False); 当前持仓的某一个 建仓位置每张合约的盈利达 到50之后,执行该持仓位置 的获利平仓。(此时只计算 根据参数进行获利平仓 该持仓位置的每张合约盈 利) 操作
Value 根据Type类型而不同的设定值。 ExitPosition 布尔值,为True时,表示对当前所有持仓一 起计算进行平仓,为False对每一个仓位单独计算进行平仓 。 保本平仓是在大于或等于某个盈利目标之后,启动保本平 仓的策略,当盈利回归到0时(小于等于0),自动进行平 仓操作,平仓的委托价格为建仓价格。保本平仓在计算盈 利时不考虑佣金。如果Type和Value的输入值无效,则该函 数的平仓操作被忽略。
Type 获利平仓的设置类型,参数定义如下:
SetProfitTarget
0 按照持仓盈利数来计算获利平仓 1 按照每张合约盈利数来计算获利平仓 Value 根据Type类型而不同的设定值。 ExitPosition 布尔值,为True时,表示对当前所有持仓一起计算 进行平仓,为False对每一个仓位单独计算进行平仓。 获利平仓是指当获利大于等于设定值时,自动进行平仓操作,平 仓的价格是满足获利值等于设定值的价格。获利平仓在计算盈利 时不考虑佣金。如果Type和Value的输入值无效,该函数的操作将 被忽略。
BuyToCover
产生一个空头平仓操作 BuyToCover(5,0) 表示用现 价空头买入5张合约),马上 发送委托。
如果当前持仓状态为持平,即MarketPosition = 0 时,该 函数不执行任何操作。 如果当前持仓状态为多仓,即MarketPosition = 1 时,该 函数不执行任何操作。 如果当前持仓状态为空仓,即MarketPosition = -1 时, 如果此时Share使用默认值,该函数将平掉所有空仓,达到 持平的状态,否则只平掉参数Share的空仓。
0 按照持仓盈亏数来计算盘整平仓 SetInactivate
根据参数进行盘整平仓 操作
1 按照每张合约盈亏数来计算盘整平仓 Value 根据Type类型而不同的设定值。 Periods 盘整平仓的区间值,默认为当前Bar。 ExitPosition 布尔值,为True时,表示对当前所有持仓一 起计算进行平仓,为False对每一个仓位单独计算进行平仓 。 盘整平仓是指在最近的Periods个周期内,如果盈亏的绝对 值总是在设定的范围内(小于等于),自动进行平仓操 作,平仓的委托价格为当前Bar的收盘价。盘整平仓计算盈 亏时不考虑佣金。如果Type和Value的输入值无效,该函数 的操作将被忽略;如果Periods的值输入无效,则采取默认 值代替。
Buy
Buy(5,0) 表示用现价买入5 产生一个多头建仓操作 张合约,马上发送委托。
该函数仅用于多头建仓,其处理规则如下: 如果当前持仓状态为持平,即MarketPosition = 0 时,该 函数按照参数进行多头建仓。 如果当前持仓状态为空仓,即MarketPosition = -1 时, 该函数首先平掉所有空仓,达到持平的状态,然后再按照 参数进行多头建仓。 如果当前持仓状态为多仓,即MarketPosition = 1 时,该 函数将继续建仓,但具体是否能够成功建仓要取决于系统 中关于连续建仓的设置,以及资金,最大持仓量等限制。 仅支持交易指令。Delay 卖出动作是否延迟,默认为当前Bar 发送委托,当Delay=True,在下一个Bar执行。
函数名(交易函数) 说明
示例
备注 仅支持交易指令。-1 当前位置为持空仓;0 当前位置为持
MarketPosition
获得当前持仓状态
平;1 当前位置为持多仓
在MarketPosition=0的情况 下:Buy(50,10.2,1) 表示用 仅支持交易指令。Delay 买入动作是否延迟,默认为当前Bar 10.2的价格买入50张合约, 发送委托,当Delay=True,在下一个Bar执行。 延迟到下一个Bar发送委托。 Buy(10,Close) 表示用当前 产生一个多头建仓操作,返回值为布尔型,执行成功返回 Bar收盘价买入10张合约,马 True,否则返回False。 上发送委托。
ExitPosition 布尔值,为True时,表示对当前所有持仓一 起计算进行平仓,为False对每一个仓位单独计算进行平仓 。 价值回落平仓是指在取得最大盈利之后,当盈利回落大于 等于设定值,自动进行平仓操作,平仓的价格是满足回落 值等于设定值的价格。价值回落平仓计算盈利时不考虑佣 金。如果DollarValue的输入值无效,该函数的操作将被忽 略。
相关文档
最新文档