求助,哪位大神教教我如何使用TBQ后復權、自動換倉 [開拓者 TB]
-
咨詢內容:
我用雙均線回測螺紋鋼,回測有個選項選取的是后復權,那么回測代碼中還需要加什么代碼嗎?例如換月自動換倉?加的話怎么實現呢?
//------------------------------------------------------------------------
// 簡稱: DualMA
// 名稱: 雙均線交易系統
// 類別: 公式應用
// 類型: 內建應用
//------------------------------------------------------------------------
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(0,Open);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? SellShort(0,Open);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ?
? ? ? ? }?
?來源:CXH99.COM
-
TB技術人員:
- 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(0,Open);
- ? ?? ?? ?? ?? ? }
- ? ?? ?? ?? ?? ?
- ? ?? ?? ?? ?? ? If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
- ? ?? ?? ?? ?? ? {
- ? ?? ?? ?? ?? ?? ?? ?? ?SellShort(0,Open);
- ? ?? ?? ?? ?? ? }
- ? ?? ?? ?? ?? ?
- ? ?? ???}
1,公式里加上述三句語
2,商品設置為后復權
3,策略單元里設置好委托映射、委托偏移。?
- Events
-
TB客服:
小米 發表于 2019-12-23 11:24
按照TB量化學院里有關權復相關操作,第三種是最簡單可行的。可以參考一下里面具體的說明。
1,公式里加上述 ...
If(IgnoreSwapSiganlCalc)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());//設置忽略換倉信號計算
? ? ? ? ? ? ? ? ? ? ? ? }
感謝回復,設置忽略換倉信號計算? ?這句是什么意思???
還有就是主力合約換月,換倉的時候手數怎么不一樣?例如2001合約是5手換到2005就是6手了?
-
網友回復:
ljs129658 發表于 2019-12-28 17:39
If(IgnoreSwapSiganlCalc)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());//設置忽略換倉信號 ...
AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());//設置忽略換倉信號計算
對于一個策略來說,換倉的這筆交易并不是策略規則產生的,所以將換倉前后的這兩筆交易合并為一筆能更好的統計策略性能。合并之后,交易盈虧依舊是真實的,只不過換倉前后的這兩筆交易算一筆交易,但是手續費會從測試報告中扣除。
兩個月份的合約價格相差比較大,且2005的合約價格要低于2001、則5手2001所使用的保證金是可以買到6手2005,自然換月前后的數量會有所差別。
有思路,想編寫各種指標公式,交易模型,選股公式,還原公式的朋友
可聯系技術人員 QQ: 262069696 或微信號:cxh99cxh99 進行 有償收費 編寫!
(注:由于人數限制,QQ或微信請選擇方便的一個聯系我們就行,加好友時請簡單備注下您的需求,否則無法通過。謝謝您!)
相關文章
-
沒有相關內容