提高回測質量的一種方法 [開拓者 TB]
- 咨詢內容:
本帖最后由 mahanxiong 于 2013-10-6 13:28 編輯
廢話不多說,看代碼就可以了。
//------------------------------------------------------------------------
// 簡稱: newway
// 名稱: NewwayToCreatAndBacktesSystems
// 類別: 公式應用
// 類型: 用戶應用
// 對于下跌的bar:o>>>h>>>l>>>c,上漲的bar HL反過來。
// 大概的意思就是通過代碼來按順序模擬一根bar開盤到收盤的過程從而避免TB每個bar只過一次的缺點。大家看代碼就明白了。有需要的同學可以模擬12個點。
// 甚至可以去調用M1的bar的信息。這就能達到接近MT4的回測質量了。
// 對于不知道我在干啥的童鞋,忽略這個帖子。。。
//------------------------------------------------------------------------
Params
//這不是個用來實盤的系統,這里啥也沒有。。。
Vars
NumericSeries hh;
NumericSeries ll;
Begin
//假裝現在當前bar開盤
hh=Highest(h[1],60);
ll=lowest(l[1],60);
If(o>hh && MarketPosition<1) Buy(1,o);
If(o<ll && MarketPosition>-1) SellShort(1,o);
If(c>o)//上漲的bar
{
//時光繼續飛逝,假裝這個bar已經運行到了最低價
If(l>hh && MarketPosition<1) Buy(1,l);
If(l<ll && MarketPosition>-1) SellShort(1,l);
//時光飛逝,假裝這個bar已經運行到了最高價
If(h>hh && MarketPosition<1) Buy(1,h);
If(h<ll && MarketPosition>-1) SellShort(1,h);
}
If(c<o)//下跌的bar
{
//時光飛逝,假裝這個bar已經運行到了最高價
If(h>hh && MarketPosition<1) Buy(1,h);
If(h<ll && MarketPosition>-1) SellShort(1,h);
//時光繼續飛逝,假裝這個bar已經運行到了最低價
If(l>hh && MarketPosition<1) Buy(1,l);
If(l<ll && MarketPosition>-1) SellShort(1,l);
}
//要收盤了
If(c>hh && MarketPosition<1) Buy(1,c);
If(c<ll && MarketPosition>-1) SellShort(1,c);
End
//------------------------------------------------------------------------
// 編譯版本 GS2010.12.08
// 用戶版本 2013/10/06 11:22
// 版權所有 mahanxiong
// 更改聲明 TradeBlazer Software保留對TradeBlazer平臺
// 每一版本的TrabeBlazer公式修改和重寫的權利
//------------------------------------------------------------------------ - TB技術人員:
著實不知道你在干嘛
- TB客服:
受傷的小魚 發表于 2013-10-7 02:55
著實不知道你在干嘛
lol~ - 網友回復: 不必這么麻煩。通常采用1m圖表來提高回測質量,已經足夠了。
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 1145508240 (不貴!點擊查看價格!)
相關文章
-
沒有相關內容