請問這個文華的代碼barslast怎么改寫 MC 呢 [MC]
-
MC用戶求助:
文華的代碼
A:=HIGH>REF(HIGH);// 最高價大于前K線高點;
B:=REF(HIGH,2+BARSLAST(A)) ;滿足條件A的前面3根K線的高點;
c:=REFX(B,1);//取B在一個周期后的值
這個轉換為MC 怎么寫呢?
(來自舊論壇客戶,go-yunhang)
?
-
MC回復討論一:
抱歉回復的有點晚!
文華支持未來數據,但是MC不支持未來數據,MC只能從當根bar的位置取歷史bar的數據(即向歷史回溯);下面先分開來介紹各個部分,然后再匯總給予整體回復。
//A:=HIGH>REF(HIGH);
condition1=high>high[1];
{您可以看一下關鍵字ago,了解一下MC如何在當根bar回溯歷史數據的,例如,回溯前一根bar的最高價,使用high[1],即在后面加括號,括號里面使用1,其它數字的意思以此類推}
//B:=REF(HIGH,2+BARSLAST(A)) ;
value1=2+mro(condition1,20,1);
value2=symbol_high[value1];
{您可以在公式編譯器中查看一下函數mro的使用,上面的例子中mro(condition1,20,1)的意思是,在最近20根bar上搜索第一個condition1條件成立的bar并且返回該bar與當根bar的距離;value2存儲的是前value1根bar上的最高價}
//c:=REFX(B,1);
由于MC沒有辦法引用未來數據,比如您是在編號為10的bar上引用編號為11的bar上的數據,那么您需要在編號為11的bar上去回溯檢查編號為10的bar上的數據以確定編號為11的bar上的數據是策略需要的
?
-
MC回復討論二:
感謝 Alex,我能直接說文華的BARSLAST函數 跟 函數mro 是一個意思么? 是可以用在回測和實盤里吧 ??
?
-
MC回復討論三:
可以說用在回測和實盤中,這兩個函數可以達到同樣的功能,只是文華的barslast函數只有一個參數,而mro有三個參數。
兩者的對比:
一、barslast沒有指定搜索歷史bar的范圍;而mro可以指定搜索的范圍。
二、 barslast只能搜索最近一個,而mro可以指定搜索的是第幾個。
三、barslast是封閉的不能更改,而mro是一個開放的函數,可以自行查看內部邏輯代碼并且修改。
?
-
MC回復討論四:
可以說用在回測和實盤中,這兩個函數可以達到同樣的功能,只是文華的barslast函數只有一個參數,而mro有三個參數。
兩者的對比:
一、barslast沒有指定搜索歷史bar的范圍;而mro可以指定搜索的范圍。
二、 barslast只能搜索最近一個,而mro可以指定搜索的是第幾個。
三、barslast是封閉的不能更改,而mro是一個開放的函數,可以自行查看內部邏輯代碼并且修改。
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容