您现在的位置:程序化交易>> 期货公式>> (MC)multicharts>> MC知识>>正文内容

期货期权交流可以解析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 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都是平仓语句,只是单纯的平仓,这两个关键字的使用除了平仓的方向不一样,其它的用法和逻辑完全一样,在此不再赘述。

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容