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

MC用户求助:可以解析buy,sell,sellshort,buytocover的用法吗? [MC]

MC用户求助:可以解析buy,sell,sellshort,buytocover的用法吗? [MC]

MC用户求助:
1. buy
1.1 定义

建立一个多头仓位;进场的点位会在图表上以箭头和价位标示;箭头表示进场时间,价位表示进场价格。 在多头进场箭头的下方,有标签显示进场名称和仓位数量。当一个buy指令成交时,其他持有的空头仓位,将会被平仓。"buy[("EntryLabel")] [TotalSize] EntryType;"是一个完整的买入语句,其中被[ ]括起来的参数是任选的(也可以写成"buy EntryType;"),举例就是"buy("entryname") 3 shares next bar at market;",也可以写成"buy next bar at market;";

1.2 EntryLabel
EntryLabel —— 可选用参数,字符串表达式;给当次进场的信号一个专属名称。若 EntryLabel 未指定,则会依进场语句的先后顺序依序命名为 "Buy" 、"Buy#1" 、 "Buy#2" 、 "Buy#3" ..,见图1和图2,对比代码和图表的区别和联系。

1.3 TradeSize

TradeSize —— 可选用参数,数值表达式;指定买进的数量,必须搭配: Share, Shares, Contract 或 Contracts 任一个使用。若 TradeSize 为0或负值,并不会建立任何多头仓位,但现有的空头仓位会被平仓。 若 TradeSize 未指定,交易数量将会是使用者在策略属性的属性中设定的委托数量。由于buy是平仓反向进场语句,使用buy进场的时候,会将之前的所有空头全部平仓,然后建立指定手数的多头头寸。详细的请看图3,图4和图5,针对代码和图表的对比学习。

1.4 Entrytype

EntryType —— 必需参数;指定进场的时间和价位,一共有五种类型:

This Bar on Close
Next Bar at Open 或 Next Bar at Market
Next Bar at Price  Limit
Next Bar at Price  Stop
next bar at price1 stop price2 limit
这里使用的price代指委托进场价格,at、on是MC跳跃字,可以省略,只是为了方便用户看代码,公式编译的时候会直接跳过。“This Bar on Close”是指定在当根结束的时候以收盘价发送委托单;"Next Bar at Open" 或 "Next Bar at Market"是指定以下一根bar的开盘价发送委托;"Next Bar at Price  Limit"是指定在下一根bar开始时发送限价单;"Next Bar at Price  Stop"是指定在下一根bar开始时发送停损单;还有一种是停损限价单是可以通过停损单和限价单组合的类型,即"next bar at price1 stop price2 limit";除了这五种,其它类型的Entrytype都是禁止的,在公式编译的时候就会报错。

2. sell
2.1 定义

全部或部分平仓特定或全部的多头仓位。出场的价位会在图表上以箭头和价位表示,箭头表示出场时间,价位表示出场价格。在多头出场箭头的上方,有标签显示出场名称及仓位数量。"Sell[("ExitLabel")][From Entry("EntryLabel")][TradeSize[Total]]Exit;"是一个完整的平仓语句,被[ ]括起来的参数都是可以省略的,可以是"sell Exit;",举例为"sell("sellname") from entry("entryname") 3 shares total next bar at market;",也可以是"sell next bar at market;"。

2.2 ExitLabel

ExitLabel —— 可选用参数,字符串表达式;予当次出场信号一个专属名称。信号名称会显示在出场箭头上方。若 ExitLabel 未指定,则会依出场信号语句的先后顺序依序命名为 "Sell"、"Sell#1"、"Sell#2"…… ;ExitLabel的定义可以参考一下1.2 EntryLabel;有一点特别注意一下,在同一个信号脚本中,所有的进场出场名称都要求不一样,进场和出场名称也要求不一样。

2.3 EntryLabel

EntryLabel —— 可选用参数,字符串表达式;表示出场信号是针对特定EntryLabel 名称的进场信号; 进场信号名称须紧连在 "From Entry"之后, "from" 是跳跃字,可省略。一个出场信号仅能指定一个进场信号。若 EntryLabel 未指定进场信号名称,则该sell出场语句是针对当前所有未平仓的进场(第一笔进场,第二笔进场等等),sell出场语句指定进场情况请看图6和图7,sell出场未指定进场情况请看图8和图9。

2.4 TradeSize

TradeSize —— 可选用参数,数值表达式;指定平仓的数量,必须搭配: Share, Shares, Contract 或 Contracts任一个使用,这四个关键字完全一样,没有区别;当tradesize指定的平仓的手数是负数或者0时,不会平仓任何手数;当tradesize指定的平仓的手数是0.5或者其它分数,那么sell会平仓四舍五入后的手数;当然,如果当前没有多头持仓,那么sell不执行任何操作。

2.5 Total

total必须紧跟关键字 Share, Shares, Contract 或 Contracts任一个后面,不能单独使用;tradesize后面未加total的情况下,TradeSize 参数指定的数量会平掉每一个多头进场语句的仓位,详细的请对比图10和图11;如果如果 TradeSize  后加上 Total,只会平仓 TradeSize  参数指定的数量,忽略多头进场数量。指定数量超过多头持仓,则全部平仓。在依进场信号的顺序平仓,即先进先出,详细的见图12和图13。若tradesize未指定,将会平仓全部的多头进场。

2.6 Exit

Exit和1.4 Entrytype完全一样。

3. Sellshort和buytocover

buy和sellshort都是平仓反向语句,也就是先平仓再开仓,这两个关键字的使用除了买卖方向不一样,其它的用法和逻辑完全一样,在此就不再赘述。sell和buytocover都是平仓语句,只是单纯的平仓,这两个关键字的使用除了平仓的方向不一样,其它的用法和逻辑完全一样,在此不再赘述。

图1 entrylabel_代码

图1 entrylabel_代码





图2 entrylabel_图表

图2 entrylabel_图表



图3 tradesize_代码

图3 tradesize_代码





图4 tradesize_图表

图4 tradesize_图表





图5 策略属性

图5 策略属性





图6 sell指定进场名称_代码

图6 sell指定进场名称_代码





图7 sell指定进场名称_图表

图7 sell指定进场名称_图表





图8 sell未指定进场名称_代码

图8 sell未指定进场名称_代码





图9 sell未指定进场名称_图表

图9 sell未指定进场名称_图表





图10 tradesize total_代码

图10 tradesize total_代码





图11 tradesize total_图表

图11 tradesize total_图表





图12 tradesize total_代码(紧跟total)

图12 tradesize total_代码(紧跟total)





图13 tradesize total_图表(紧跟total)



图13 tradesize total_图表(紧跟total)



图14 search.png

图14 search



MC回复讨论一:
1. buy
1.1 定义

建立一个多头仓位;进场的点位会在图表上以箭头和价位标示;箭头表示进场时间,价位表示进场价格。 在多头进场箭头的下方,有标签显示进场名称和仓位数量。当一个buy指令成交时,其他持有的空头仓位,将会被平仓。"buy[("EntryLabel")] [TotalSize] EntryType;"是一个完整的买入语句,其中被[ ]括起来的参数是任选的(也可以写成"buy EntryType;"),举例就是"buy("entryname") 3 shares next bar at market;",也可以写成"buy next bar at market;";

1.2 EntryLabel
EntryLabel —— 可选用参数,字符串表达式;给当次进场的信号一个专属名称。若 EntryLabel 未指定,则会依进场语句的先后顺序依序命名为 "Buy" 、"Buy#1" 、 "Buy#2" 、 "Buy#3" ..,见图1和图2,对比代码和图表的区别和联系。

1.3 TradeSize

TradeSize —— 可选用参数,数值表达式;指定买进的数量,必须搭配: Share, Shares, Contract 或 Contracts 任一个使用。若 TradeSize 为0或负值,并不会建立任何多头仓位,但现有的空头仓位会被平仓。 若 TradeSize 未指定,交易数量将会是使用者在策略属性的属性中设定的委托数量。由于buy是平仓反向进场语句,使用buy进场的时候,会将之前的所有空头全部平仓,然后建立指定手数的多头头寸。详细的请看图3,图4和图5,针对代码和图表的对比学习。

1.4 Entrytype

EntryType —— 必需参数;指定进场的时间和价位,一共有五种类型:

This Bar on Close
Next Bar at Open 或 Next Bar at Market
Next Bar at Price  Limit
Next Bar at Price  Stop
next bar at price1 stop price2 limit
这里使用的price代指委托进场价格,at、on是MC跳跃字,可以省略,只是为了方便用户看代码,公式编译的时候会直接跳过。“This Bar on Close”是指定在当根结束的时候以收盘价发送委托单;"Next Bar at Open" 或 "Next Bar at Market"是指定以下一根bar的开盘价发送委托;"Next Bar at Price  Limit"是指定在下一根bar开始时发送限价单;"Next Bar at Price  Stop"是指定在下一根bar开始时发送停损单;还有一种是停损限价单是可以通过停损单和限价单组合的类型,即"next bar at price1 stop price2 limit";除了这五种,其它类型的Entrytype都是禁止的,在公式编译的时候就会报错。

2. sell
2.1 定义

全部或部分平仓特定或全部的多头仓位。出场的价位会在图表上以箭头和价位表示,箭头表示出场时间,价位表示出场价格。在多头出场箭头的上方,有标签显示出场名称及仓位数量。"Sell[("ExitLabel")][From Entry("EntryLabel")][TradeSize[Total]]Exit;"是一个完整的平仓语句,被[ ]括起来的参数都是可以省略的,可以是"sell Exit;",举例为"sell("sellname") from entry("entryname") 3 shares total next bar at market;",也可以是"sell next bar at market;"。

2.2 ExitLabel

ExitLabel —— 可选用参数,字符串表达式;予当次出场信号一个专属名称。信号名称会显示在出场箭头上方。若 ExitLabel 未指定,则会依出场信号语句的先后顺序依序命名为 "Sell"、"Sell#1"、"Sell#2"…… ;ExitLabel的定义可以参考一下1.2 EntryLabel;有一点特别注意一下,在同一个信号脚本中,所有的进场出场名称都要求不一样,进场和出场名称也要求不一样。

2.3 EntryLabel

EntryLabel —— 可选用参数,字符串表达式;表示出场信号是针对特定EntryLabel 名称的进场信号; 进场信号名称须紧连在 "From Entry"之后, "from" 是跳跃字,可省略。一个出场信号仅能指定一个进场信号。若 EntryLabel 未指定进场信号名称,则该sell出场语句是针对当前所有未平仓的进场(第一笔进场,第二笔进场等等),sell出场语句指定进场情况请看图6和图7,sell出场未指定进场情况请看图8和图9。

2.4 TradeSize

TradeSize —— 可选用参数,数值表达式;指定平仓的数量,必须搭配: Share, Shares, Contract 或 Contracts任一个使用,这四个关键字完全一样,没有区别;当tradesize指定的平仓的手数是负数或者0时,不会平仓任何手数;当tradesize指定的平仓的手数是0.5或者其它分数,那么sell会平仓四舍五入后的手数;当然,如果当前没有多头持仓,那么sell不执行任何操作。

2.5 Total

total必须紧跟关键字 Share, Shares, Contract 或 Contracts任一个后面,不能单独使用;tradesize后面未加total的情况下,TradeSize 参数指定的数量会平掉每一个多头进场语句的仓位,详细的请对比图10和图11;如果如果 TradeSize  后加上 Total,只会平仓 TradeSize  参数指定的数量,忽略多头进场数量。指定数量超过多头持仓,则全部平仓。在依进场信号的顺序平仓,即先进先出,详细的见图12和图13。若tradesize未指定,将会平仓全部的多头进场。

2.6 Exit

Exit和1.4 Entrytype完全一样。

3. Sellshort和buytocover

buy和sellshort都是平仓反向语句,也就是先平仓再开仓,这两个关键字的使用除了买卖方向不一样,其它的用法和逻辑完全一样,在此就不再赘述。sell和buytocover都是平仓语句,只是单纯的平仓,这两个关键字的使用除了平仓的方向不一样,其它的用法和逻辑完全一样,在此不再赘述。

图1 entrylabel_代码

图1 entrylabel_代码





图2 entrylabel_图表

图2 entrylabel_图表



图3 tradesize_代码

图3 tradesize_代码





图4 tradesize_图表

图4 tradesize_图表





图5 策略属性

图5 策略属性





图6 sell指定进场名称_代码

图6 sell指定进场名称_代码





图7 sell指定进场名称_图表

图7 sell指定进场名称_图表





图8 sell未指定进场名称_代码

图8 sell未指定进场名称_代码





图9 sell未指定进场名称_图表

图9 sell未指定进场名称_图表





图10 tradesize total_代码

图10 tradesize total_代码





图11 tradesize total_图表

图11 tradesize total_图表





图12 tradesize total_代码(紧跟total)

图12 tradesize total_代码(紧跟total)





图13 tradesize total_图表(紧跟total)



图13 tradesize total_图表(紧跟total)



图14 search.png

图14 search

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

返回列表