第二十二章:策略交易_策略部位
第一节:策略部位
策略部位信息包括:进出场名称、进出场日期时间(可锁定图表 的横坐标)、进场场点位(锁定图表的纵坐标)、进出场后至今的 K 线数目、持仓方向(marketposition)和大小(currentcontracts)、最大的 盈亏金额、图表策略的指定部位的盈亏状况等。 策略部位的信息是指某信号策略插入到图表后,图表上对应的部 位信息,并不对应任何实盘或模拟账号。策略部位和经纪商部位可能 不一致(因保证金不足或滑价等原因导致),一种方法是,可以结合实盘账户资金和部位的函数,当策略部位和经纪商账户 部位不一致时,进行仓位调整或加入更严谨的策略逻辑。另外一种方 法:结合本章的 MarketPosiont_at_Broker_for_The_Strategy 关键字, 取得自动交易对应的策略所在图表的经纪商部位(实际取得是交易追 踪器目前已成交后的部位情况)。 本章节的关键字多是针对单进单出的策略,对于有加仓或分批出 场的策略,无法取到更详细的策略部位信息。。
第二节:相关函数
2.1 BarsSinceEntry
# 语法:
语法 BarsSinceEntry(PosBack) 参数 PosBack——数值表达式,用来指定部位: 0——未平仓部位; 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 若 PosBack 未指定,则预设为未平仓部位。
注意 此功能只能用于信号或函数中。无法取加仓的信息。
# 示例:
取得目前仓位进场后的 K 棒数量,并存于变量 Value1: Value1= BarsSinceEntry; 取得最近一笔未平仓部位距今多少根 K 棒数量的,并存入变量 Value1:
Value1= BarsSinceEntry(1);
# 说明:
说明 返回指定部位进场至今的 k 棒数量的数值。
2.2 BarsSinceExit
# 语法:
语法 BarsSinceExit(PosBack) 参数 PosBack——数值表达式,用来指定部位: 0——未平仓部位; 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 若 PosBack 未指定,则预设为未平仓部位。
注意 此功能只能用于信号或函数中。无法取加仓的信息。
# 示例:
取得最近一笔平仓部位距今多少根 K 棒数量的,并存入变量Value1: Value1= BarsSinceExit(1);
# 说明:
返回指定部位出场至今的 k 棒数量的数值。特别主要,一般应用为最近平仓部位的状态,因此需要在括号内加入1,这点非常重要。
2.3 ContractProfit
# 语法:
语法 ContractProfit
注意 此功能只能用于信号或函数中。
# 示例:
计算目前未平仓部位每手平均损益,并存入变量 Value1:
Value1= ContractProfit;
# 说明:
返回指定部位的每手平均损益。
2.4 CurrentContracts/CurrentShares
# 语法:
函数或信号脚本:CurrentContracts 或 CurrentShares
函数或信号或指标脚本:i_CurrentContracts 或 i_CurrentShares
# 示例:
CurrentContracts 在部位为多头 1 手时,返回 1 CurrentContracts 在部位为空头 3 手时,返回 3
# 说明:
返回目前部位手数数值。
2.5 CurrentEntries
# 语法:
语法 CurrentEntries
注意 此功能只能用于信号或函数中。
# 示例:
取的目前部位的进场笔数,并存于变量 Value1:
Value1= CurrentEntries;
# 说明:
返回目前部位的进场笔数。
2.6 EntryDate
# 语法:
语法 EntryDate(PosBack) 参数 PosBack——数值表达式,用来指定部位: 0——未平仓部位; 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 若 PosBack 未指定,则预设为未平仓部位。 注意 此功能只能用于信号或函数中。无法取加仓的信息。
# 示例:
将目前部位第一笔进场日期存入变量 Value1;若进场日期为 2008 年 10 月,则 Value1=1081030: Value1= EntryDate; 将最后一个平仓部位第一笔进场的日期存入变量 Value1;若 进场日期为 1999 年 4 月 2 日,则 Value1=990402: Value1= EntryDate(1);
# 说明:
返回指定部位第一笔进场的日期。
2.7 EntryName
# 语法:
语法 EntryName(PosBack) 参数 PosBack——数值表达式,用来指定部位: 0——未平仓部位; 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 若 PosBack 未指定,则预设为未平仓部位。 注意 此功能只能用于信号或函数中。无法取加仓的信息。
# 示例:
将目前部位第一笔进场信号名称存入变量 Value1;若进场信 号名称为 Buy1,则 Value1=”Buy1”: Value1= EntryName; 将最后一个平仓部位第一笔进场的信号名称存入变量 Value1; 若进场信号名称为 Buy1,则 Value1=”Buy1”: Value1= EntryName(1);
# 说明:
返回指定部位第一笔进场的信号名称。
2.8 EntryPrice
# 语法:
语法 EntryPrice(PosBack) 参数 PosBack——数值表达式,用来指定部位: 0——未平仓部位; 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 若 PosBack 未指定,则预设为未平仓部位。 注意 此功能只能用于信号或函数中。无法取加仓的信息。
# 示例:
将目前部位第一笔进场价格存入变量 Value1: Value1= EntryPrice; 将最后一个平仓部位第一笔进场的价格存入变量 Value1: Value1= EntryPrice(1);
# 说明:
返回指定部位第一笔进场的价格。这个函数最为常用。
2.9 EntryTime
# 语法:
语法 EntryTime(PosBack) 参数 PosBack——数值表达式,用来指定部位: 0——未平仓部位; 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 若 PosBack 未指定,则预设为未平仓部位。 注意 此功能只能用于信号或函数中。无法取加仓的信息。
# 示例:
将目前部位第一笔进场时间存入变量 Value1;若进场时间为 上午 10:15,则 Value1=1015: Value1= EntryTime; 将最后一个平仓部位第一笔进场的时间存入变量 Value1;若 进场日期为下午 2:45,则 Value1=1445: Value1= EntryTime(1);
# 说明:
返回指定部位第一笔进场的时间。
2.10 ExitDate
# 语法:
语法 ExitDate(PosBack) 参数 PosBack——数值表达式,用来指定部位: 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 注意 此功能只能用于信号或函数中。无法取加仓的信息。
# 示例:
将上一个平仓部位最后一笔出场日期存入变量 Value1: Value1= ExitDate(1); 若出场日期为 2008 年 10 月,则 Value1=1081030
# 说明:
返回指定部位最后一笔出场的日期。
2.11 ExitName
# 语法:
语法 ExitName(PosBack) 参数 PosBack——数值表达式,用来指定部位: 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 注意 此功能只能用于信号或函数中。无法取加仓的信息。
# 示例:
将最后一个平仓部位最后一笔出场的信号名称存入变量 Value1: Value1= ExitName(1); 若出场信号名称为 Sell1,则 Value1=”Sell1”
# 说明:
返回指定部位最后一笔出场的信号名称。
2.12 ExitPrice
# 语法:
语法 ExitPrice(PosBack) 参数 PosBack——数值表达式,用来指定部位: 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 注意 此功能只能用于信号或函数中。无法取加仓的信息。
# 示例:
将上一个平仓部位最后一笔出场的价格存入变量 Value1: Value1= ExitPrice(1);
# 说明:
返回指定部位最后一笔出场的价格。
2.13 ExitTime
# 语法:
语法 ExitTime(PosBack) 参数 PosBack——数值表达式,用来指定部位: 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 注意 此功能只能用于信号或函数中。无法取加仓的信息。
# 示例:
将最后一个平仓部位最后一笔出场的时间存入变量 Value1: Value1= ExitTime(1); 若出场时间为下午 2:45,则 Value1=1445
# 说明:
返回指定部位最后一笔出场的时间。
2.14 MarketPosition
# 语法:
语法 信号或函数中:MarketPosition(PosBack) 参数 PosBack——数值表达式,用来指定部位: 0——未平仓部位; 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 若 PosBack 未指定,则预设为未平仓部位。 返回 1——多头部位 0——无持仓 -1——空头部位
# 示例:
若目前无持仓,则 MarketPosition 将会返回 0 若目前部位为多头,则 MarketPosition 或 i_MarketPosition 返 回 1
# 说明:
返回代表指定部位多空状态的数值。
2.15 i_MarketPosition_at_Broker MarketPosition_at_Broker
# 语法
语法
信号脚本:MarketPosition _at_Broker 函数及指标脚本:i_MarketPosition_at_Broker
注意 *此功能和 MarketPosition 不同,仅能获取的目前最新的状态, 无法透过参数取得历史交易资料。 *此功能只能用于 Interactive Brokers, Patsystems 和 Zen-Fire 经纪商。
# 示例:
目前部位为多头 3 手,则 MarketPosition_at_Broker 会返回 3 目前部位为空头 3 手,则 i_MarketPosition_at_Broker 会返回 -3 目前部位为空手,则 MarketPosition_at_Broker 会返回 0
# 说明:
返回目前商品在经纪商的部位数量及状态。 返回正值表示多头持仓,返回负值表示空头持仓。当持仓平掉或自动交易关闭时,返回数值”0”。
2.16 i_MarketPosition_at_Broker_for_The_Strategy MarketPosition_at_Broker_for_The_Strategy
# 语法:
语法
信号脚本:MarketPosition_at_Broker_for_The_Strategy 函数及指标:i_MarketPosition_at_Broker_for_The_Strategy
注意 此功能和 MarketPosition 不同,仅能获取的目前最新的状态, 无法透过参数取得历史交易资料。
重要提示 如果用户手动关闭自动交易,关键字返回值不再改变,有可 能保持非 0 值。
# 示例:
MarketPosition _at_Broker_for_The_Strategy 当部位为多头 3手时,将会返回 3 MarketPosition _at_Broker_for_The_Strategy 当部位为空头 3手时,将会返回-3 MarketPosition _at_Broker_for_ The_Strategy 当无持仓或自动交易未开启时,将会返回 0
# 说明:
返回目前商品在经纪商的部位数量及状态。 返回正值表示多头持仓,返回负值表示空头持仓。 当持仓平掉或自动交易关闭时,返回数值”0”。
2.17 MaxContractProfit
# 语法:
语法 MaxContractProfit
注意 此功能只能用于信号或函数中。
# 示例:
计算目前未平仓部位曾获得的每手最大获利,并存于变量Value1:
Value1= MaxContractProfit;
# 说明:
返回目前部位曾获得的每手最大获利。
2.18 MaxContracts/MaxShares
# 语法:
语法 MaxContracts(PosBack) 参数 PosBack——数值表达式,用来指定部位: 0——未平仓部位; 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 若 PosBack 未指定,则预设为未平仓部位。 注意 此功能只能用于信号或函数中。
# 示例:
若目前无持仓,则 MaxContracts 会返回 0 若最后一次平仓的部位最大曾有 10 手多头或空头,则 MaxContracts(1) 会返回 10
# 说明:
返回指定部位最大手数的绝对值。
2.19 MaxEntries
# 语法:
语法 MaxEntries(PosBack) 参数 PosBack——数值表达式,用来指定部位: 0——未平仓部位; 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 若 PosBack 未指定,则预设为未平仓部位。 注意 此功能只能用于信号或函数中。
# 示例:
若最后一次平仓的部位是分 2 笔进场,则 MaxEntries(1)会返回 2
# 说明:
返回指定部位总共进场的笔数。
2.20 MaxPositionAgo
# 语法:
语法 MaxPositionAgo
注意 测试 MaxPositionAgo 无法编译成功,可用关键字
MaxPositionsAgo。
# 示例:
若策略过去总共交易过 2 次,则 MaxPositionsAgo 会返回 2
# 说明:
返回过去曾经交易过的次数。
2.21 MaxPositionLoss
# 语法:
语法 MaxPositionLoss(PosBack) 参数 PosBack——数值表达式,用来指定部位: 0——未平仓部位; 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 若 PosBack 未指定,则预设为未平仓部位。 注意 此功能只能用于信号或函数中。
# 示例:
若最后一次平仓的部位持有期间的最大亏损为 20,则 MaxPositionLoss(1)会返回-20
# 说明:
返回指定部位持有期间内出现的最大亏损数值。
2.22 MaxPositionProfit
# 语法:
语法 MaxPositionProfit(PosBack) 参数 PosBack——数值表达式,用来指定部位: 0——未平仓部位; 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 若 PosBack 未指定,则预设为未平仓部位。 注意 此功能只能用于信号或函数中
# 示例:
若最后一次平仓的部位持有期间的最大获利为 20,则 MaxPositionProfit(1)会返回 20
# 说明:
返回指定部位持有期间内出现的最大获利数值。
2.23 OpenPositionProfit
# 语法:
语法 OpenPositionProfit
注意 此功能只能用于信号或函数中。
# 示例:
若目前无持仓,即 OpenPositionProfit 会返回 0 若目前部位获利 5,即 OpenPositionProfit 会返回 5 若目前部位亏损 10,即 OpenPositionProfit 会返回 -10
# 说明:
返回目前未平仓部位的获利(亏损)金额。
2.24 PositionProfit
# 语法:
语法 PositionProfit(PosBack) 参数 PosBack——数值表达式,用来指定部位: 0——未平仓部位; 1——上一个平仓部位(最后一个平仓部位); 2——上二个平仓部位,依次类推。 若 PosBack 未指定,则预设为未平仓部位。 注意 此功能只能用于信号或函数中。
# 示例:
若目前无持仓,则 PositionProfit 会返回 0 若目前未平仓部位获利 5,则 PositionProfit(0)会返回 5 若最后一个已平仓部位亏损 5,则 PositionProfit(-1)会返回 -5
# 说明:
返回指定部位的获利(亏损)金额。
第三节:策略部位同步
策略部位同步主要针对交易插件或者交易所不支持市价单的情况,使用TOUCHANGE交易到内盘交易所都支持市价单,这两个功能可不选用。大多数情况下,我们在策略交易设置中选择即可。英文文档可参照:http://www.multicharts.com/pm/viewissue.php?issue_no=MC-14
3.1 ChangeMarketPosition
# 语法:
语法 ChangeMarketPosition(Delta,Price, Name) 参数 Delta——指定要标注在图上的信号手数 Price——指定价格 Name——指定信号名称 注意 *可以用来同步策略部位和经纪商部位。 *经过测试,ChangeMarketPosition 只会在图上标出信号,不 会发委托单到达钱。
# 示例:
If MarketPosition = 2 Then ChangeMarketPosition(-2,100,"LX") 如果当前持仓为 2(实际不可以这样写),则在图上标出买平 仓指令信号,信号名称为"LX",价格为 100 If MarketPosition = 0 Then ChangeMarketPosition (-2,100,"SE") 如果当前没有持仓,则在图上标出卖开仓指令,信号名称为 "SE",价格为 100 更多例子,可以参考内置信号"!From Strategy To Broker MPSynchronizer!"。
# 说明:
在图表上标注一个指定名称和价格的指令信号。 无论是否开启自动交易,此关键字产生的指令信号不会发到 经纪商。
3.2 PlaceMarketOrder
# 语法:
语法 PlaceMarketOrder(IsBuy, IsEntry, Contracts) 参数 IsBuy——用来指定委托是买或卖,True 为买,False 为卖。 IsEntry——指定委托为新仓或平仓,True 为新仓,False 为平 仓(MultiCharts 实际发的是自动单)。 Contracts——指定委托的手数。 注意 *在自动交易关闭时使用。 *可以用来同步策略部位和经纪商部位。 *经测试,开启自动交易,PlaceMarketOrder 会实际发单到达 钱,MultiCharts 图上不会产生信号。
# 示例:
If MarketPosition = 2 and MarketPosition_at_Broker = 4 then PlaceMarketOrder(false, false, 2); 当前图上部位为多头 2 手(实际应该用 MarketPosition*CurrentContracts = 2),经纪商部位为多头4手, MultiCharts 将会发出 2 手市价卖单到经纪商。 更多例子,可以参考内置信号"!From Strategy To Broker MP Synchronizer!"。
# 说明:
不改变图表上的部位(图上不会有信号产生),发市价单到经纪商。
第四节:策略部位交易
本章关键字可取得指定进场的委托价格(类似于Get函数)、手续费、日期、最大最 小盈亏等信息。PosTrade 系列的关键字,还可以取得加仓的进出场价 格、日期、名称、多空状态、大小等。
指的注意的一点是:
若程序中含有加仓语句,信号所在图表窗口的加仓限制需要被打 开。方法:至“格式”->“策略属性”->“属性”中,将“部位限制” 打勾,并输入同方向的总得进场笔数。
4.1 OpenEntriesCount
# 说明:和 CurrentEntries 用法一样。
4.2 OpenEntryComission
# 语法:
语法 OpenEntryComission(EntryIndex) 参数 EntryIndex——数值表达式,表示指定交易是第几笔进场(从 0 开始)。 注意 *此关键字只能用在信号中。 *检测未平仓部位总笔数可以用 OpenEntriesCount。
# 示例:
语法 OpenEntryComission(EntryIndex) 参数 EntryIndex——数值表达式,表示指定交易是第几笔进场(从 0 开始)。 注意 *此关键字只能用在信号中。 *检测未平仓部位总笔数可以用 OpenEntriesCount。
# 说明:
说明返回一个数值,表示未平仓部位的指定交易手续费金额(以美元表示)。
4.3 OpenEntryContracts
# 语法:
语法 OpenEntryContracts(EntryIndex) 参数 EntryIndex——数值表达式,表示指定交易是第几笔进场(从 0 开始)。 注意 *此关键字只能用在信号中。 *检测未平仓部位总笔数可以用 OpenEntriesCount。
# 示例:
如果当前未平仓部位为 3 手,由 1 手和 2 手的两笔进场产生, 则 OpenEntryContracts 会返回 1,表示第一笔进场为 1 手。 如果当前未平仓部位为 3 手,由 1 手和 2 手的两笔进场产生, 则 OpenEntryContracts(1)会返回 2,表示第二笔进场为 2 手。
# 说明:
返回一个数值,表示当前未平仓部位中指定进场的委托手数。
4.4 OpenEntryDate
# 语法:
语法 OpenEntryDate(EntryIndex) 参数 EntryIndex——数值表达式,表示指定交易是第几笔进场(从 0 开始)。 注意 *此关键字只能用在信号中*检测未平仓部位总笔数可以用 OpenEntriesCount。
# 示例:
如果当前未平仓部位的第二笔进场委托在 2011 年 4 月 2 日产 生,则 OpenEntryDate(1)返回值为 1110402。
# 说明:
返回一个数值,表示当前未平仓部位中指定进场的委托日期。 日期格式显示为 YYYMMdd,YYY 表示自 1900 至今的年份, MM 表示月,dd 表示日。
4.5 OpenEntryMaxProfit
# 语法:
语法 OpenEntryMaxProfit(EntryIndex) 参数 EntryIndex——数值表达式,表示指定交易是第几笔进场(从 0 开始)。 注意 *此关键字只能用在信号中。 *检测未平仓部位总笔数可以用 OpenEntriesCount。
# 示例:
如果当前未平仓部位的第一笔进场曾经达到 20dollar 的最大利润,则 OpenEntryMaxProfit 返回值为 20。
# 说明:
返回数值,表示从进场委托执行开始到当前时间, OpenEntryProfit 的最大值。
4.6 OpenEntryMaxProfitPerContract
# 语法:
语法 OpenEntryMaxProfitPerContract(EntryIndex) 参数 EntryIndex——数值表达式,表示指定交易是第几笔进场(从0 开始)。 注意 *此关键字只能用在信号中。 *检测未平仓部位总笔数可以用 OpenEntriesCount。
# 示例:
如果当前未平仓部位的第二笔进场曾经达到每手 1.5 dollar 的最大利润,则 OpenEntryMaxProfitPerContract(1)返回值为 1.5。
# 说明:
返回一个数值,表示从进场委托执行开始到当前时间, OpenEntryProfitPerContract 的最大值。
4.7 OpenEntryMinProfit
# 语法:
语法 OpenEntryMinProfit(EntryIndex) 参数 EntryIndex——数值表达式,表示指定交易是第几笔进场(从0 开始)。 注意 *此关键字只能用在信号中。 *检测未平仓部位总笔数可以用 OpenEntriesCount。
# 示例:
如果当前未平仓部位的第二笔进场曾经最大损失达到 15dollar,则 OpenEntryMinProfit(1)返回值为-15。
# 说明:
返回一个数值,表示从进场委托执行开始到当前时间, OpenEntryProfit 的最小值。
4.8 OpenEntryMinProfitPerContract
# 语法:
语法 OpenEntryMinProfitPerContract(EntryIndex) 参数 EntryIndex——数值表达式,表示指定交易是第几笔进场(从0 开始)。 注意 *此关键字只能用在信号中。 *检测未平仓部位总笔数可以用 OpenEntriesCount。
# 示例:
如果当前未平仓部位的第二笔进场曾经最大损失达到每手 1.5dollar,则 OpenEntryMinProfitPerContract(1)返回值为-1.5。
# 说明:
返回一个数值,表示从进场委托执行开始到当前时间, OpenEntryProfitPerContract 的最小值。
4.9 OpenEntryPrice
# 语法:
语法 OpenEntryPrice(EntryIndex) 参数 EntryIndex——数值表达式,表示指定交易是第几笔进场(从0 开始)。 注意 *此关键字只能用在信号中。 *检测未平仓部位总笔数可以用 OpenEntriesCount。
# 示例:
如果当前未平仓部位的第一笔进场委托价格为 101,则 OpenEntryPrice 返回值为 101. 如果当前未平仓部位的第二笔进场委托价格为 101.5,则 OpenEntryPrice(1)返回值为 101.5
# 说明:
返回一个数值,表示当前未平仓部位中指定进场的委托价格。
4.10 OpenEntryProfit
# 语法:
语法 OpenEntryProfit(EntryIndex) 参数 EntryIndex——数值表达式,表示指定交易是第几笔进场(从0 开始)。 注意 *此关键字只能用在信号中。 *检测未平仓部位总笔数可以用 OpenEntriesCount。
# 示例:
如果当前未平仓部位的第一笔进场的当前利润为 10 dollar,则 OpenEntryProfit 返回值为 10。 如果当前未平仓部位的第二笔进场的当前损失达到 10 dollar, 则 OpenEntryProfit(1)返回值为-10。
# 说明:
返回一个数值,表示当前未平仓部位中指定进场的委托盈利 (负值表示损失)。
4.11 OpenEntryProfitPerContract
# 语法:
语法 OpenEntryProfitPerContract(EntryIndex) 参数 EntryIndex——数值表达式,表示指定交易是第几笔进场(从0 开始)。 注意 *此关键字只能用在信号中。 *检测未平仓部位总笔数可以用 OpenEntriesCount。
# 示例:
如果当前未平仓部位的第一笔进场的当前利润为每手 1 dollar,则 OpenEntryProfitPerContract 返回值为 1。 如果当前未平仓部位的第二笔进场的当前损失达到每手 0.5 dollar,则 OpenEntryProfitPerContract(1)返回值为-0.5。
# 说明:
返回一个数值,表示当前未平仓部位中指定进场的每手盈利 (负值表示损失)。
4.12 OpenEntryTime
# 语法:
语法 OpenEntryTime(EntryIndex)
参数 EntryIndex——数值表达式,表示指定交易是第几笔进场(从0 开始)。
注意 此关键字只能用在信号中。
检测未平仓部位总笔数可以用 OpenEntriesCount。
# 示例:
如果当前未平仓部位的第一笔进场时间为 10:15AM,则 OpenEntryTime 返回值为 1015 如果当前未平仓部位的第二笔进场时间为 3:45PM,则 OpenEntryTime(1)返回值为 1545
# 说明:
返回一个数值,表示当前未平仓部位中指定进场的时间。 时间为 HHmm 格式,HH 为 24 小时制时,mm 为分钟。
4.13 PosTradeCommission
# 语法:
语法 PosTradeCommission(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 此关键字只能用在信号中。 检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔进场手续费为 5 dollars,则 PosTradeCommission(0,1)返回值为 5。
# 说明:
返回一个绝对数值,表示指定部位和指定委托的手续费。
4.14 PosTradeCount
# 语法:
语法 PosTradeCount(PosBack) 参数 PosBack——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个平仓部位); 2——前第二个平仓部位,依次类推。 注意 此关键字只能用在信号中。
# 示例:
如果最近的已平仓部位有两笔进场,则 PosTradeCount(1)返回值为 2。
# 说明:
返回一个数值,表示指定部位的总交易笔数。
4.15 PosTradeEntryBar
# 语法:
语法 PosTradeEntryBar(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 *此关键字只能用在信号中。 *检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔进场开仓在第 25 根 Bar(即BarNumber=25),则 PosTradeEntryBar(0,1)返回值为 25
# 说明:
返回一个绝对数值,表示指定部位和指定进场委托的 BarNumber。
4.16 PosTradeEntryCategory
# 语法:
语法 PosTradeEntryCategory(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 *此关键字只能用在信号中。 *检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔进场委托为停止单,则PosTradeEntryCategory(0,1)返回值为 1
# 说明:
返回一个绝对数值,表示指定部位和指定进场的委托类别。 可能的委托类别有以下几种:
1 = Stop order (buy next Bar at close - 1 point stop) 停止单
2 = Limit order (buy next Bar at close + 1 point limit) 限价单
3 = Market order (buy next Bar market) 市价单
4 = Market at Close order (buy this Bar at close) 市价单
5 = Market at Open order (buy next Bar open) 市价单
6 = Reserved for special orders 为特殊委托单保留
7 = Reserved for special orders 为特殊委托单保留
8 = StopLimit order (buy 1 contracts next Bar at close - 2 point stop close + 2 point limit) 停损限价单
4.17 PosTradeEntryDateTime
# 语法:
语法 PosTradeEntryDateTime(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 *此关键字只能用在信号中。 *检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔进场委托的日期时间为 2008/1/1,6:00AM,则 PosTradeEntryDateTime(0,1)返回值为 39448.25000000
# 说明:
返回指定部位和指定进场委托的儒略日。作为例子请参看 ComputerDateTime。
4.18 PosTradeEntryName
# 语法:
语法 PosTradeEntryName(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 此关键字只能用在信号中。 检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔进场委托名称为"buy LE",则 PosTradeEntryName(0,1)返回值为"buy LE"
# 说明:
返回指定部位和指定进场委托名称,进场名称会显示在图表 和交易追踪器委托窗口中。
4.19 PosTradeEntryPrice
# 语法:
语法 PosTradeEntryPrice(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 此关键字只能用在信号中。 检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔进场价格为 100.2, 则 PosTradeEntryPrice(0,1)返回值为 100.2。
# 说明:
返回指定部位和指定进场的价格。
4.20 PosTradeExitBar
# 语法:
语法 PosTradeExitBar(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 *此关键字只能用在信号中。 *检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔进场在第 28 根 Bar(即BarNumber=28)被平仓,则 PosTradeExitBar(0,1)返回值为 28
# 说明:
返回一个绝对数值,表示指定部位和指定出场委托的 BarNumber。
4.21 PosTradeExitCategory
# 语法:
语法 PosTradeExitCategory(PosAgo,TradeNumber)
参数 PosAgo——数值表达式,用来指定部位:
0——未平仓部位;
1——前一个平仓部位(最后一个已平仓部位);
2——前第二个平仓部位,依此类推
TradeNumber——数值表达式,表示指定交易是第几笔进场
(从 0 开始)。
注意
*此关键字只能用在信号中。
*检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔出场委托为停止单,则 PosTradeExitCategory(0,1)返回值为 1
# 说明:
返回一个绝对数值,表示指定部位和指定出场的委托类别。 可能的委托类别有以下几种:
1 = Stop order (buy next Bar at close - 1 point stop) 停止单
2 = Limit order (buy next Bar at close + 1 point limit) 限价单
3 = Market order (buy next Bar market) 市价单
4 = Market at Close order (buy this Bar at close) 市价单
5 = Market at Open order (buy next Bar open) 市价单
6 = Reserved for special orders 为特殊委托单保留
7 = Reserved for special orders 为特殊委托单保留
8 = StopLimit order (buy 1 contracts next Bar at close - 2 point stop close + 2 point limit) 停损限价单
4.22 PosTradeExitDateTime
# 语法:
语法 PosTradeExitDateTime(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 *此关键字只能用在信号中。 *检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果最近的已平仓部位的第二笔出场委托的日期时间为2008/1/1,6:00AM,则 PosTradeExitDateTime(1,1)返回值为 39448.25000000
# 说明:
返回指定部位和指定出场委托的儒略日。
4.23 PosTradeExitName
# 语法:
语法 PosTradeExitName(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 *此关键字只能用在信号中。 *检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔进场委托名称为"sell LX",则PosTradeExitName(0,1)返回值为"sell LX"
# 说明:
返回指定部位和指定出场的委托名称,出场名称会显示在图 表和交易追踪器委托窗口中。
4.24 PosTradeExitPrice
# 语法:
语法 PosTradeExitPrice(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 *此关键字只能用在信号中。 *检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔交易出场价格为 100.2,则PosTradeExitPrice(0,1)返回值为 100.2
# 说明:
返回指定部位的指定出场的价格。
4.25 PosTradeIsLong
# 语法:
语法 PosTradeIsLong(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 *此关键字只能用在信号中。 *检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔交易为买单进场,则PosTradeIsLong(0,1)返回值为 true
# 说明:
如果指定部位和指定交易为买单进场,则返回 true,否则, 返回 false。
4.26 PosTradeIsOpen
# 语法:
语法 PosTradeIsOpen(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 *此关键字只能用在信号中。 *检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔交易还未平仓(没有平仓委托),则 PosTradeIsOpen(0,1)返回值为 true
# 说明:
如果指定部位和指定交易未平仓,则返回 true,已平仓,返 回 false。 此关键字只对未平仓部位有意义,其他已平仓部位返回值一 直为 false。
4.27 PosTradeProfit
# 语法:
语法 PosTradeProfit(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 *此关键字只能用在信号中。 *检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔交易盈利为 3dollars,则PosTradeProfit(0,1)返回值为 3
# 说明:
返回一个绝对数值,表示指定部位和指定交易的盈利(负值 表示亏损)。
4.28 PosTradeSize
# 语法:
语法 PosTradeSize(PosAgo,TradeNumber) 参数 PosAgo——数值表达式,用来指定部位: 0——未平仓部位; 1——前一个平仓部位(最后一个已平仓部位); 2——前第二个平仓部位,依此类推 TradeNumber——数值表达式,表示指定交易是第几笔进场 (从 0 开始)。 注意 *此关键字只能用在信号中。 *检测指定部位总交易笔数可以用 PosTradeCount。
# 示例:
如果当前未平仓部位的第二笔交易的委托合约手数为 2 手,则 PosTradeSize(0,1)返回值为 2
# 说明:
返回一个绝对数值,表示指定部位和指定交易的合约手数。
=================================================
之前的文章感谢大家的转载,希望转载时请注明出处,本人转自其它网站的图表一并感谢,谢谢~!
https://www.cnblogs.com/noah0532/