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

MultiCharts编程-PowerLanguage-Strategy Performance策略绩效

MultiCharts编程-PowerLanguage-Strategy Performance策略绩效

策略绩效关键字,可以帮助我们更好的管理资金。比如我们希望按资金的百分比来管理进场,可参考如下程序:

  1. Input: initialcap(1000000),entrypercent(0.5),marginpercent(0.15);
  2. Var: totalequity(0),entrysize(0),marginpercontract(0);
  3. Totalequity=initialcap+netprofit+openpositionprofit;
  4. Marginpercontract= close*bigpointvalue*marginpercent;
  5. Entrysize=IntPortion(totalequity*entrypercent/Marginpercontract);
  6. If h>h[1] and condition1 then
  7. Buy("LE")  entrysize contracts next bar at market;
复制代码

其中,condition1是其他的买入进场条件,entrypercent是进场的百分比,marginpercent是保证金比例,totalequity是目前账户总权益,marginpercontract是每手合约所占用的保证金,entrysize是可进场的总手数。

使用者可以根据资金状况和策略思想,结合本章提供的关键字,来构建有效的资金管理模型。

本章的关键字有些可写入函数中,再被信号调用,不可以写在指标中或所在函数不可以被指标调用。

  AvgBarsEvenTrade  
  

说明

  
  

返回一个数值,表示损益两平交易的平均持仓时间(以K棒数量表示)。

  
  

语法

  
  

AvgBarsEvenTrade

  
  

注意

  
  

此功能只能用于信号。

  
  

范例

  
  

如果有4笔损益两平交易,分别持仓时间为2,5,3,4K棒,则AvgBarsEvenTrade
将返回数值3.5

  

  AvgBarsLosTrade  
  

说明

  
  

返回一个数值,表示亏损交易的平均持仓时间(以K棒数量表示)。

  
  

语法

  
  

AvgBarsLosTrade

  
  

注意

  
  

此功能只能用于信号。

  
  

范例

  
  

若有四笔亏损交易,分别持仓时间为2,5,3,4K棒,则

  

AvgBarsLosTrade将返回数值3.5

  

  AvgBarsWinTrade  
  

说明

  
  

返回一个数值,表示获利交易的平均持仓时间(以K棒数量表示)。

  
  

语法

  
  

AvgBarsWinTrade

  
  

注意

  
  

此功能只能用于信号。

  
  

范例

  
  

若有四笔盈利交易,分别持仓时间为2,5,3,4K棒,则

  

AvgBarsWinTrade
将返回数值3.5

  

  AvgEntryPrice/i_AvgEntryPrice  
  

说明

  
  

返回目前未平仓部位的平均成本。

  
  

语法

  
  

信号:AvgEntryPrice

  

函数或指标:i_AvgEntryPrice

  
  

范例

  
  

若有三笔未平仓交易,进场价各为95,105,103,则AvgEntryPrice返回数值101

  

  AvgEntryPrice_at_Broker  
  

说明

  
  

返回目前商品在经纪商处未平仓部位的平均价格。

  

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

  

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

  
  

语法

  
  

AvgEntryPrice_at_Broker

  
  

注意

  
  

*此功能只能用于信号和函数。

  

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

  
  

重要提示

  
  

如果用户手动关闭自动交易,关键字返回值不再改变,有可能保持非0值。

  
  

范例

  
  

如果某交易的商品当前在经纪商处有一笔未平仓交易,进场价102,则AvgEntryPrice_at_Broker
返回值为102

  

  AvgEntryPrice_at_Broker_for_The_Strategy  
  

说明

  
  

返回目前经纪商处此策略的未平仓部位的平均价格。

  

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

  

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

  
  

语法

  
  

AvgEntryPrice_at_Broker_for_The_Strategy

  
  

注意

  
  

*此功能只能用于信号和函数。

  

*需开启自动交易才可取到值。

  

*计算未平仓的平均价依据交易追踪器的委托中的「已成交」栏位的价格。

  
  

重要提示

  
  

如果用户手动关闭自动交易,关键字返回值不在改变,有可能保持非0值。

  
  

范例

  
  

若当前策略在经纪商处有两笔未平仓多头交易,分别为一手进场价为98,一手进场价为102,则AvgEntryPrice_at_Broker_for_The_Strategy
返回值为 100

  

  GrossLoss  
  

说明

  
  

返回目前亏损交易总金额(毛损)。

  
  

语法

  
  

GrossLoss

  
  

注意

  
  

此功能只能用于信号。

  
  

范例

  
  

若有四笔亏损交易,分别亏损10,5,2015,则GrossLoss会返回-50

  

若在整个交易期间内没有亏损交易,则GrossLoss会返回0

  

  GrossProfit  
  

说明

  
  

返回目前盈利交易总金额(毛利)。

  
  

语法

  
  

GrossProfit

  
  

注意

  
  

此功能只能用于信号

  
  

范例

  
  

若有四笔盈利交易,分别盈利10,5,2015,则GrossProfit会返回50

  

若在整个交易期间内没有盈利交易,则GrossProfit会返回0

  

  i_AvgEntryPrice_at_Broker  
  

说明

  
  

返回目前经纪商处未平仓部位的平均价格。

  
  

语法

  
  

i_AvgEntryPrice_at_Broker

  
  

注意

  
  

*i_AvgEntryPrice_at_Broker  
只返回未平仓部位的平均进场价。

  

*i_AvgEntryPrice_at_Broker  
只能用在指标中。

  

*i_AvgEntryPrice_at_Broker
只在有信号的数据中才有返回值。

  

*测试结果:无论是否开启自动交易,在有未平仓的持仓时,返回值都是0。不建议使用。

  
  

范例

  
  

如果当前有3笔未平仓交易,进场价分别为140,170200,则i_AvgEntryPrice_at_Broker
返回值为 170

  

如果当前有4笔未平仓交易,进场价分别为54,48,6050,则i_AvgEntryPrice_at_Broker返回值为 53

  

  i_AvgEntryPrice_at_Broker_for_The_Strategy  
  

说明

  
  

用来在指标中提取信号信息。

  

返回值与AvgEntryPrice_at_Broker_for_The_Strategy一致。

  

  i_ClosedEquity  
  

说明

  
  

返回目前已实现的损益(已平仓的总净利)。

  
  

语法

  
  

i_ClosedEquity

  
  

注意

  
  

测试结果:该关键字可用于函数、信号、指标中任何一个。

  
  

范例

  
  

若已平仓部位的获利为100元,则i_ClosedEquity会返回100

  

  i_CurrentContracts/i_CurrentShares  
  

说明

  
  

CurrentContracts/CurrentShares 功能相同,用于函数脚本中。

  
  

注意

  
  

测试结果:该关键字可用于函数、信号、指标中任何一个。

  

  i_MarketPosition/MarketPosition  
  

说明

  
  

返回代表指定部位多空状态的数值。

  
  

语法

  
  

信号或函数或指标中:i_MarketPosition

  

信号或函数中:MarketPosition(PosBack)

  
  

参数

  
  

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

  

0——未平仓部位;

  

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

  

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

  

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

  
  

返回

  
  

1——多头部位

  

0——无持仓

  

-1——空头部位

  
  

注意

  
  

i_MarketPosition 没有参数,只能用在当前部位情况。

  
  

范例

  
  

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

  

若目前部位为多头,则MarketPositioni_MarketPosition返回1

  

若上一个平仓部位为空头,则MarketPosition(1)会返回-1

  

  i_OpenEquity  
  

说明

  
  

返回目前未实现的损益(净利+未平仓损益)。

  
  

语法

  
  

i_OpenEquity

  
  

注意

  
  

此功能可用于函数、信号、指标中。

  

i_OpenEquity=netprofit+openpositionprofit

  
  

范例

  
  

若当前未实现的获利为100元,则i_OpenEquity会返回100

  

若当前未实现的亏损为100元,则i_OpenEquity会返回-100

  

  LargestLosTrade  
  

说明

  
  

返回亏损交易中的最大亏损金额(单笔最大亏损交易)。

  
  

语法

  
  

LargestLosTrade

  
  

注意

  
  

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

  
  

范例

  
  

若四笔亏损交易,分别亏损10,5,20,15,则LargestLosTrade会返回-20

  

若无亏损交易,则LargestLosTrade会返回0

  

  LargestWinTrade  
  

说明

  
  

返回获利交易中的最大获利金额(单笔最大盈利交易)。

  
  

语法

  
  

LargestWinTrade

  
  

注意

  
  

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

  
  

范例

  
  

若四笔获利交易,分别亏损10,5,20,15,则LargestWinTrade会返回20

  

若无获利交易,则LargestWinTrade会返回0

  

  MaxConsecLosers  
  

说明

  
  

返回最大连续亏损交易次数。

  
  

语法

  
  

MaxConsecLosers

  
  

注意

  
  

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

  
  

范例

  
  

若交易最多曾连续3笔亏损,则MaxConsecLosers会返回3

  

若无任何交易,则MaxConsecLosers会返回0

  

  MaxConsecWinners  
  

说明

  
  

返回最大连续盈利交易次数。

  
  

语法

  
  

MaxConsecWinners

  
  

注意

  
  

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

  
  

范例

  
  

若交易最多曾连续3笔盈利,则MaxConsecWinners会返回3

  

若无任何交易,则MaxConsecWinners会返回0

  

  MaxContractsHeld/MaxSharesHeld  
  

说明

  
  

返回曾经同时持有的最大未平仓手数(最大持有合约数量)。

  
  

语法

  
  

MaxContractsHeld

  

  

MaxSharesHeld

  
  

注意

  
  

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

  
  

范例

  
  

若未平仓部位最大有10手,则MaxSharesHeld会返回10

  

  MaxIDDrawDown  
  

说明

  
  

返回在交易期间内出现的最大权益资金减损金额,返回负值。

  

即策略最大潜在亏损。

  
  

语法

  
  

MaxIDDrawDown

  
  

注意

  
  

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

  
  

范例

  
  

若整个交易期间,权益资金最大减损为500,则MaxIDDrawDown会返回-500

  

  NetProfit  
  

说明

  
  

返回交易净利总金额(总净利)。

  
  

语法

  
  

NetProfit

  
  

注意

  
  

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

  
  

范例

  
  

若有两笔获利交易,分别获利2510,有两笔亏损交易,分别亏损510,则NetProfit会返回20

  

若有两笔交易,分别获利105,有两笔亏损交易,分别亏损2015,则NetProfit会返回-15

  

若未进行任何交易,则NetProfit会返回0

  

  NumEvenTrades  
  

说明

  
  

返回损益两平交易的总笔数。

  
  

语法

  
  

NumEvenTrades

  
  

注意

  
  

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

  
  

范例

  
  

若有10笔损益两平交易,则NumEvenTrades会返回10

  

若无损益两平交易,则NumEvenTrades会返回0

  

  NumLosTrades  
  

说明

  
  

返回亏损交易的总笔数。

  
  

语法

  
  

NumLosTrades

  
  

注意

  
  

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

  
  

范例

  
  

若投资组合有5笔亏损交易,则NumLosTrades会返回5

  

若投资组合无任何交易,则NumLosTrades会返回0

  

  NumWinTrades  
  

说明

  
  

返回盈利交易的总笔数。

  
  

语法

  
  

NumWinTrades

  
  

注意

  
  

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

  
  

范例

  
  

若投资组合有5笔盈利交易,则NumWinTrades会返回5

  

若投资组合无任何交易,则NumWinTrades会返回0

  

  PercentProfit  
  

说明

  
  

返回获利交易次数的比例。

  
  

语法

  
  

PercentProfit

  
  

注意

  
  

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

  
  

范例

  
  

若总交易笔数为10笔,其中7笔为获利交易,则PercentProfit会返回70

  

  TotalBarsEvenTrades  
  

说明

  
  

返回损益两平交易的总持仓时间(以K棒数量表示)。

  
  

语法

  
  

TotalBarsEvenTrades

  
  

注意

  
  

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

  
  

范例

  
  

若有4笔损益两平交易,持仓时间各为2,5,34K棒。则TotalBarsEvenTrades会返回14

  

若无损益两平交易,则TotalBarsEvenTrades会返回0

  

  TotalBarsLosTrades/TotalBarsLosTrade  
  

说明

  
  

返回亏损交易的总持仓时间(以K棒数量表示)。

  
  

语法

  
  

TotalBarsLosTrades

  

  

TotalBarsLosTrade

  
  

注意

  
  

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

  
  

范例

  
  

若有4笔亏损交易,持仓时间各为2,5,34K棒。则TotalBarsLosTrades会返回14

  

若无亏损交易,则TotalBarsLosTrades会返回0

  

  TotalBarsWinTrades/TotalBarsWinTrade  
  

说明

  
  

返回盈利交易的总持仓时间(以K棒数量表示)。

  
  

语法

  
  

TotalBarsWinTrades

  

  

TotalBarsWinTrade

  
  

注意

  
  

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

  
  

范例

  
  

若有4笔盈利交易,持仓时间各为2,5,34K棒。则TotalBarsWinTrades会返回14

  

若无盈利交易,则TotalBarsWinTrades会返回0

  

  TotalTrades  
  

说明

  
  

返回目前交易总笔数。

  
  

语法

  
  

TotalTrades

  
  

注意

  
  

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

  
  

范例

  
  

若总共交易5笔,则TotalTrades会返回5

  

若无交易记录,则TotalTrades会返回0

  

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

返回列表