質問編集履歴
3
コードブロックに整理
title
CHANGED
File without changes
|
body
CHANGED
@@ -15,45 +15,13 @@
|
|
15
15
|
```
|
16
16
|
|
17
17
|
ここに質問の内容を詳しく書いてください。
|
18
|
-
(例)PHP(CakePHP)で●●なシステムを作っています。
|
19
|
-
■■な機能を実装中に以下のエラーメッセージが発生しました。
|
20
18
|
cloud9のPython3でif関数のエラーが発生しました。
|
21
19
|
### 発生している問題・エラーメッセージ
|
22
20
|
```ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
|
23
21
|
|
24
22
|
|
25
23
|
### 該当のソースコード
|
26
|
-
```def calcIndicator():
|
27
|
-
global GLB_indicator
|
28
|
-
global GLB_order_signal
|
29
|
-
|
30
|
-
|
31
|
-
## テクニカル分析変数の準備
|
32
|
-
candles = getCandles(GLB_config['candleTimeFrame'])
|
33
|
-
high_piddle = np.array([ohlcv[H] for ohlcv in candles], dtype='f8')
|
34
|
-
low_piddle = np.array([ohlcv[L] for ohlcv in candles], dtype='f8')
|
35
|
-
close_piddle = np.array([ohlcv[C] for ohlcv in candles], dtype='f8')
|
36
|
-
volume_piddle = np.array([ohlcv[V] for ohlcv in candles], dtype='f8')
|
37
|
-
|
38
|
-
|
39
|
-
##ATRを求める
|
40
|
-
GLB_indicator['ATR'] = ta.ATR(high_piddle, low_piddle, close_piddle)
|
41
|
-
|
42
|
-
##highestを求める
|
43
|
-
price_highest = ta.MAX(close_piddle, timeperiod=GLB_STconfig['TERM_EST'])
|
44
|
-
|
45
|
-
##lowestを求める
|
46
|
-
price_lowest = ta.MIN(close_piddle, timeperiod=GLB_STconfig['TERM_EST'])
|
47
|
-
|
48
|
-
##hilimtを求める
|
49
|
-
hilimit = price_highest[-1]-(GLB_indicator['ATR'][-1]*3)
|
50
|
-
|
51
|
-
##lolimtを求める
|
52
|
-
lolimit = price_lowest[-1]+(GLB_indicator['ATR'][-1]*3)
|
53
|
-
|
54
|
-
## SMA_M を求める
|
55
|
-
|
56
|
-
|
24
|
+
```if (close_piddle > hilimit and close_piddle > lolimit):
|
57
25
|
GLB_indicator['SMA_M'] = hilimit
|
58
26
|
|
59
27
|
elif(close_piddle < lolimit and close_piddle < hilimit):
|
@@ -61,39 +29,5 @@
|
|
61
29
|
|
62
30
|
else:
|
63
31
|
GLB_indicator['SMA_M'] = hilimit
|
64
|
-
|
65
|
-
## SMA_S を求める
|
66
|
-
GLB_indicator['SMA_S'] = ta.SMA(close_piddle, timeperiod=GLB_STconfig['TERM_S'])
|
67
|
-
|
68
|
-
## debug
|
69
|
-
logger.debug('Indicator OHLCV=' + str(candles[-1]))
|
70
|
-
logger.debug('Indicator SMA_S=' + str(GLB_indicator['SMA_S'][-6:]))
|
71
|
-
logger.debug('Indicator SMA_M=' + str(GLB_indicator['SMA_M']))
|
72
|
-
|
73
|
-
GLB_order_signal = OrderSignal.NONE
|
74
|
-
|
75
|
-
|
76
32
|
コード
|
77
|
-
```
|
33
|
+
``````
|
78
|
-
|
79
|
-
|
80
|
-
### 試したこと
|
81
|
-
翻訳: ValueError:複数の要素を持つ配列の真理値はあいまいです。 a.any()またはa.all()を使用して、
|
82
|
-
|
83
|
-
ここに問題に対して試したことを記載してください。
|
84
|
-
翻訳してみましたが、初心者なのでよくわかりません。
|
85
|
-
### 補足情報(FW/ツールのバージョンなど)
|
86
|
-
cloud9 TA-lib
|
87
|
-
ここにより詳細な情報を記載してください。
|
88
|
-
if関数の部分がエラーとなりました。
|
89
|
-
``` if (close_piddle > hilimit and close_piddle > lolimit):
|
90
|
-
GLB_indicator['SMA_M'] = hilimit
|
91
|
-
|
92
|
-
elif(close_piddle < lolimit and close_piddle < hilimit):
|
93
|
-
GLB_indicator['SMA_M'] = lolimit
|
94
|
-
|
95
|
-
else:
|
96
|
-
GLB_indicator['SMA_M'] = hilimit
|
97
|
-
|
98
|
-
コード
|
99
|
-
```
|
2
コードブロックに入れ直しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -23,7 +23,37 @@
|
|
23
23
|
|
24
24
|
|
25
25
|
### 該当のソースコード
|
26
|
+
```def calcIndicator():
|
27
|
+
global GLB_indicator
|
28
|
+
global GLB_order_signal
|
29
|
+
|
30
|
+
|
31
|
+
## テクニカル分析変数の準備
|
32
|
+
candles = getCandles(GLB_config['candleTimeFrame'])
|
33
|
+
high_piddle = np.array([ohlcv[H] for ohlcv in candles], dtype='f8')
|
34
|
+
low_piddle = np.array([ohlcv[L] for ohlcv in candles], dtype='f8')
|
35
|
+
close_piddle = np.array([ohlcv[C] for ohlcv in candles], dtype='f8')
|
36
|
+
volume_piddle = np.array([ohlcv[V] for ohlcv in candles], dtype='f8')
|
37
|
+
|
38
|
+
|
39
|
+
##ATRを求める
|
40
|
+
GLB_indicator['ATR'] = ta.ATR(high_piddle, low_piddle, close_piddle)
|
41
|
+
|
42
|
+
##highestを求める
|
43
|
+
price_highest = ta.MAX(close_piddle, timeperiod=GLB_STconfig['TERM_EST'])
|
44
|
+
|
45
|
+
##lowestを求める
|
46
|
+
price_lowest = ta.MIN(close_piddle, timeperiod=GLB_STconfig['TERM_EST'])
|
47
|
+
|
48
|
+
##hilimtを求める
|
49
|
+
hilimit = price_highest[-1]-(GLB_indicator['ATR'][-1]*3)
|
50
|
+
|
51
|
+
##lolimtを求める
|
52
|
+
lolimit = price_lowest[-1]+(GLB_indicator['ATR'][-1]*3)
|
53
|
+
|
54
|
+
## SMA_M を求める
|
55
|
+
|
26
|
-
|
56
|
+
if (close_piddle > hilimit and close_piddle > lolimit):
|
27
57
|
GLB_indicator['SMA_M'] = hilimit
|
28
58
|
|
29
59
|
elif(close_piddle < lolimit and close_piddle < hilimit):
|
@@ -31,9 +61,22 @@
|
|
31
61
|
|
32
62
|
else:
|
33
63
|
GLB_indicator['SMA_M'] = hilimit
|
64
|
+
|
65
|
+
## SMA_S を求める
|
66
|
+
GLB_indicator['SMA_S'] = ta.SMA(close_piddle, timeperiod=GLB_STconfig['TERM_S'])
|
67
|
+
|
68
|
+
## debug
|
69
|
+
logger.debug('Indicator OHLCV=' + str(candles[-1]))
|
70
|
+
logger.debug('Indicator SMA_S=' + str(GLB_indicator['SMA_S'][-6:]))
|
71
|
+
logger.debug('Indicator SMA_M=' + str(GLB_indicator['SMA_M']))
|
34
72
|
|
73
|
+
GLB_order_signal = OrderSignal.NONE
|
35
74
|
|
36
75
|
|
76
|
+
コード
|
77
|
+
```
|
78
|
+
|
79
|
+
|
37
80
|
### 試したこと
|
38
81
|
翻訳: ValueError:複数の要素を持つ配列の真理値はあいまいです。 a.any()またはa.all()を使用して、
|
39
82
|
|
@@ -41,4 +84,16 @@
|
|
41
84
|
翻訳してみましたが、初心者なのでよくわかりません。
|
42
85
|
### 補足情報(FW/ツールのバージョンなど)
|
43
86
|
cloud9 TA-lib
|
44
|
-
ここにより詳細な情報を記載してください。
|
87
|
+
ここにより詳細な情報を記載してください。
|
88
|
+
if関数の部分がエラーとなりました。
|
89
|
+
``` if (close_piddle > hilimit and close_piddle > lolimit):
|
90
|
+
GLB_indicator['SMA_M'] = hilimit
|
91
|
+
|
92
|
+
elif(close_piddle < lolimit and close_piddle < hilimit):
|
93
|
+
GLB_indicator['SMA_M'] = lolimit
|
94
|
+
|
95
|
+
else:
|
96
|
+
GLB_indicator['SMA_M'] = hilimit
|
97
|
+
|
98
|
+
コード
|
99
|
+
```
|
1
内容の修正をしました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,17 +1,29 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
|
+
下記のPINEエディタをPythonに変換。
|
3
|
+
```study(title="Trend Trader", overlay = true)
|
4
|
+
Length = input(21, minval=1),
|
5
|
+
Multiplier = input(3, minval=1)
|
6
|
+
avgTR = wma(atr(1), Length)
|
7
|
+
highestC = highest(Length)
|
8
|
+
lowestC = lowest(Length)
|
9
|
+
hiLimit = highestC[1]-(avgTR[1] * Multiplier)
|
10
|
+
loLimit = lowestC[1]+(avgTR[1] * Multiplier)
|
11
|
+
ret = iff(close > hiLimit and close > loLimit, hiLimit,
|
12
|
+
iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0)))
|
13
|
+
plot(ret, color= blue , title="Trend Trader")
|
14
|
+
コード
|
15
|
+
```
|
2
16
|
|
3
17
|
ここに質問の内容を詳しく書いてください。
|
4
18
|
(例)PHP(CakePHP)で●●なシステムを作っています。
|
5
19
|
■■な機能を実装中に以下のエラーメッセージが発生しました。
|
6
20
|
cloud9のPython3でif関数のエラーが発生しました。
|
7
21
|
### 発生している問題・エラーメッセージ
|
8
|
-
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
|
22
|
+
```ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
|
9
|
-
```
|
10
|
-
エラーメッセージ
|
11
|
-
```
|
12
23
|
|
24
|
+
|
13
25
|
### 該当のソースコード
|
14
|
-
if (close_piddle > hilimit and close_piddle > lolimit):
|
26
|
+
```if (close_piddle > hilimit and close_piddle > lolimit):
|
15
27
|
GLB_indicator['SMA_M'] = hilimit
|
16
28
|
|
17
29
|
elif(close_piddle < lolimit and close_piddle < hilimit):
|
@@ -20,18 +32,6 @@
|
|
20
32
|
else:
|
21
33
|
GLB_indicator['SMA_M'] = hilimit
|
22
34
|
|
23
|
-
```ここに言語名を入力
|
24
|
-
python3
|
25
|
-
ソースコード
|
26
|
-
```
|
27
|
-
if (close_piddle > hilimit and close_piddle > lolimit):
|
28
|
-
GLB_indicator['SMA_M'] = hilimit
|
29
|
-
|
30
|
-
elif(close_piddle < lolimit and close_piddle < hilimit):
|
31
|
-
GLB_indicator['SMA_M'] = lolimit
|
32
|
-
|
33
|
-
else:
|
34
|
-
GLB_indicator['SMA_M'] = hilimit
|
35
35
|
|
36
36
|
|
37
37
|
### 試したこと
|
@@ -40,5 +40,5 @@
|
|
40
40
|
ここに問題に対して試したことを記載してください。
|
41
41
|
翻訳してみましたが、初心者なのでよくわかりません。
|
42
42
|
### 補足情報(FW/ツールのバージョンなど)
|
43
|
-
cloud9
|
43
|
+
cloud9 TA-lib
|
44
44
|
ここにより詳細な情報を記載してください。
|