關(guān)于一個(gè)模型的編寫 [MC]
-
MC用戶求助:
input:length_A(20), length_B(30);
var: mv_A(0), mv_B(0), state_A(-1), state_B(-1);
?
mv_A=averagefc(close,length_A);? //A模型的均線值,存儲(chǔ)到mv_A變量上
mv_B=averagefc(close,length_B);? //B模型的均線值,存儲(chǔ)到mv_B變量上
?
if close cross above mv_A then
? ? ? ? state_A=1? ?//A模型的多倉(cāng)狀態(tài),賦值變量state_A為1
else if close cross under mv_A then
? ? ? ? state_A=0;? //A模型的空倉(cāng)狀態(tài),賦值變量state_A為0
?
if close cross above mv_B then
? ? ? ? state_B=1? //B模型的多倉(cāng)狀態(tài),賦值變量state_B為1
else if close cross under mv_B then
? ? ? ? state_B=0;? //B模型的空倉(cāng)狀態(tài),賦值變量state_B為0
?
if state_A=1 and state_B=1 and (state_A=1 and state_B=1)[1]=false and marketposition=0 then
? ? ? ? buy next bar at market;
{當(dāng)A和B模型都處于多倉(cāng)狀態(tài)時(shí),開倉(cāng)}
?
if marketposition=1 and (close cross under mv_A or close cross under mv_B) then
? ? ? ? sell next bar at market;
{當(dāng)A模型或者B模型出現(xiàn)平倉(cāng)信號(hào)時(shí),執(zhí)行平倉(cāng)}
?
對(duì)于其它的開平倉(cāng)信號(hào)執(zhí)行,您可以通過mv_A、mv_B、state_A、state_B進(jìn)行組合;
上面寫的信號(hào)是針對(duì)同一個(gè)商品合約進(jìn)行的,若您需要使AB兩個(gè)模型分別針對(duì)不同的商品合約,您可以在圖表上插入子圖并且對(duì)上述代碼進(jìn)行微調(diào);
上面寫的信號(hào)是針對(duì)一個(gè)商品下單,若您需要對(duì)不同的商品合約下單,您需要通過PT功能,投資組合下單。
一、您所說的A模型和B模型,實(shí)際上可以編寫在一個(gè)信號(hào)中,也就是一個(gè)策略,那么一個(gè)策略的績(jī)效當(dāng)然可以回測(cè)評(píng)定,和其它策略一樣,加載到商品合約上、然后在策略屬性中更改成您需要的設(shè)置,最后點(diǎn)擊“視圖”中的策略績(jī)效報(bào)告即可。
?
二、如果說,您需要A模型和B模型分別對(duì)不同的商品合約進(jìn)行交易,那么您可以使用MC的投資組合回測(cè)和投資組合交易的功能,回測(cè)績(jī)效是整體的績(jī)效,當(dāng)然也可以單獨(dú)看績(jī)效。
?
-
MC回復(fù)討論一:
input:length_A(20), length_B(30);
var: mv_A(0), mv_B(0), state_A(-1), state_B(-1);
?
mv_A=averagefc(close,length_A);? //A模型的均線值,存儲(chǔ)到mv_A變量上
mv_B=averagefc(close,length_B);? //B模型的均線值,存儲(chǔ)到mv_B變量上
?
if close cross above mv_A then
? ? ? ? state_A=1? ?//A模型的多倉(cāng)狀態(tài),賦值變量state_A為1
else if close cross under mv_A then
? ? ? ? state_A=0;? //A模型的空倉(cāng)狀態(tài),賦值變量state_A為0
?
if close cross above mv_B then
? ? ? ? state_B=1? //B模型的多倉(cāng)狀態(tài),賦值變量state_B為1
else if close cross under mv_B then
? ? ? ? state_B=0;? //B模型的空倉(cāng)狀態(tài),賦值變量state_B為0
?
if state_A=1 and state_B=1 and (state_A=1 and state_B=1)[1]=false and marketposition=0 then
? ? ? ? buy next bar at market;
{當(dāng)A和B模型都處于多倉(cāng)狀態(tài)時(shí),開倉(cāng)}
?
if marketposition=1 and (close cross under mv_A or close cross under mv_B) then
? ? ? ? sell next bar at market;
{當(dāng)A模型或者B模型出現(xiàn)平倉(cāng)信號(hào)時(shí),執(zhí)行平倉(cāng)}
?
對(duì)于其它的開平倉(cāng)信號(hào)執(zhí)行,您可以通過mv_A、mv_B、state_A、state_B進(jìn)行組合;
上面寫的信號(hào)是針對(duì)同一個(gè)商品合約進(jìn)行的,若您需要使AB兩個(gè)模型分別針對(duì)不同的商品合約,您可以在圖表上插入子圖并且對(duì)上述代碼進(jìn)行微調(diào);
上面寫的信號(hào)是針對(duì)一個(gè)商品下單,若您需要對(duì)不同的商品合約下單,您需要通過PT功能,投資組合下單。
一、您所說的A模型和B模型,實(shí)際上可以編寫在一個(gè)信號(hào)中,也就是一個(gè)策略,那么一個(gè)策略的績(jī)效當(dāng)然可以回測(cè)評(píng)定,和其它策略一樣,加載到商品合約上、然后在策略屬性中更改成您需要的設(shè)置,最后點(diǎn)擊“視圖”中的策略績(jī)效報(bào)告即可。
?
二、如果說,您需要A模型和B模型分別對(duì)不同的商品合約進(jìn)行交易,那么您可以使用MC的投資組合回測(cè)和投資組合交易的功能,回測(cè)績(jī)效是整體的績(jī)效,當(dāng)然也可以單獨(dú)看績(jī)效。
?
-
MC回復(fù)討論二:
其實(shí)我在文華上也咨詢過同樣的問題,因?yàn)锳模型和B模型屬于不同的周期,文華要加載某一周期上才能回測(cè),所以針對(duì)這個(gè)要涉及兩個(gè)周期的模型,文華不能回測(cè)。老師說MC可以回測(cè)分屬于不同周期的模型,那么我應(yīng)該加載在A模型的15分鐘上回測(cè),還是加載在B模型的周K線上回測(cè)?問題的焦點(diǎn)是MC如何處理A模型和B模型在不同周期上的數(shù)據(jù)調(diào)用?
?
-
MC回復(fù)討論三:
抱歉,上面編寫的MC代碼其實(shí)是加載到一個(gè)周期的商品合約上的,這個(gè)不是您真實(shí)需求的,也怪我對(duì)您之前的意思理解偏差了。
您的兩個(gè)模型是分別加載到同一個(gè)商品合約并且是不同周期的,而且兩個(gè)模型之間還互相“聯(lián)系”以確定開倉(cāng)和平倉(cāng),那么您的這個(gè)需求可以通過投資組合交易來實(shí)現(xiàn);目前MC8s只支持投資組合回測(cè),您可以使MC8s版本的投資組合回測(cè)功能實(shí)現(xiàn)回測(cè),組合回測(cè)中也包含單獨(dú)的回測(cè),實(shí)盤交易的話,您需要通過圖表進(jìn)行交易,兩個(gè)圖表之間需要通過全局變量進(jìn)行傳遞信息以確定開倉(cāng)和平倉(cāng);MCpro版本和MC精英版支持投資組合交易(當(dāng)然投資組合回測(cè)也是可以的)。
http://forums.icetech.com.cn/for ... &extra=page%3D2這個(gè)帖子您看一下
您可能需要學(xué)習(xí)一下投資組合回測(cè)、投資組合交易及圖表中使全局變量等相關(guān)內(nèi)容了
?
-
MC回復(fù)討論四:
抱歉,上面編寫的MC代碼其實(shí)是加載到一個(gè)周期的商品合約上的,這個(gè)不是您真實(shí)需求的,也怪我對(duì)您之前的意思理解偏差了。
您的兩個(gè)模型是分別加載到同一個(gè)商品合約并且是不同周期的,而且兩個(gè)模型之間還互相“聯(lián)系”以確定開倉(cāng)和平倉(cāng),那么您的這個(gè)需求可以通過投資組合交易來實(shí)現(xiàn);目前MC8s只支持投資組合回測(cè),您可以使MC8s版本的投資組合回測(cè)功能實(shí)現(xiàn)回測(cè),組合回測(cè)中也包含單獨(dú)的回測(cè),實(shí)盤交易的話,您需要通過圖表進(jìn)行交易,兩個(gè)圖表之間需要通過全局變量進(jìn)行傳遞信息以確定開倉(cāng)和平倉(cāng);MCpro版本和MC精英版支持投資組合交易(當(dāng)然投資組合回測(cè)也是可以的)。
http://forums.icetech.com.cn/for ... &extra=page%3D2這個(gè)帖子您看一下
您可能需要學(xué)習(xí)一下投資組合回測(cè)、投資組合交易及圖表中使全局變量等相關(guān)內(nèi)容了
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容