回答編集履歴
1
予めsmaを演算しておくように修正
test
CHANGED
@@ -5,12 +5,16 @@
|
|
5
5
|
data_frame[1, :B_1] = NaN;
|
6
6
|
data_frame[!, :B_2] = circshift(data_frame[!, :B], 2);
|
7
7
|
data_frame[1:2, :B_2] .= NaN;
|
8
|
+
data_frame[!, :SMA] = (data_frame[!, :B_2] + data_frame[!, :B_1]) .* 0.5;
|
8
9
|
|
9
|
-
function my_cond(b,
|
10
|
+
function my_cond(b, c1, sma)
|
11
|
+
ifelse.(c1 .== "A",
|
10
|
-
|
12
|
+
b .> 0.5 .&& sma .> 0.3,
|
13
|
+
ifelse.(c1 .== "B",
|
11
|
-
|
14
|
+
b .> 0.3 .&& sma .> 0.1,
|
15
|
+
false))
|
12
16
|
end
|
13
17
|
|
14
|
-
df_filte
|
18
|
+
df_filt_view = filter([:B, :C_1, :SMA] => my_cond, data_frame)
|
15
19
|
```
|
16
20
|
|