關于MC能否實現文華的CHECKSIG函數功能 [MC]
-
MC用戶求助:
老師,請問MC能否實現文華的CHECKSIG功能,主要有兩個關鍵點:一、出信號下單;二、K線收盤時復核。請問MC如何實現?以下是CHESKSIG的介紹:
CHECKSIG 設置信號確認與復核的指令價方式(TICK逐筆回測,可設置回測精度)
用法:
CHECKSIG(SIG,MODE1,TIME1,MODE2,TIME2,INTERVAL);
1、當INTERVAL不為0時,INTERVAL數據時間間隔,每隔INTERVAL秒計算一次信號,SIG為信號,MODE1為信號確認方式,TIME1信號確認時間乘數,MODE2信號復核方式,TIME2信號復核時間乘數。
(例:INTERVAL為10,豆粕合約開盤第一根K線21:00:09為第一次計算模型,21:00:19為第二次計算模型...)
2、當INTERVAL為0時,每筆TICK計算一次信號,SIG為信號,MODE1為信號確認方式,TIME1信號確認時間,MODE2信號復核方式,TIME2信號復核時間。
3、通過調整INTERVAL參數,模型可設置不同數據快照頻率進行回測。
注:
1、寫了這個函數以后,模型會按照指令價方式運行。
2、SIG位置為交易指令,包括BK\SK\BP\SP\BPK\SPK\CLOSEOUT所有指令。
3、MODE1位置為信號確認方式,有A和B兩種:
A:MODE1為'A'時
??1)當INTERVAL不為0時,出信號后第TIME1個數據時間間隔確認信號下單
??2)當INTERVAL為0時,出信號TIME1秒后確認信號下單
B:MODE1為'B'時
??1)當INTERVAL不為0時,K線走完前TIME1個時間間隔確認信號下單
??2)當INTERVAL為0時,K線走完前TIME1秒確認信號下單
??3)TIME1=0為K線走完確認信號下單
4、MODE2位置為信號復核方式,有C,D,E和F四種:
C:MODE2為'C'時
??1)當INTERVAL不為0時,出信號后第TIME2個數據時間間隔進行信號復核
??2)當INTERVAL為0時,出信號TIME2秒后進行信號復核,TIME2=0為不復核
D:MODE2為'D'時
??1)當INTERVAL不為0時,K線走完前TIME2個時間間隔進行信號復核
??2)當INTERVAL為0時,K線走完前TIME2秒進行信號復核
??3)TIME2=0為K線走完復核
E:每一個以小節(包括:商品合約10:15-10:30休盤、11:30-13:30休市、21:00-23:00(或23:30或1:00或2:30)夜盤小節;股指合約11:30-13:00休市)為結束時間的K線提前復核,其他非小節時間結束的K線為K線走完復核。
??1)當INTERVAL不為0時,提前TIME2個時間間隔進行信號復核
??2)當INTERVAL為0時,提前TIME2秒進行信號復核
??3)TIME2=0為K線走完復核
F:每天以收盤時間為結束時間的K線提前復核,其他以收盤時間為結束時間的K線為K線走完復核
??1)當INTERVAL不為0時,提前TIME2個時間間隔進行信號復核
??2)當INTERVAL為0時,提前TIME2秒進行信號復核
??3)TIME2=0為K線走完復核
5、INTERVAL代表數據時間間隔
??1)支持0、3、5、10四個值,不支持變量。
??2)3、5、10分別代表用每隔3秒、5秒、10秒,計算一次模型
??3)參數為3、5、10 ,回測速度可提升3-10倍,回測精度稍差
??4)參數為0的時 為每筆TICK計算一次模型
??5)一個模型中只能寫入一個INTERVAL值
6、模型中寫入該函數,一根K線只能有一個信號。
7、CHECKSIG、MULTSIG、MULTSIG_MIN、CHECKSIG_MIN函數不能同時出現在一個模型中
8、該函數只允許在模組中使用,不支持加載到盒子。
9、未使用該函數的指令,默認的信號執行方式為K線走完確認信號下單。
10、TIME1,TIME2非0時,該函數不支持加載到日線以上的周期中使用。
例如:量能周期出信號TIME1個數據時間間隔下單, K線走完前TIME2個數據時間間隔復核之類的都不支持
11、該函數不支持加載到量能周期使用。
12、如果用該函數設置了信號復核,復核時產生了信號消失,會進行信號消失處理。信號消失的處理方式:
還沒有成交時的信號消失處理-撤單
BK、SK信號消失處理-平倉
BPK、SPK信號消失處理-平倉+恢復建倉
BP、SP信號消失處理-恢復建倉
例:
C>O,BK;
C<O,SP;
CHECKSIG(BK,'A',5,'D',0,3);//設置BK信號,出信號后第5個數據時間間隔確認下單(例如21:00:02滿足條件,出現信號后第5次計算信號,即21:00:17時確認信號下單),K線走完復核。每隔3秒計算一次信號。
CHECKSIG(SP,'A',0,'C',10,3);//設置SP信號,根據數據時間間隔計算出信號后立即下單(例如21:00:02滿足條件,出現信號后立即下單),下單后第10個數據時間間隔復核(例如21:00:17時確認信號下單,則確認下單后第10次計算模型,即21:00:47進行信號復核)。每隔3秒計算一次信號。
AUTOFILTER;(來自舊論壇客戶,xdzgmc)
?
-
MC回復討論一:
文華的功能比較模塊化,缺乏靈活性,不易更改;而MC更具靈活性,您說的這個函數的功能,下面我會一一對應到MC上去:
第一、開啟bar內模式可以每筆tick進行信號計算;bar內的時間可以通過q_time_s(用于實時交易中,不能用于回測中)和time_s(用于回測中,需要策略屬性中設置一下允許訪問bar內時間)。
第二、開啟bar內模式下,每筆tick都進行信號計算,可以使用”buy next bar at market;“進行bar內實時下單,條件滿足就下單,當然也可以通過變量控制進行延遲下單;在bar內模式下,若想在當根bar收盤時下單可以使用”buy this bar at close;“,這里對于this bar 和next bar的區別請需要看一下帖子http://forums.icetech.com.cn/for ... &extra=page%3D2
第三、開啟bar內模式下,可以通過精細回測,關于精細回測您需要在策略屬性中設置一下回測精度(精度可以逐筆,也可以逐秒等等);您可以看一下這個帖子http://forums.icetech.com.cn/for ... &extra=page%3D1
第四、關于K線復核;在開啟bar內模式下,在每筆tick進行信號確認,信號確認的時候同時也會信號復核(對于條件單,如果未成交的條件單當前條件不再滿足就會自動撤單),當然您也可以通過MC內置的關鍵字對圖表的的部位、手數、方向等信息進行實時的確認,確認的時間點也可以自行確定。
以上涉及的太多了,一次沒有辦法說的太清楚,您需要一步步進行深入的學習和研究。?
-
MC回復討論二:
@matata2020
對于您說的公式編譯器死機的問題,可能是其它問題,您需要在MC官方QQ群進行咨詢!
開啟bar內模式并且使用精細資料占用的資源比其它情境下更多
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容