关于移仓换月的代码该如何添加 [开拓者 TB]
-
咨询内容:
请高手帮忙,关于移仓换月的代码该如何添加,,比如在如下代码上(代码我是从TBQuant公式上粘过来的),TB量化学院里有《利用系统函数的简洁写法》一节,可是用了好久没弄好。
Params
Numeric FastLength(5);// 短期指数平均线参数
Numeric SlowLength(20);// 长期指数平均线参数
Vars
Series<Numeric> AvgValue1;
Series<Numeric> AvgValue2;
Events
OnBar(ArrayRef<Integer> indexs)
{
AvgValue1 = AverageFC(Close,FastLength);
AvgValue2 = AverageFC(Close,SlowLength);
PlotNumeric("MA1",AvgValue1);
PlotNumeric("MA2",AvgValue2);
If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
{
Buy(1,Open);
}
If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
{
SellShort(1,Open);
}
//PlotNumeric("PL",Portfolio_TotalProfit);
}来源:CXH99.COM
-
TB技术人员:
只要需将相应的这三个简洁函数用到的语句复制上你的公式就OK了呀。
- Params
- Bool IsRollover(true);//是否后复权
- Bool IsRolloverRealPrice(true);//是否映射真实价格
- Bool IsAutoSwapPosition(true);//是否自动换仓
- Numeric FastLength(5);// 短期指数平均线参数
- Numeric SlowLength(20);// 长期指数平均线参数
- Vars
- Series<Numeric> AvgValue1;
- Series<Numeric> AvgValue2;
- Events
- OnInit()
- {
- Range[0:DataCount-1]
- {
- If(IsRollover)
- {
- AddDataFlag(Enum_Data_RolloverBackWard());//设置后复权
- }
- If(IsRolloverRealPrice)
- {
- AddDataFlag(Enum_Data_RolloverRealPrice());//是否映射真实价格
- }
- If(IsAutoSwapPosition)
- {
- AddDataFlag(Enum_Data_AutoSwapPosition());//设置自动换仓
- }
- }
- }
- OnBar(ArrayRef<Integer> indexs)
- {
- AvgValue1 = AverageFC(Close,FastLength);
- AvgValue2 = AverageFC(Close,SlowLength);
- PlotNumeric("MA1",AvgValue1);
- PlotNumeric("MA2",AvgValue2);
-
-
-
- If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
- {
- Buy(1,Open);
- }
-
- If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
- {
- SellShort(1,Open);
- }
- //PlotNumeric("PL",Portfolio_TotalProfit);
- }
- Params
有思路,想编写各种指标公式,交易模型,选股公式,还原公式的朋友
可联系技术人员 QQ: 262069696 或微信号:cxh99cxh99 进行 有偿收费 编写!
(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)
相关文章
-
没有相关内容