如果您需要用到上個同樣條件滿足時的currentbar,您可以使用函數(shù)mro,該函數(shù)返回指定表達式為true的之前柱狀線數(shù)量,具體用法如下:
MRO(Test, Length, Instance)?
Test?
設(shè)置要檢查的 True/False 表達式(即 Close > Open)。
Length?
設(shè)置要檢查的柱狀線數(shù)量。
Instance?
設(shè)置發(fā)生順序,例如 1 = 最近發(fā)生,2 = 次最近發(fā)生,以此類推。
舉例,若您需要在最近10根bar上返回第二次滿足close>open的bar離當根bar的距離,可以使用mro(close>open, 2, 10);
但是這個函數(shù)會使用instance限定搜索的范圍,所以您可以使用變量來保存滿足條件時的currentbar
“當前條件滿足的currentbar減去上個同樣條件滿足時的currentbar,怎么得到具體數(shù)字“,這句話不是很理解;若通過變量保存上一次條件滿足時的currentbar,當條件再次滿足時,可以直接用當根bar的currentbar減去上一次條件滿足時的currentbar即可,得到一個相對位置(比如,這里用cur來代表);若您還需要通過這個相對位置去回溯上一次條件滿足時的bar上的價格,例如close價格,可以使用symbol_close[cur],這里不能使用close[cur],原因是當使用close[cur]時,cur不能超過最大bar數(shù)量(默認是50),超過就會報錯的;而symbol_close[cur]不受最大bar數(shù)量限制,這是close和symbol_close的區(qū)別,其它沒有區(qū)別。
還有其它一類的symbol系列關(guān)鍵字,您可以看一下這個帖子,http://forums.icetech.com.cn/for ... &extra=page%3D7
?
如果您需要用到上個同樣條件滿足時的currentbar,您可以使用函數(shù)mro,該函數(shù)返回指定表達式為true的之前柱狀線數(shù)量,具體用法如下:
MRO(Test, Length, Instance)?
Test?
設(shè)置要檢查的 True/False 表達式(即 Close > Open)。
Length?
設(shè)置要檢查的柱狀線數(shù)量。
Instance?
設(shè)置發(fā)生順序,例如 1 = 最近發(fā)生,2 = 次最近發(fā)生,以此類推。
舉例,若您需要在最近10根bar上返回第二次滿足close>open的bar離當根bar的距離,可以使用mro(close>open, 2, 10);
但是這個函數(shù)會使用instance限定搜索的范圍,所以您可以使用變量來保存滿足條件時的currentbar
“當前條件滿足的currentbar減去上個同樣條件滿足時的currentbar,怎么得到具體數(shù)字“,這句話不是很理解;若通過變量保存上一次條件滿足時的currentbar,當條件再次滿足時,可以直接用當根bar的currentbar減去上一次條件滿足時的currentbar即可,得到一個相對位置(比如,這里用cur來代表);若您還需要通過這個相對位置去回溯上一次條件滿足時的bar上的價格,例如close價格,可以使用symbol_close[cur],這里不能使用close[cur],原因是當使用close[cur]時,cur不能超過最大bar數(shù)量(默認是50),超過就會報錯的;而symbol_close[cur]不受最大bar數(shù)量限制,這是close和symbol_close的區(qū)別,其它沒有區(qū)別。
還有其它一類的symbol系列關(guān)鍵字,您可以看一下這個帖子,http://forums.icetech.com.cn/for ... &extra=page%3D7
?
是的,我的目的就是您“這句話不是很理解”的下一句,但是因為條件是相同的,我可以記錄前滿足條件時的數(shù)據(jù),但是上一次滿足的數(shù)據(jù)會因為重新滿足了一次而數(shù)據(jù)被重新取值,也就是無法獲得上一個條件滿足的數(shù)據(jù)了
?
array: cur[1](0);
condition1=close>open;??//這里只是一個例子,也可以使用其它的條件
if condition1 then begin
? ? ? ? cur[1]=cur[0];
? ? ? ? cur[0]=currentbar;??//這里只是一個例子,也可以保存close等數(shù)據(jù),不一定要保存currentbar數(shù)據(jù)
end;
新建一個兩元素的數(shù)組,cur[1]保存上一次滿足條件時的數(shù)據(jù),而cur[0]保存當前滿足條件時的數(shù)據(jù)。當條件condition1條件再次滿足時,首先將cur[0]的數(shù)據(jù)賦值給cur[1],然后再將最新的數(shù)據(jù)賦值給cur[0]即可。
?
array: cur[1](0);
condition1=close>open;??//這里只是一個例子,也可以使用其它的條件
if condition1 then begin
? ? ? ? cur[1]=cur[0];
? ? ? ? cur[0]=currentbar;??//這里只是一個例子,也可以保存close等數(shù)據(jù),不一定要保存currentbar數(shù)據(jù)
end;
新建一個兩元素的數(shù)組,cur[1]保存上一次滿足條件時的數(shù)據(jù),而cur[0]保存當前滿足條件時的數(shù)據(jù)。當條件condition1條件再次滿足時,首先將cur[0]的數(shù)據(jù)賦值給cur[1],然后再將最新的數(shù)據(jù)賦值給cur[0]即可。