請問mc怎么抓取上一個條件滿足的位置 [MC]
-
MC用戶求助:
如果您需要用到上個同樣條件滿足時的currentbar,您可以使用函數mro,該函數返回指定表達式為true的之前柱狀線數量,具體用法如下:
MRO(Test, Length, Instance)?
Test?
設置要檢查的 True/False 表達式(即 Close > Open)。
Length?
設置要檢查的柱狀線數量。
Instance?
設置發生順序,例如 1 = 最近發生,2 = 次最近發生,以此類推。
舉例,若您需要在最近10根bar上返回第二次滿足close>open的bar離當根bar的距離,可以使用mro(close>open, 2, 10);
但是這個函數會使用instance限定搜索的范圍,所以您可以使用變量來保存滿足條件時的currentbar
“當前條件滿足的currentbar減去上個同樣條件滿足時的currentbar,怎么得到具體數字“,這句話不是很理解;若通過變量保存上一次條件滿足時的currentbar,當條件再次滿足時,可以直接用當根bar的currentbar減去上一次條件滿足時的currentbar即可,得到一個相對位置(比如,這里用cur來代表);若您還需要通過這個相對位置去回溯上一次條件滿足時的bar上的價格,例如close價格,可以使用symbol_close[cur],這里不能使用close[cur],原因是當使用close[cur]時,cur不能超過最大bar數量(默認是50),超過就會報錯的;而symbol_close[cur]不受最大bar數量限制,這是close和symbol_close的區別,其它沒有區別。
還有其它一類的symbol系列關鍵字,您可以看一下這個帖子,http://forums.icetech.com.cn/for ... &extra=page%3D7?
-
MC回復討論一:
如果您需要用到上個同樣條件滿足時的currentbar,您可以使用函數mro,該函數返回指定表達式為true的之前柱狀線數量,具體用法如下:
MRO(Test, Length, Instance)?
Test?
設置要檢查的 True/False 表達式(即 Close > Open)。
Length?
設置要檢查的柱狀線數量。
Instance?
設置發生順序,例如 1 = 最近發生,2 = 次最近發生,以此類推。
舉例,若您需要在最近10根bar上返回第二次滿足close>open的bar離當根bar的距離,可以使用mro(close>open, 2, 10);
但是這個函數會使用instance限定搜索的范圍,所以您可以使用變量來保存滿足條件時的currentbar
“當前條件滿足的currentbar減去上個同樣條件滿足時的currentbar,怎么得到具體數字“,這句話不是很理解;若通過變量保存上一次條件滿足時的currentbar,當條件再次滿足時,可以直接用當根bar的currentbar減去上一次條件滿足時的currentbar即可,得到一個相對位置(比如,這里用cur來代表);若您還需要通過這個相對位置去回溯上一次條件滿足時的bar上的價格,例如close價格,可以使用symbol_close[cur],這里不能使用close[cur],原因是當使用close[cur]時,cur不能超過最大bar數量(默認是50),超過就會報錯的;而symbol_close[cur]不受最大bar數量限制,這是close和symbol_close的區別,其它沒有區別。
還有其它一類的symbol系列關鍵字,您可以看一下這個帖子,http://forums.icetech.com.cn/for ... &extra=page%3D7?
-
MC回復討論二:
是的,我的目的就是您“這句話不是很理解”的下一句,但是因為條件是相同的,我可以記錄前滿足條件時的數據,但是上一次滿足的數據會因為重新滿足了一次而數據被重新取值,也就是無法獲得上一個條件滿足的數據了
?
-
MC回復討論三:
array: cur[1](0);
condition1=close>open;??//這里只是一個例子,也可以使用其它的條件
if condition1 then begin
? ? ? ? cur[1]=cur[0];
? ? ? ? cur[0]=currentbar;??//這里只是一個例子,也可以保存close等數據,不一定要保存currentbar數據
end;
新建一個兩元素的數組,cur[1]保存上一次滿足條件時的數據,而cur[0]保存當前滿足條件時的數據。當條件condition1條件再次滿足時,首先將cur[0]的數據賦值給cur[1],然后再將最新的數據賦值給cur[0]即可。?
-
MC回復討論四:
array: cur[1](0);
condition1=close>open;??//這里只是一個例子,也可以使用其它的條件
if condition1 then begin
? ? ? ? cur[1]=cur[0];
? ? ? ? cur[0]=currentbar;??//這里只是一個例子,也可以保存close等數據,不一定要保存currentbar數據
end;
新建一個兩元素的數組,cur[1]保存上一次滿足條件時的數據,而cur[0]保存當前滿足條件時的數據。當條件condition1條件再次滿足時,首先將cur[0]的數據賦值給cur[1],然后再將最新的數據賦值給cur[0]即可。
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容