: | : | :期货量化学习 | :期货量化 |
返回列表 发帖

MultiCharts编程-PowerLanguage-Strategy Position策略部位

MultiCharts编程-PowerLanguage-Strategy Position策略部位

24 Strategy Position策略部位

策略部位信息包括:进出场名称、进出场日期时间(可锁定图表的横坐标)、进场场点位(锁定图表的纵坐标)、进出场后至今的K线数目、持仓方向(marketposition)和大小(currentcontracts)、最大的盈亏金额、图表策略的指定部位的盈亏状况等。

策略部位的信息是指某信号策略插入到图表后,图表上对应的部位信息,并不对应任何实盘或模拟账号。策略部位和经纪商部位可能不一致(因保证金不足或滑价等原因导致),一种方法是,可以结合第1章的取得实盘账户资金和部位的函数,当策略部位和经纪商账户部位不一致时,进行仓位调整或加入更严谨的策略逻辑。另外一种方法:结合本章的MarketPosiont_at_Broker_for_The_Strategy关键字,取得自动交易对应的策略所在图表的经纪商部位(实际取得是交易追踪器目前已成交后的部位情况)。

本章节的关键字多是针对单进单出的策略,对于有加仓或分批出场的策略,无法取到更详细的策略部位信息。若取加仓或分批出场的信息,请至第26章中PosTrade系列中查看对应的关键字。

  BarsSinceEntry  
  

说明

  
  

返回指定部位进场至今的k棒数量的数值。

  
  

语法

  
  

BarsSinceEntry(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

0——未平仓部位;

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  

PosBack未指定,则预设为未平仓部位。

  
  

注意

  
  

此功能只能用于信号或函数中。无法取加仓的信息。

  
  

范例

  
  

取得目前仓位进场后的K棒数量,并存于变量 Value1

  

Value1= BarsSinceEntry;

  

取得最近一笔平仓部位距今多少根K棒数量的,并存入变量Value1

  

Value1= BarsSinceEntry(1);

  


  BarsSinceExit  
  

说明

  
  

返回指定部位出场至今的k棒数量的数值。

  
  

语法

  
  

BarsSinceExit(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

0——未平仓部位;

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  

PosBack未指定,则预设为未平仓部位。

  
  

注意

  
  

此功能只能用于信号或函数中。无法取加仓的信息。

  
  

范例

  
  

取得最近一笔平仓部位距今多少根K棒数量的,并存入变量Value1

  

Value1= BarsSinceExit(1);

  


  ContractProfit  
  

说明

  
  

返回指定部位的每手平均损益。

  
  

语法

  
  

ContractProfit

  
  

注意

  
  

此功能只能用于信号或函数中。

  
  

范例

  
  

计算目前未平仓部位每手平均损益,并存入变量Value1

  

Value1= ContractProfit;

  


  CurrentContracts/CurrentShares  
  

说明

  
  

返回目前部位手数数值。

  
  

语法

  
  

函数或信号脚本:CurrentContractsCurrentShares

  

函数或信号或指标脚本:i_CurrentContractsi_CurrentShares

  
  

范例

  
  

CurrentContracts在部位为多头1手时,返回1

  

CurrentContracts在部位为空头3手时,返回3

  


  CurrentEntries  
  

说明

  
  

返回目前部位的进场笔数。

  
  

语法

  
  

CurrentEntries

  
  

注意

  
  

此功能只能用于信号或函数中。

  
  

范例

  
  

取的目前部位的进场笔数,并存于变量Value1

  

Value1= CurrentEntries;

  


  EntryDate  
  

说明

  
  

返回指定部位第一笔进场的日期。

  
  

语法

  
  

EntryDate(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

0——未平仓部位;

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  

PosBack未指定,则预设为未平仓部位。

  
  

注意

  
  

此功能只能用于信号或函数中。无法取加仓的信息。

  
  

范例

  
  

将目前部位第一笔进场日期存入变量Value1;若进场日期为200810月,则Value1=1081030

  

Value1= EntryDate;

  

将最后一个平仓部位第一笔进场的日期存入变量Value1;若进场日期为199942,则Value1=990402

  

Value1= EntryDate(1);

  


  EntryName  
  

说明

  
  

返回指定部位第一笔进场的信号名称。

  
  

语法

  
  

EntryName(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

0——未平仓部位;

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  

PosBack未指定,则预设为未平仓部位。

  
  

注意

  
  

此功能只能用于信号或函数中。无法取加仓的信息。

  
  

范例

  
  

将目前部位第一笔进场信号名称存入变量Value1;若进场信号名称为Buy1,则Value1=”Buy1”

  

Value1= EntryName;

  

将最后一个平仓部位第一笔进场的信号名称存入变量Value1;若进场信号名称为Buy1,则Value1=”Buy1”

  

Value1= EntryName(1);

  


  EntryPrice  
  

说明

  
  

返回指定部位第一笔进场的价格。

  
  

语法

  
  

EntryPrice(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

0——未平仓部位;

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  

PosBack未指定,则预设为未平仓部位。

  
  

注意

  
  

此功能只能用于信号或函数中。无法取加仓的信息。

  
  

范例

  
  

将目前部位第一笔进场价格存入变量Value1

  

Value1= EntryPrice;

  

将最后一个平仓部位第一笔进场的价格存入变量Value1  Value1= EntryPrice(1);

  


  EntryTime  
  

说明

  
  

返回指定部位第一笔进场的时间。

  
  

语法

  
  

EntryTime(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

0——未平仓部位;

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  

PosBack未指定,则预设为未平仓部位。

  
  

注意

  
  

此功能只能用于信号或函数中。无法取加仓的信息。

  
  

范例

  
  

将目前部位第一笔进场时间存入变量Value1;若进场时间为上午10:15,则Value1=1015

  

Value1= EntryTime;

  

将最后一个平仓部位第一笔进场的时间存入变量Value1;若进场日期为下午2:45,则Value1=1445

  

Value1= EntryTime(1);

  


  ExitDate  
  

说明

  
  

返回指定部位最后一笔出场的日期。

  
  

语法

  
  

ExitDate(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  
  

注意

  
  

此功能只能用于信号或函数中。无法取加仓的信息。

  
  

范例

  
  

将上一个平仓部位最后一笔出场日期存入变量Value1

  

Value1= ExitDate(1);

  

若出场日期为200810月,则Value1=1081030

  


  ExitName  
  

说明

  
  

返回指定部位最后一笔出场的信号名称。

  
  

语法

  
  

ExitName(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  
  

注意

  
  

此功能只能用于信号或函数中。无法取加仓的信息。

  
  

范例

  
  

将最后一个平仓部位最后一笔出场的信号名称存入变量Value1

  

Value1= ExitName(1);

  

若出场信号名称为Sell1,则Value1=”Sell1”   

  


  ExitPrice  
  

说明

  
  

返回指定部位最后一笔出场的价格。

  
  

语法

  
  

ExitPrice(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  
  

注意

  
  

此功能只能用于信号或函数中。无法取加仓的信息。

  
  

范例

  
  

将上一个平仓部位最后一笔出场的价格存入变量Value1

  

Value1= ExitPrice(1);

  


  ExitTime  
  

说明

  
  

返回指定部位最后一笔出场的时间。

  
  

语法

  
  

ExitTime(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  
  

注意

  
  

此功能只能用于信号或函数中。无法取加仓的信息。

  
  

范例

  
  

将最后一个平仓部位最后一笔出场的时间存入变量Value1

  

Value1= ExitTime(1);

  

若出场时间为下午2:45,则Value1=1445

  


  MarketPosition  
  

说明

  
  

请参看第23章中关键字i_MarketPosition/MarketPosition

  


  i_MarketPosition _at_Broker  MarketPosition _at_Broker  
  

说明

  
  

返回目前商品在经纪商的部位数量及状态。

  

返回正值表示多头持仓,返回负值表示空头持仓。

  

当持仓平掉或自动交易关闭时,返回数值”0”

  
  

语法

  
  

信号脚本:MarketPosition _at_Broker

  

函数及指标脚本:i_ MarketPosition _at_Broker

  
  

注意

  
  

*此功能和MarketPosition不同,仅能获取的目前最新的状态,无法透过参数取得历史交易资料。

  

*此功能只能用于 Interactive Brokers, PatsystemsZen-Fire经纪商。

  
  

范例

  
  

目前部位为多头3手,则MarketPosition  _at_Broker会返回3

  

目前部位为空头3手,则i_ MarketPosition  _at_Broker会返回-3

  

目前部位为空手,则MarketPosition _at_Broker
会返回0

  


  i_ MarketPosition _at_Broker_for_The_Strategy  MarketPosition  _at_Broker_for_The_Strategy  
  

说明

  
  

返回目前商品在经纪商的部位数量及状态。

  

返回正值表示多头持仓,返回负值表示空头持仓。

  

当持仓平掉或自动交易关闭时,返回数值”0”

  
  

语法

  
  

信号脚本: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

  


  MaxContractProfit  
  

说明

  
  

返回目前部位曾获得的每手最大获利。

  
  

语法

  
  

MaxContractProfit

  
  

注意

  
  

此功能只能用于信号或函数中。

  
  

范例

  
  

计算目前未平仓部位曾获得的每手最大获利,并存于变量Value1

  

Value1= MaxContractProfit;

  


  MaxContracts/MaxShares  
  

说明

  
  

返回指定部位最大手数的绝对值。

  
  

语法

  
  

MaxContracts (PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

0——未平仓部位;

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  

PosBack未指定,则预设为未平仓部位。

  
  

注意

  
  

此功能只能用于信号或函数中。

  
  

范例

  
  

若目前无持仓,则MaxContracts会返回0

  

若最后一次平仓的部位最大曾有10手多头或空头,

  

MaxContracts (1) 会返回10

  


  MaxEntries  
  

说明

  
  

返回指定部位总共进场的笔数。

  
  

语法

  
  

MaxEntries(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

0——未平仓部位;

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  

PosBack未指定,则预设为未平仓部位。

  
  

注意

  
  

此功能只能用于信号或函数中。

  
  

范例

  
  

若最后一次平仓的部位是分2笔进场,则MaxEntries (1)会返回2

  


  MaxPositionsAgo  
  

说明

  
  

返回过去曾经交易过的次数。

  
  

语法

  
  

MaxPositionsAgo

  
  

范例

  
  

若策略过去总共交易过2次,则MaxPositionsAgo会返回2

  


  MaxPositionLoss  
  

说明

  
  

返回指定部位持有期间内出现的最大亏损数值。

  
  

语法

  
  

MaxPositionLoss(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

0——未平仓部位;

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  

PosBack未指定,则预设为未平仓部位。

  
  

注意

  
  

此功能只能用于信号或函数中。

  
  

范例

  
  

若最后一次平仓的部位持有期间的最大亏损为20

  

MaxPositionLoss(1)会返回-20

  


  MaxPositionProfit  
  

说明

  
  

返回指定部位持有期间内出现的最大获利数值。

  
  

语法

  
  

MaxPositionProfit(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

0——未平仓部位;

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  

PosBack未指定,则预设为未平仓部位。

  
  

注意

  
  

此功能只能用于信号或函数中。

  
  

范例

  
  

若最后一次平仓的部位持有期间的最大获利为20

  

MaxPositionProfit(1)会返回20

  


  OpenPositionProfit  
  

说明

  
  

返回目前未平仓部位的获利(亏损)金额。

  
  

语法

  
  

OpenPositionProfit

  
  

注意

  
  

此功能只能用于信号或函数中。

  
  

范例

  
  

若目前无持仓,即OpenPositionProfit会返回 0

  

若目前部位获利5,即OpenPositionProfit会返回 5

  

若目前部位亏损10,即OpenPositionProfit会返回 -10

  


  PositionProfit  
  

说明

  
  

返回指定部位的获利(亏损)金额。

  
  

语法

  
  

PositionProfit(PosBack)

  
  

参数

  
  

PosBack——数值表达式,用来指定部位:

  

0——未平仓部位;

  

1——上一个平仓部位(最后一个平仓部位);

  

2——上二个平仓部位,依次类推。

  

PosBack未指定,则预设为未平仓部位。

  
  

注意

  
  

此功能只能用于信号或函数中。

  
  

范例

  
  

若目前无持仓,则PositionProfit会返回 0

  

若目前未平仓部位获利5,则PositionProfit会返回 5

  

若目前未平仓部位亏损5,则PositionProfit会返回 -5

  

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

返回列表