Cheat-On-Open是什么
cheat_on_open是為了滿足每次下單使用全部資金(all-in)的投資者,如果不使用cheat_on_open這個方法的話,在一個bar收盤的時候計算需要的手數,但是需要在下個bar開盤的時候交易,如果下個bar開盤的時候出現很大的價差(向上跳慷訓者向下跳空),就有可能造成可用資金不足,導致broker拒絕這筆交易,提示Margin.
盡管backtrader的使用者可以使用data.open[1]來獲取下個bar的開盤價來計算交易手數,但是這個需要預先價格資料(preload data)
使用cheat_on_open可以解決這個問題,
cheat_on_open在下單之后,會在下個bar的開盤的時候發出訂單,這個時候open價格就是交易的這個bar的open價,計算倉位的時候,直接使用data.open[0]就可以了
cheat_on_open的使用
cerebro = bt.Cerebro(cheat_on_open=True)
使用這個命令之后,將會激活一些新的命令:next_open,nextstart_open and prenext_open來代替常規
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/255585.html
標籤:區塊鏈
