Skip to content

Commit 7bc396c

Browse files
temp
1 parent 191155c commit 7bc396c

File tree

1 file changed

+41
-13
lines changed

1 file changed

+41
-13
lines changed

test.pinescript

+41-13
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ string op_type_06 = 'down pin bar'
1313
string op_type_07 = 'any type of bar'
1414
f_enum_type(_str)=>(_str==op_type_01?1:(_str==op_type_02?2:(_str==op_type_03?3:(_str==op_type_04?4:(_str==op_type_05?5:(_str==op_type_06?6:(_str==op_type_07?7:na)))))))
1515
f_enum_type_by_idx(_i)=>(_i==1?op_type_01:(_i==2?op_type_02:(_i==3?op_type_03:(_i==4?op_type_04:(_i==5?op_type_05:(_i==6?op_type_06:(_i==7?op_type_07:op_type_07)))))))
16+
1617
float body_range = abs(close - open)
1718
float hl_range = high - low
1819
float upperwick = high - max(close, open)
@@ -35,8 +36,25 @@ f_isPinUp(_pos) => risinghigh[_pos] and body_range[_pos] < (hl_range[_po
3536
f_isPinDown(_pos) => fallinglow[_pos] and body_range[_pos] < (hl_range[_pos] * 0.33) and (lowerwick[_pos] * 0.66) > upperwick[_pos]
3637
f_isAny(_pos) => true
3738

38-
f_enum_BarPattern(_i, _pos)=>(_i==1?f_isInsideBar(_pos):(_i==2?f_isOutsideBar(_pos):(_i==3?f_isUpBar(_pos):(_i==4?f_isDownBar(_pos):(_i==5?f_isPinUp(_pos):(_i==6?f_isPinDown(_pos):(_i==7?f_isAny(_pos):na)))))))
39-
f_ident_bar(_pos)=>f_isInsideBar(_pos)?1:(f_isOutsideBar(_pos)?2:(f_isUpBar(_pos)?3:(f_isDownBar(_pos)?4:(f_isPinUp(_pos)?5:(f_isPinDown(_pos)?6:(f_isAny(_pos)?7:7))))))
39+
f_enum_BarPattern(_i, _pos)=>
40+
_isInsideBar = f_isInsideBar(_pos)
41+
_isOutsideBar = f_isOutsideBar(_pos)
42+
_isUpBar = f_isUpBar(_pos)
43+
_isDownBar = f_isDownBar(_pos)
44+
_isPinUp = f_isPinUp(_pos)
45+
_isPinDown = f_isPinDown(_pos)
46+
_isAny = f_isAny(_pos)
47+
(_i==1?_isInsideBar:(_i==2?_isOutsideBar:(_i==3?_isUpBar:(_i==4?_isDownBar:(_i==5?_isPinUp:(_i==6?_isPinDown:(_i==7?_isAny:na)))))))
48+
49+
f_ident_bar(_pos)=>
50+
_isInsideBar = f_isInsideBar(_pos)
51+
_isOutsideBar = f_isOutsideBar(_pos)
52+
_isUpBar = f_isUpBar(_pos)
53+
_isDownBar = f_isDownBar(_pos)
54+
_isPinUp = f_isPinUp(_pos)
55+
_isPinDown = f_isPinDown(_pos)
56+
_isAny = f_isAny(_pos)
57+
_isInsideBar?1:(_isOutsideBar?2:(_isUpBar?3:(_isDownBar?4:(_isPinUp?5:(_isPinDown?6:(_isAny?7:7))))))
4058

4159
bool automatic_last_n_bars = input(false)
4260
int n_bars_in_pattern = input(defval=3, title='How many bars pattern:', type=input.integer, minval=1, maxval=10)
@@ -51,18 +69,28 @@ string bar07_type = input(defval=op_type_01, title='#7 in pattern:', type=input.
5169
string bar08_type = input(defval=op_type_01, title='#8 in pattern:', type=input.string, options=[op_type_01, op_type_02, op_type_03, op_type_04, op_type_05, op_type_06, op_type_07])
5270
string bar09_type = input(defval=op_type_01, title='#9 in pattern:', type=input.string, options=[op_type_01, op_type_02, op_type_03, op_type_04, op_type_05, op_type_06, op_type_07])
5371
string bar10_type = input(defval=op_type_01, title='#10 in pattern:', type=input.string, options=[op_type_01, op_type_02, op_type_03, op_type_04, op_type_05, op_type_06, op_type_07])
54-
72+
73+
automatic_last_n_bars_pre_eval_01 = f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-1)))
74+
automatic_last_n_bars_pre_eval_02 = f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-2)))
75+
automatic_last_n_bars_pre_eval_03 = f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-3)))
76+
automatic_last_n_bars_pre_eval_04 = f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-4)))
77+
automatic_last_n_bars_pre_eval_05 = f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-5)))
78+
automatic_last_n_bars_pre_eval_06 = f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-6)))
79+
automatic_last_n_bars_pre_eval_07 = f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-7)))
80+
automatic_last_n_bars_pre_eval_08 = f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-8)))
81+
automatic_last_n_bars_pre_eval_09 = f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-9)))
82+
automatic_last_n_bars_pre_eval_10 = f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-10)))
5583
if automatic_last_n_bars
56-
bar01_type := f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-1)))
57-
bar02_type := f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-2)))
58-
bar03_type := f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-3)))
59-
bar04_type := f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-4)))
60-
bar05_type := f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-5)))
61-
bar06_type := f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-6)))
62-
bar07_type := f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-7)))
63-
bar08_type := f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-8)))
64-
bar09_type := f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-9)))
65-
bar10_type := f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-10)))
84+
bar01_type := automatic_last_n_bars_pre_eval_01//f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-1)))
85+
bar02_type := automatic_last_n_bars_pre_eval_02//f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-2)))
86+
bar03_type := automatic_last_n_bars_pre_eval_03//f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-3)))
87+
bar04_type := automatic_last_n_bars_pre_eval_04//f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-4)))
88+
bar05_type := automatic_last_n_bars_pre_eval_05//f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-5)))
89+
bar06_type := automatic_last_n_bars_pre_eval_06//f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-6)))
90+
bar07_type := automatic_last_n_bars_pre_eval_07//f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-7)))
91+
bar08_type := automatic_last_n_bars_pre_eval_08//f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-8)))
92+
bar09_type := automatic_last_n_bars_pre_eval_09//f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-9)))
93+
bar10_type := automatic_last_n_bars_pre_eval_10//f_enum_type_by_idx(f_ident_bar(max(0, n_bars_in_pattern-10)))
6694

6795
f_get_nbar_type(_i)=>(_i==1?bar01_type:(_i==2?bar02_type:(_i==3?bar03_type:(_i==4?bar04_type:(_i==5?bar05_type:(_i==6?bar06_type:(_i==7?bar07_type:(_i==8?bar08_type:(_i==9?bar09_type:(_i==10?bar10_type:na))))))))))
6896
f_check_nbar(_i, _pos)=>f_enum_BarPattern(f_enum_type(f_get_nbar_type(_i)), _pos)

0 commit comments

Comments
 (0)