: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

MultiCharts编程-PowerLanguage-Portfolio Stragegy Position投资组合策略部位

MultiCharts编程-PowerLanguage-Portfolio Stragegy Position投资组合策略部位

17Portfolio Stragegy Position投资组合策略部位


本章包含投资组合策略指定部位的最大潜在亏损、当前的持仓笔数、当前未平仓的净利以及潜在亏损的设定。

  Portfolio_CalcMaxPotentialLossForEntry  
  

说明

  
  

计算并返回使用者在一定数量的手数和某个价位的进场部位的最大潜在亏损(不含保证金、手续费或滑价)。

  
  

语法

  
  

Portfolio_CalcMaxPotentialLossForEntry(持仓方向,<手数>,<价格>);

  

<>括号内的参数为选用参数。

  
  

参数

  
  

持仓方向——数值表达式,代表持仓多空状态(如:1代表多头,-1代表为空头)。

  

手数——选用参数,数值表达式,代表持仓的手数。若未指定手数,则会以策略属性》属性页面内设定的数量为预设值。

  

价格——选用参数,数值表达式,代表持仓的成交价格。若未指定价格,预设会以当根K棒的收盘价为成交价。如果有一个空头进场,此参数可以向下调整;如果有一个多头进场,此参数可以向上调整。

  
  

注意

  
  

此功能仅能在信号中,并且搭配Portfolio Backtester使用。

  
  

范例

  
  

Portfolio_CalcMaxPotentialLossForEntry(0,25,High)将会返回0,若持仓方向=0

  

Portfolio_CalcMaxPotentialLossForEntry(1,100,Close)将会返回最大潜在亏损(不含保证金、手续费或滑价),如果使用者在收盘价买进100手多头。Portfolio_CalcMaxPotentialLossForEntry(-1,5,Open) 将会返回最大潜在亏损(不含保证金、手续费或滑价),如果使用者在开盘价卖出5手空头。

  

Portfolio_CalcMaxPotentialLossForEntry(1)  将会返回最大潜在亏损(不含保证金、手续费或滑价),如果使用者以策略属性》属性页面设定的手数并在收盘价买入多头。

  


  Portfolio_CurrentEntries  
  

说明

  
  

返回投资组合目前未平仓的交易笔数。

  
  

语法

  
  

Portfolio_CurrentEntries

  
  

注意

  
  

此功能仅能在信号中,并且搭配Portfolio  Backtester使用。

  
  

范例

  
  

将目前投资组合未平仓交易的笔数存入变量Value1

  

Value1= Portfolio_CurrentEntries;

  


  Portfolio_MaxOpenPositionPotentialLoss  
  

说明

  
  

返回投资组合中,计算并返回目前商品未平仓部位最大可能亏损金额(不含保证金、手续费或滑价)。

  
  

语法

  
  

SetStopPosition;

  

SetStopLoss(Portfolio_MaxOpenPositionPotentialLoss);

  
  

注意

  
  

此功能仅能在信号中,并且搭配Portfolio  Backtester使用。

  
  

范例

  
  

Value1=Portfolio_MaxOpenPositionPotentiaLoss;

  

If Value1<>0  then begin

  

SetStopPosition;

  

SetStopLoss(Value1);

  

End;

  

当投资组合没有未平仓部位时,则Portfolio_MaxOpenPositionPotentiaLoss返回值是0

  

当投资组合从建立部位开始,曾出现过的最大亏损金额为$100,则Portfolio_MaxOpenPositionPotentiaLoss返回值是100

  


  Portfolio_OpenPositionProfit  
  

说明

  
  

返回目前投资组合所有未平仓部位的净利总金额(即未平仓盈利/亏损)。

  
  

语法

  
  

Portfolio_OpenPositionProfit

  
  

注意

  
  

此功能仅能在信号中,并且搭配Portfolio Backtester使用。

  
  

范例

  
  

若投资组合目前没有未平仓的部位,则Portfolio_OpenPositionProfit的返回值是0

  

若投资组合所有未平仓部位从进场到现在已获利$100,则Portfolio_OpenPositionProfit的返回值是100

  

若投资组合所有未部位从进场到现在已经亏损$50,则Portfolio_OpenPositionProfit返回值是-50

  


  Portfolio_SetMaxPotentialLossPerContract  
  

说明

  
  

重新设定测试商品的潜在损失。如果选择的是最大潜在损失金额,则设定的是绝对数值;如果选择的是最大潜在损失比率,则设定的是百分比值。

  

设定后的值在之后的策略计算中持续有效,直到再次调用Portfolio_SetMaxPotentialLossPerContract来重新设定新值。

  
  

语法

  
  

Portfolio_SetMaxPotentialLossPerContract(NewValue)

  
  

参数

  
  

NewValue——数值表达式,代表意义如下:

  

*介于[-100,-0.001]之间的数值;设定投资组合每手部位最大可能损失比率(最大潜在损失比率:%)。

  

*介于[0.001,1e+29]之间的数值;设定投资组合每手部位最大可能损失金额(最大潜在损失金额:$)。

  

*等于0;使用在投资组合设置》潜在损失设置中的预设值。

  
  

返回

  
  

True——代表新值设定成功

  

False——代表新值可能超出上述的数值范围,设定失败,并不会变更原有的最大潜在损失设定。

  
  

注意

  
  

此功能仅能在信号中,并且搭配Portfolio Backtester使用。

  
  

范例

  
  

当投资组合部位中存在商品”MSFT”时,则将最大潜在损失比率设为10%

  

If
“MSFT”=SymbolName then  Portfolio_SetMaxPotentialLossPerContract(-10);

  

设定最大潜在损失比率为5%

  

Portfolio_SetMaxPotentialLossPerContract(-5);

  

设定最大的潜在损失金额是$200

  

Portfolio_SetMaxPotentialLossPerContract(200);

  
















18 Portfolio Stragegy Properties投资组合属性

在投资组合中,保证金、潜在亏损等属性值,可由本章关键字取得。

注:QM——QuoteManager,即报价管理器。

  Portfolio_GetMarginPerContract  
  

说明

  
  

取得使用者在Portfolio Backtester的投资组合设置页面的保证金设置。

  
  

语法

  
  

Portfolio_GetMarginPerContract

  
  

返回

  
  

负值,代表使用者选择保证金占%N的合约价值,返回值是设定值N乘以-1

  

正值,代表使用者选择固定保证金值,返回值和QM中设定的保证金相同(可用关键字Margin取到)。

  
  

注意

  
  

此功能仅能在信号中,并且搭配Portfolio Backtester使用。

  
  

范例

  
  

若使用者选用固定保证金值,但QM中的商品属性并未设定保证金,则Portfolio_GetMarginPerContract返回值是0

  

若使用者选用固定保证金值,并与QM中的编辑商品》期货设定保证金为$25,则Portfolio_GetMarginPerContract返回值是25

  

若使用者选用保证金占%N的合约价值,并设定保证金为10%的合约价值,则Portfolio_GetMarginPerContract返回值是-10

  


  Portfolio_GetMaxPotentialLossPerContract  
  

说明

  
  

取得使用者在Portfolio  Backtester的投资组合设置页面设定的潜在损失。

  
  

语法

  
  

Portfolio_GetMaxPotentialLossPerContract

  
  

返回

  
  

*介于[-100,-0.001]之间(设定值乘以-1),代表投资组合设置中设定为最大潜在损失比率%)。

  

*介于[0.001,1e+29]之间,代表投资组合设置中设定为最大潜在损失金额$)。

  
  

注意

  
  

此功能仅能在信号中,并且搭配Portfolio  Backtester使用。

  
  

范例

  
  

若使用者设定使用最大潜在损失比率%)为5

  

Portfolio_GetMaxPotentialLossPerContract的返回值是-5

  

若使用者设定使用最大潜在损失金额$)为0.001

  

Portfolio_GetMaxPotentialLossPerContract返回值是0.001

  


  Portfolio_MaxRiskEquityPerPosPercent  
  

说明

  
  

取得使用者在Portfolio Backtester的投资组合设置页面设定的单个部位最大曝险率:%

  
  

语法

  
  

Portfolio_MaxRiskEquityPerPosPercent

  
  

注意

  
  

此功能仅能在信号中,并且搭配Portfolio Backtester使用。

  
  

范例

  
  

Portfolio_MaxRiskEquityPerPosPercent将会返回使用者设定的单个部位最大曝险率:%

  


  Portfolio_TotalMaxRiskEquityPercent  
  

说明

  
  

取得使用者在Portfolio  Backtester的投资组合设置页面设定的总部位曝险率:%

  
  

语法

  
  

Portfolio_TotalMaxRiskEquityPercent

  
  

注意

  
  

此功能仅能在信号中,并且搭配Portfolio  Backtester使用。

  
  

范例

  
  

Portfolio_TotalMaxRiskEquityPercent将会返回使用者设定的总部位曝险率:%

  


  PortfolioEntriesPriority  
  

说明

  
  

对投资组合内的进场委托单执行的优先权。

  

若投资组合资金无法满足所有委托,则有较高优先权的委托会先被执行,优先权最低的委托会被舍弃。

  

若没有特别设定优先权,则委托执行的优先顺序是依Portfolio Backtester内商品表的先后顺序。

  
  

语法

  
  

PortfolioEntriesPriority=Priority

  
  

参数

  
  

Priority ——数值表达式,指定进场委托单执行的优先权;数值越大,优先权越高。

  
  

注意

  
  

此功能仅能在信号中,并且搭配Portfolio  Backtester使用。

  
  

范例

  
  

将低价股设定较高的优先级:

  

PortfolioEntriesPriority=(-Close);

  

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   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

返回列表