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

多次开仓用entryprice能取到每一次的开仓吗 [MC]

  • MC用户求助:

    非bar内模式下,比如策略依次在不同价位开了2笔RB的多单,我希望对每一笔多单分别按其成本价以下10个点进行止损,但我不希望用内置的setstoploss。举例来说,当其中任何一笔多单成交后,如果下一根BAR价格跌到该笔多单的开仓价以下10个点,就卖出平仓。以下语法(见最后)能否实现对每一笔多单进行止损?这里面我主要想明确两点:

    1,entryprice是否能智能的取到每一笔多单的成本价?

    2,当第一根BAR开仓第一笔RB多单后,假设开仓价3000;第二根BAR又开了第二笔RB多单,假设开仓价3020,那么假设我们现在处于第二根BAR的时间范围内,且第二笔多单成交后价格从其成本价回落10个点,价格到达3010,那么此时第二笔多单在以下语法中是即时止损呢还是等到再下一根BAR再判断?第二笔多单开仓成交后entryprice是否立即就取到3020的开仓价了?并且此时第一笔RB多单的开仓价entryprice还是3000?

    3,我理解是marketposition>0对于第一笔开仓来说,到第二根BAR就符合了;但是对于第二笔开仓,站在第二根BAR的时间范围内,我们有两笔仓位,此时marketposition>0对于第二笔开仓是怎么判断的?是否也会对两笔开仓分别考虑?即第二笔多单的marketposition此时还是0,要等到再下一根BAR才会大于0?还是说marketposition>0是只要前一根BAR已经有开仓,到第二根BAR就对于第二笔开仓在开仓BAR也是marketposition大于0了?

    4,当其中某一笔多单在开仓后的任何一根BAR内触及该笔多单的止损,则于下一根K线开盘市价平仓该笔多单,语法怎么写?

    [IntrabarOrderGeneration=false;]

    input:target(10);

    if marketposition>0 then
    sell 1 contract total next bar at entryprice-target stop;

     

  • MC回复讨论一:

    以下回复分别对应您的问题:

    回复1. 您需要学习一下论坛帖子“OpenEntry和PosTrade系列关键字”;关键字entryprice只反应指定部位第一笔进场的价格,没有办法返回第二笔的进场价格。

    回复2. 关键字可以反应实际的数值,但是使用关键字来取值这个动作却不是实时的,举例说明一下,在非bar内模式下,在编号为13的bar的形成过程中,第一笔进场单成交了,这时entryprice可以即时反应进场价格,但是由于非bar模式下,信号只在每根bar的收盘时才计算一次,也就是”使用关键字entryprice取第一笔进场价“这个动作只能在收盘时才能执行;回来您说的这个例子来,第二笔进场了,并且价格回落10个点(假设第二笔进场在编号为40的bar的形成过程中成交的),但是其实并不会马上对第二笔进场止损出场,因为在编号为39的bar的收盘时您并不会取到第二笔进场价格,所以也没有办法发送回落10个点的止损出场单,所以最终只会在编号为40的bar的收盘时进行判断并且发送出场委托单。对于这种情况,建议您使用setstoploss关键字。

    回复3.您的这个问题依然需要学习一下”回复1“中的帖子。

    回复4.您的这种写法也可以,下面我们来模拟一下进场和出场的过程:

    在编号为20的bar的收盘时执行buy("first") next bar at market;然后在编号为21的bar的形成过程中"first"进场单成交了,成交价为3000;在编号为20的bar收盘时关键字marketposition取的值是0,entryprice取的值也是0,停损出场条件单的委托条件不成立,所以MC不会发送一个停损单;接着在编号为21的bar收盘时,通过关键字marketposition和entryprice取的值分别为1和3000,然后发送停损价为2990的停损单。

     

  • MC回复讨论二:

    假设有多笔进场,语句:entryprice+10*minmove*point stop;这里的entrprice是否是指第一笔进场的价格?

     

  • MC回复讨论三:


    如上图测试所示,无论是否有加仓,只要当前部位一直未被平仓,那么entryname关键字始终返回的是当前部位第一笔进场的进场名称。entryprice关键字也是一样,始终返回当前未平仓部位的第一笔进场的成交价格,参考entryname关键字。

     

  • MC回复讨论四:


    如上图测试所示,无论是否有加仓,只要当前部位一直未被平仓,那么entryname关键字始终返回的是当前部位第一笔进场的进场名称。entryprice关键字也是一样,始终返回当前未平仓部位的第一笔进场的成交价格,参考entryname关键字。

 

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

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


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

相关文章

    没有相关内容