期货期权交流可以解析buy,sell,sellshort,buytocover的用法吗? [MC]
-
咨询内容:
可以解析buy,sell,sellshort,buytocover的用法吗?可不可以举些例子生动说明一下,谢谢
-
MC技术部:
本帖最后由 Alex 于 2017-7-21 14:15 编辑
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 EntryLabelEntryLabel —— 可选用参数,字符串表达式;给当次进场的信号一个专属名称。若 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都是平仓语句,只是单纯的平仓,这两个关键字的使用除了平仓的方向不一样,其它的用法和逻辑完全一样,在此不再赘述。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容