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

请在内置策略上添加仓位控制 [MC]

  • MC用户求助:

    仓位总数(2000),保留仓位(100),开始时间begintime(0945),结束时间end(1450)

     

    加仓策略:

    仓位总数  \\不是从交易商取得的实际仓位数量,是想买该股票的最大数量(2000)

    可卖数量  \\昨日或以前买的数量(500)

    今买数量  \\仓位总数 - 可卖数量(2000-500)

    保留仓位   \\便于计算盈亏(100)

     

    if 可卖数量 >= 保留仓位  and 今买数量 不等于 0  then 全部买入“今买数量”

     

     

    卖出策略:

    仓位总数  \\不是从交易商取得的实际仓位数量,是想买该股票的最大数量(2000)

    可卖数量  \\昨日或以前买的数量(500)

    今买数量  \\仓位总数 - 可卖数量(2000-500)

    保留仓位   \\便于计算盈亏(100)

     

    if 可卖数量 > 保留仓位  and 今买数量 不等于 0{开新仓}  then 全部卖出“可卖数量”

     

    if 可卖数量 > 保留仓位  and 今买数量 等于 0 {未开新仓} then 卖出数量“可卖数量 - 保留仓位”

     

    请将上述仓位控制加入内置策略信号“Keltner Channel LE、Keltner Channel SE”,此方法只要把保留仓位设置为仓位总数的一半,可以滚动操作。

     

  • MC回复讨论一:

    [IntrabarOrderGeneration = false]

    inputs:  Price( Close ), Length( 20 ), NumATRs( 1.5 ), total_lot(2000), keep_lot(100);

    variables:  var0( 0 ), var1( 0 ), var21( 0 ), var22(0), var3( false ), var4( 0 ), var_sell(0), var_buy(0);

    {total_lot和keep_lot是两个初始输入参数,分别是仓位总数和保留仓位;变量var_sell和var_buy和可卖数量和今买数量}

    var_sell=T_Plus_1_Extension;  //调用函数,返回可卖股数

    var_buy=total_lot-var_sell;

    var0 = AverageFC( Price, Length ) ;

    var1 = NumATRs * AvgTrueRange( Length ) ;

    var21 = var0 + var1 ;

    var22 = var0 - var1 ;

    condition1 = CurrentBar > 1 and Price crosses over var21 ;

    if condition1 then                                                                    

    begin

    var3 = true ;

    var4 = High ;

    end 

    else

    begin

    condition1 = var3 and ( Price < var0 or High >= var4 + 1 point ) ;

     if condition1 then

    var3 = false ;

    end;                             

    if var3 and var_sell>=keep_lot and var_buy<>0 then 

    Buy ( "KltChLE" ) var_buy shares next bar at var4 + 1 point stop ;

    condition1 = CurrentBar > 1 and Price crosses under var22 ;

    if condition1 then                                                                    

    begin

    var3 = true ;

    var4 = Low ;

    end 

    else

    begin 

    condition1 = var3 and ( Price > var0 or Low <= var4 - 1 point ) ;

    if condition1 then

    var3 = false ;

    end;

    if var_sell>keep_lot and var_buy<>0 then

    value1=var_sell

    else if var_sell>keep_lot and var_buy=0 then

    value1=var_sell-keep_lot

    else value1=0;

    if var3 then 

    Sell( "KltChSE" ) value1 shares next bar at var4 - 1 point stop ;

    T_Plus_1_Extension函数下载链接:
    http://dl.icetech.com.cn/download/forums/T_Plus_1_Extension.rar

     

  • MC回复讨论二:

    谢谢Alex

     

  • MC回复讨论三:

    导入函数,编译公式,无主图买卖信号,无策略绩效报告,请Alex老师修改。

     

  • MC回复讨论四:

    导入函数,编译公式,无主图买卖信号,无策略绩效报告,请Alex老师修改。

 

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

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


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

相关文章

    没有相关内容