您現在的位置:程序化交易>> 期貨公式>> 金字塔等>> 金字塔知識>>正文內容

portfolio對象的持倉變化問題 [金字塔]

  • 咨詢內容: def handle_bar(context):?? ? ??print('新的一天開始了')??? ? portfolio = get_portfolio(context.s1,0)#讀取portfolio? ? print('當前空頭持倉為%d'%portfolio.sell_quantity)? ? print('當前多頭持倉為%d'%portfolio.buy_quantity)? ? if close[-1]>sg[-1] and close[-2]<=sg[-2]:? ? ? ? print('符合平空開多')? ? ? ? if portfolio.sell_quantity>0:? ? ? ? ? ? print('有空頭持倉,平空')? ? ? ? ? ? buy_close(context.s1,"market", volume=portfolio.sell_quantity,serial_id = 1)#空頭平倉? ? ? ? ? ? portfolio = get_portfolio(context.s1,0)#平空之后讀portfolio? ? ? ? ? ? print('買平后空頭持倉為%d'%portfolio.sell_quantity)#輸出顯示空頭持倉已經變為0? ? ? ? if portfolio.buy_quantity == 0:? ? print('無多頭持倉,開多')?? ? ? ? ? ? buy_open(context.s1, "market", volume=1,serial_id = 2)#多頭開倉? ? ? ? ? ? portfolio = get_portfolio(context.s1,0)#開多后讀portfolio? ? ? ? ? ? print('多開后多頭持倉為%d'%portfolio.buy_quantity)#輸出顯示多頭持倉依然為零,不應該為1嗎?? ?? ? if close[-1]<xg[-1] and close[-2]>=xg[-2]:? ? ? ? if portfolio.buy_quantity>0:? ? ? ? ? ? print('有多頭持倉,平多')? ? ? ? ? ? sell_close(context.s1,"market", volume=portfolio.buy_quantity,serial_id = 3)? ? ? ? ? ? portfolio = get_portfolio(context.s1,0)? ? ? ? ? ? print('平多后多頭持倉為%d'%portfolio.buy_quantity)? ? ? ? if portfolio.sell_quantity == 0:? ? ? ? ? ? print('無空頭持倉,開空')? ?? ? ? ? ? ? sell_open(context.s1, "market", volume=1,serial_id = 4)? ? ? ? ? ? portfolio = get_portfolio(context.s1,0)? ? ? ? ? ? print('開空后空頭持倉為%d'%portfolio.sell_quantity)? ? print('當天結束了')
    def after_trading(context):? ? portfolio = get_portfolio(context.s1,0)? ? print('收盤空頭%d'%portfolio.sell_quantity)? ? print('收盤多頭%d'%portfolio.buy_quantity)#盤后顯示多頭持倉為1? ? pass
    上文是平倉反手代碼片段,在handle_bar(context)中,平倉指令發出,持倉馬上歸零,但是反手開倉指令發出后,持倉不能正確顯示,依然為零,必須要在after_trading(context)中,才能正確顯示為1.請教這是機制問題,還是我的代碼有問題?

    ?

    ?來源: CXH99.COM

  • 金字塔客服: 你是回測還是實盤運行?回測時候下單后不是立即成交的,如果你handle_bar只執行了一次,那么那一次下單后持倉是不會變化的

    ?

  • 用戶回復: 無論是回測還是實盤都不可能下單后立馬就能在持倉中體現的。 單子總有到交易所撮合交易的過程 [此貼子已經被作者于2020/11/15 19:21:57編輯過]

    ?

  • 網友回復: 我是日線級別回測,handle_bar每天執行一次我的測試結果,如果是平倉語句,持倉馬上就會發生變化,這個似乎是虛擬持倉變化,跟是否成交沒關系。但是對于開倉語句,在之后handle_bar中任何位置GET_PORTFOLIO,都不會有持倉變化。只有在當日AFTER_TRADING方法中 GET_PORTFOLIO,持倉才會會發生變化。 所以問題一, PORTFOLIO對象中的持倉是虛擬持倉,還是實際持倉,回測和實盤有何區別? 問題二:無論是虛擬持倉還是實際持倉,開倉和平倉語句之后的持倉變化時機是不同的,如上文所述,這個我反復測試過,難以理解。

    ?

  • 網友回復: 你日線執行一次自然會有這個問題,因為你日線程序相當于只執行一次那么在執行下單動作后,馬上輸出持倉這個時候持倉是沒有變化的。這個如果實盤你應該能理解回測的話也一樣,不同于圖表策略那種回測,python這個回測他在下單瞬間是沒有持倉的

    你如果實盤的話,用固定間隔一直去執行程序,那么可能第一次執行下單,等后面幾秒后執行時候持倉就會發生變化了

 

有思路,想編寫各種指標公式,交易模型,選股公式,還原公式的朋友

可聯系技術人員 QQ: 262069696  點擊在線交流或微信號:cxh99cxh99  進行 有償收費 編寫!

怎么收費,代編流程等詳情請點擊閱讀!

(注:由于人數限制,QQ或微信請選擇方便的一個聯系我們就行,加好友時請簡單備注下您的需求,否則無法通過。謝謝您!)


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 884hutv四虎永久黄网| 久久久久亚洲av无码去区首| 精品少妇ay一区二区三区| 日韩色视频在线观看| 免费无码一区二区三区| 99ee6热久久免费精品6| 日本xxxx在线| 免费看污成人午夜网站| 黑人巨大精品欧美一区二区免费 | 国产精品亚洲аv无码播放 | 亚洲精品无码不卡| 老司机激情影院| 国产手机在线精品| 99久久99久久精品免费观看 | 免费看香港一级毛片| 香蕉视频网页版| 国产精品美女视视频专区| 一区二区视频在线播放| 日本波多野结衣电影| 亚洲午夜国产精品无卡| 特级毛片全部免费播放a一级| 国产精品一区久久| 中文字幕色网站| 校园放荡三个女同学| 啊灬用力啊灬啊灬快灬深| 欧美丰满白嫩bbwbbw| 在线亚洲小视频| √在线天堂中文最新版网| 日本一区视频在线播放| 亚洲av永久精品爱情岛论坛 | 激情内射日本一区二区三区 | 啊轻点灬大巴太粗太长视频| 黄色一级片日本| 国产精品夜夜爽范冰冰| 中日韩亚洲人成无码网站| 李宗瑞60集k8经典网| 亚洲狠狠婷婷综合久久久久| 国产精品jizz在线观看直播| 小雪老师又嫩又紧的| 亚洲国产成人手机在线电影bd| 男女边摸边做激情视频免费|