多次累计亏损到定额才加仓的问题。 [开拓者 TB]
- 咨询内容:
多次累计亏损到定额才加仓的问题:
亏损即加仓容易实现。
但多次交易后累计亏损到一定金额才加仓,怎么写呢?
举例:
1手交易:-500,+100,-600,累计盈利:-1000元,转2手
2手交易:+100,-600,累计盈利:-1000*1-500*2<=-2000,转3手
3手交易:-50,+1100,累计盈利:-1000*1-500*2+3*1050>=1000,恢复1手仓位。
- TB技术人员:
给你一个亏损加仓的例子作为参考,你自己改改吧
// 简称: DoubleMA_01
// 名称: 双均线策略_亏损加仓
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------
Params
Numeric FastLength(5);
Numeric SlowLength(20);
Numeric Lots(1); // 基本下单单位
Numeric MaxLots(10); // 最大下单单位
Vars
NumericSeries AvgValue1;
NumericSeries AvgValue2;
NumericSeries myLots; // 每次下单的手数
NumericSeries myNetProfit; // 累计的最大净利润
Begin
AvgValue1 = AverageFC(Close,FastLength);
AvgValue2 = AverageFC(Close,SlowLength);
// PlotNumeric("MA1",AvgValue1);
// PlotNumeric("MA2",AvgValue2);
If(TotalTrades == 0)
{
myLots = Lots;
myNetProfit = 0;
}
If(MarketPosition == 1 And AvgValue1[1] < AvgValue2[1])
{
Sell(0,Open);
If(NetProfit >= myNetProfit[1])
{
myLots = Lots;
}Else
{
myLots = Min((myLots[1] + Lots),MaxLots);
}
}
If(MarketPosition == -1 And AvgValue1[1] > AvgValue2[1])
{
BuyToCover(0,Open);
If(NetProfit >= myNetProfit[1])
{
myLots = Lots;
}Else
{
myLots = Min((myLots[1] + Lots),MaxLots);
}
}
If(MarketPosition != 1 And AvgValue1[1] > AvgValue2[1])
{
Buy(myLots,Open);
}
If(MarketPosition != -1 And AvgValue1[1] < AvgValue2[1])
{
SellShort(myLots,Open);
}
myNetProfit = Max(myNetProfit[1],NetProfit);
End - TB客服: 谢谢!
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容