【量化金融】交易模型常见系统问题(3)增减仓位(实盘量化亏5000以上才能明白的交易技巧)以tb开拓者为例

我们设计模型,有时候有些客户的需求是用金字塔式的开仓策略,这就牵涉到增仓减仓的问题。那么今天我们就结合tb开拓者公式开发指南来说一下这个问题,其实这个问题在开发指南p108里面的公式策略进阶部分也有说。

我们大概就着相关公式讲一下。

其中的变量设置如下:

Vars
Numeric Minpoint;//求最小变动单位,一跳
NumericSeries FirstPrice;//第一次开仓价格
NumericSeries LastPrice;//最后一次开仓价格
Numeric AddSet(30);//加仓设置
Numeric SubSet(30);//减仓设置
Bool FirstEntryCon;//设置首次开仓条件

Begin

FirstEntryCon=……//设置首次开仓条件
Minpoint=MinMove*PriceScale;//价格最小变动设置
If (MarketPosition==0)
{if(FirstEntryCon)
    {FirstPrice=open;
     LastPrice=FirstPrice}
     Buy(2,FirstPrice);}//条件满足,首次开仓2手
Else if(MarketPosition==1 And BarSince>=1))//有多仓情况
       {While(CurrentEntrice <4 && High >=LastPrice +AddSet*MinPoint)//加仓
         {LastPrice=LastPrice+AddSet*MinPoint;
          if(Open>LastPrice)LastPrice=Open;
          Buy(1,LastPrice)
         }
         While(CurrentEntrice >0 && Low<=FirstPrice -SubSet*MinPoint)//减仓
         {FirstPrice=FirstPrice-SubSet*MinPoint;
          if(Open<FirstPrice)FirstPrice=Open;
             sell(1,FirstPrice);
          }
}

 代码我从指南上面手抄到上面框框了,可能有些细节格式错误,但是大概意思如上。

这一段策略是以作多为为例。具体代码通过MarketPosition和CurrentEntrice来识别当前持仓状态和加减仓状态。

其设计思路的每盈利30跳加仓一次,和开仓后每亏损30跳减仓一手的逻辑思维还是很科学的。同理,我们设计交易模型和思路的时候,也可以用涨跌幅的百分比设置加减仓的位置。这就是金字塔式加仓、减仓、止盈止损的一个设计思路。如果是趋势模型,这样的方式对于风险的管控还是比较灵活、有效的。当遇到逆趋势行情,能快速有效的止损。

今天就这个案例主要是要认识MarketPosition和CurrentEntrice的函数意义以及在其他模型设计平台下,这两种函数和设计思路的大致应用。往后的内容将会以一些模型成品为主,我们会把代码贴出来供大家参考模型的设计逻辑。欢迎关注和藏赞。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值