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模型的多倉狀態(tài),賦值變量state_A為1
else if close cross under mv_A then
? ? ? ? state_A=0;? //A模型的空倉狀態(tài),賦值變量state_A為0
?
if close cross above mv_B then
? ? ? ? state_B=1? //B模型的多倉狀態(tài),賦值變量state_B為1
else if close cross under mv_B then
? ? ? ? state_B=0;? //B模型的空倉狀態(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模型都處于多倉狀態(tài)時(shí),開倉}
?
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)平倉信號(hào)時(shí),執(zhí)行平倉}
?
對于其它的開平倉信號(hào)執(zhí)行,您可以通過mv_A、mv_B、state_A、state_B進(jìn)行組合;
上面寫的信號(hào)是針對同一個(gè)商品合約進(jìn)行的,若您需要使AB兩個(gè)模型分別針對不同的商品合約,您可以在圖表上插入子圖并且對上述代碼進(jìn)行微調(diào);
上面寫的信號(hào)是針對一個(gè)商品下單,若您需要對不同的商品合約下單,您需要通過PT功能,投資組合下單。
一、您所說的A模型和B模型,實(shí)際上可以編寫在一個(gè)信號(hào)中,也就是一個(gè)策略,那么一個(gè)策略的績效當(dāng)然可以回測評定,和其它策略一樣,加載到商品合約上、然后在策略屬性中更改成您需要的設(shè)置,最后點(diǎn)擊“視圖”中的策略績效報(bào)告即可。
?
二、如果說,您需要A模型和B模型分別對不同的商品合約進(jìn)行交易,那么您可以使用MC的投資組合回測和投資組合交易的功能,回測績效是整體的績效,當(dāng)然也可以單獨(dú)看績效。
?
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模型的多倉狀態(tài),賦值變量state_A為1
else if close cross under mv_A then
? ? ? ? state_A=0;? //A模型的空倉狀態(tài),賦值變量state_A為0
?
if close cross above mv_B then
? ? ? ? state_B=1? //B模型的多倉狀態(tài),賦值變量state_B為1
else if close cross under mv_B then
? ? ? ? state_B=0;? //B模型的空倉狀態(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模型都處于多倉狀態(tài)時(shí),開倉}
?
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)平倉信號(hào)時(shí),執(zhí)行平倉}
?
對于其它的開平倉信號(hào)執(zhí)行,您可以通過mv_A、mv_B、state_A、state_B進(jìn)行組合;
上面寫的信號(hào)是針對同一個(gè)商品合約進(jìn)行的,若您需要使AB兩個(gè)模型分別針對不同的商品合約,您可以在圖表上插入子圖并且對上述代碼進(jìn)行微調(diào);
上面寫的信號(hào)是針對一個(gè)商品下單,若您需要對不同的商品合約下單,您需要通過PT功能,投資組合下單。
一、您所說的A模型和B模型,實(shí)際上可以編寫在一個(gè)信號(hào)中,也就是一個(gè)策略,那么一個(gè)策略的績效當(dāng)然可以回測評定,和其它策略一樣,加載到商品合約上、然后在策略屬性中更改成您需要的設(shè)置,最后點(diǎn)擊“視圖”中的策略績效報(bào)告即可。
?
二、如果說,您需要A模型和B模型分別對不同的商品合約進(jìn)行交易,那么您可以使用MC的投資組合回測和投資組合交易的功能,回測績效是整體的績效,當(dāng)然也可以單獨(dú)看績效。
?
其實(shí)我在文華上也咨詢過同樣的問題,因?yàn)锳模型和B模型屬于不同的周期,文華要加載某一周期上才能回測,所以針對這個(gè)要涉及兩個(gè)周期的模型,文華不能回測。老師說MC可以回測分屬于不同周期的模型,那么我應(yīng)該加載在A模型的15分鐘上回測,還是加載在B模型的周K線上回測?問題的焦點(diǎn)是MC如何處理A模型和B模型在不同周期上的數(shù)據(jù)調(diào)用?
?
抱歉,上面編寫的MC代碼其實(shí)是加載到一個(gè)周期的商品合約上的,這個(gè)不是您真實(shí)需求的,也怪我對您之前的意思理解偏差了。
您的兩個(gè)模型是分別加載到同一個(gè)商品合約并且是不同周期的,而且兩個(gè)模型之間還互相“聯(lián)系”以確定開倉和平倉,那么您的這個(gè)需求可以通過投資組合交易來實(shí)現(xiàn);目前MC8s只支持投資組合回測,您可以使MC8s版本的投資組合回測功能實(shí)現(xiàn)回測,組合回測中也包含單獨(dú)的回測,實(shí)盤交易的話,您需要通過圖表進(jìn)行交易,兩個(gè)圖表之間需要通過全局變量進(jìn)行傳遞信息以確定開倉和平倉;MCpro版本和MC精英版支持投資組合交易(當(dāng)然投資組合回測也是可以的)。
http://forums.icetech.com.cn/for ... &extra=page%3D2這個(gè)帖子您看一下
您可能需要學(xué)習(xí)一下投資組合回測、投資組合交易及圖表中使全局變量等相關(guān)內(nèi)容了
?
抱歉,上面編寫的MC代碼其實(shí)是加載到一個(gè)周期的商品合約上的,這個(gè)不是您真實(shí)需求的,也怪我對您之前的意思理解偏差了。
您的兩個(gè)模型是分別加載到同一個(gè)商品合約并且是不同周期的,而且兩個(gè)模型之間還互相“聯(lián)系”以確定開倉和平倉,那么您的這個(gè)需求可以通過投資組合交易來實(shí)現(xiàn);目前MC8s只支持投資組合回測,您可以使MC8s版本的投資組合回測功能實(shí)現(xiàn)回測,組合回測中也包含單獨(dú)的回測,實(shí)盤交易的話,您需要通過圖表進(jìn)行交易,兩個(gè)圖表之間需要通過全局變量進(jìn)行傳遞信息以確定開倉和平倉;MCpro版本和MC精英版支持投資組合交易(當(dāng)然投資組合回測也是可以的)。
http://forums.icetech.com.cn/for ... &extra=page%3D2這個(gè)帖子您看一下
您可能需要學(xué)習(xí)一下投資組合回測、投資組合交易及圖表中使全局變量等相關(guān)內(nèi)容了