關于移倉換月的代碼該如何添加
作者:開拓者 TB 來源:cxh99.com 發布時間:2022年03月19日
-
咨詢內容:
請高手幫忙,關于移倉換月的代碼該如何添加,,比如在如下代碼上(代碼我是從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);? ? ? ?
- ? ? ? ? }
復制代碼