MultiCharts编程-PowerLanguage-Portfolio Stragegy Position投资组合策略部位
- UID
- 2
- 积分
- 2874674
- 威望
- 1387366 布
- 龙e币
- 1487308 刀
- 在线时间
- 13156 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-24
|
MultiCharts编程-PowerLanguage-Portfolio Stragegy Position投资组合策略部位
第17章Portfolio 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); |
|
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|
|
|
|
|
|