問題在于,MC的代碼中使用的是下一根bar發(fā)送限價單,而限價單的價格在下一根bar并沒有被觸價,所以沒成交,自然回測時圖表上就沒有部位產(chǎn)生。您的兩個對比,問題都在這里,下面以您的螺紋1801舉例說明問題點(diǎn)。
一、文華的圖表上每一根bar的時間是按照開盤時間來計算的,而MC是按照收盤時間來計算的,所以2017-08-25號22:57的bar對應(yīng)文華2017-08-25號22:56的K線。
二、MC和文華的這兩根bar上condition2返回的都是true,也就是滿足做空條件;但是,MC執(zhí)行sellshort next bar at close+1 limit,也就是說發(fā)送3903的限價賣單,而下一根bar的最高價是3902,所以限價單肯定不能(在22:58的bar上)被觸價,當(dāng)然圖表上(在22:58的bar上)也不會有進(jìn)場信號產(chǎn)生;文華的信號部位直接在當(dāng)根bar上(在22:56的bar上)產(chǎn)生。
?
問題在于,MC的代碼中使用的是下一根bar發(fā)送限價單,而限價單的價格在下一根bar并沒有被觸價,所以沒成交,自然回測時圖表上就沒有部位產(chǎn)生。您的兩個對比,問題都在這里,下面以您的螺紋1801舉例說明問題點(diǎn)。
一、文華的圖表上每一根bar的時間是按照開盤時間來計算的,而MC是按照收盤時間來計算的,所以2017-08-25號22:57的bar對應(yīng)文華2017-08-25號22:56的K線。
二、MC和文華的這兩根bar上condition2返回的都是true,也就是滿足做空條件;但是,MC執(zhí)行sellshort next bar at close+1 limit,也就是說發(fā)送3903的限價賣單,而下一根bar的最高價是3902,所以限價單肯定不能(在22:58的bar上)被觸價,當(dāng)然圖表上(在22:58的bar上)也不會有進(jìn)場信號產(chǎn)生;文華的信號部位直接在當(dāng)根bar上(在22:56的bar上)產(chǎn)生。
?
但是實(shí)際交易中MC會發(fā)單么?這個是關(guān)鍵。而且我實(shí)際交易中會設(shè)置 限價單不成交60秒改發(fā)市價單
?
一、實(shí)際交易中設(shè)置”限價單不成交60秒改發(fā)市價單“是指價格觸價之后60秒未成交才轉(zhuǎn)市價單,而您現(xiàn)在的情況是并未觸價,當(dāng)然實(shí)際中不可能成交。
二、限價回測的假設(shè)是”當(dāng)價格觸及限價或者穿價時,限價單完全成交“,所以回測的時候限價必須滿足這個條件才會成交,這個假設(shè)可以在”策略屬性“-”回測“-”回測假設(shè)“中更改。
三、停損單沒有回測假設(shè),那是因?yàn)橥p單是當(dāng)價格觸及指定價或者價格比指定價更差時,停損單轉(zhuǎn)換成市價成交;而限價單即使價格觸及指定價也不一定能成交,會按照排除撮合成交。
?
一、實(shí)際交易中設(shè)置”限價單不成交60秒改發(fā)市價單“是指價格觸價之后60秒未成交才轉(zhuǎn)市價單,而您現(xiàn)在的情況是并未觸價,當(dāng)然實(shí)際中不可能成交。
二、限價回測的假設(shè)是”當(dāng)價格觸及限價或者穿價時,限價單完全成交“,所以回測的時候限價必須滿足這個條件才會成交,這個假設(shè)可以在”策略屬性“-”回測“-”回測假設(shè)“中更改。
三、停損單沒有回測假設(shè),那是因?yàn)橥p單是當(dāng)價格觸及指定價或者價格比指定價更差時,停損單轉(zhuǎn)換成市價成交;而限價單即使價格觸及指定價也不一定能成交,會按照排除撮合成交。