量化投资_EasyLanguage/PowerLanguage教学课程__【第一篇基础】__【第二十二章策略交易_策略部位】

第二十二章:策略交易_策略部位

第一节:策略部位

  策略部位信息包括:进出场名称、进出场日期时间(可锁定图表 的横坐标)、进场场点位(锁定图表的纵坐标)、进出场后至今的 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;若进场日期为
200810 月,则 Value1=1081030:
Value1= EntryDate;
将最后一个平仓部位第一笔进场的日期存入变量 Value1;若
进场日期为 199942 日,则 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);
若出场日期为 200810 月,则 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。

# 示例

如果当前未平仓部位的第二笔进场委托在 201142 日产
生,则 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/

原文地址:https://www.cnblogs.com/noah0532/p/13702957.html