Channel Breakout Bot for bitflyer-FX (by Connie-Wild氏)読解メモ44
の続きです。
題材は https://github.com/Connie-Wild/ChannelBreakoutBot です。
describeメソッドの続きから。
if useBlackList:
bl = read_blacklist()
co = bl.columns.values
is_blacklist = ((bl[co[0]] == m) &
(eq(bl[co[1]], i[0])) &
(eq(bl[co[2]], i[1])) &
(eq(bl[co[3]], j[0])) &
(eq(bl[co[4]], j[1])) &
(eq(bl[co[5]], k[1])) &
(eq(bl[co[6]], k[0])) &
(eq(bl[co[7]], l[0])) &
(eq(bl[co[8]], l[1]))).any()
前回に引き続きi,j,k,lに入る要素について勉強しています。
import itertools
config = {
"linePattern": "FIX",
"termUpper": 10,
"entryAndCloseTerm": [[2, 2], [3, 2], [2, 3], [3, 3], [4, 2], [2, 4],
[4, 3], [3, 4], [4, 4], [5, 2], [2, 5], [5, 3],
[3, 5], [5, 4], [4, 5], [5, 5], [10, 10]],
"rangeThAndrangeTerm": [[None, 3], [5000, 3], [10000, 3], [None, 5],
[5000, 5], [10000, 5], [None, 10], [5000, 10],
[10000, 10], [None, 15], [5000, 15], [10000, 15],
[None, None]],
"waitTermAndwaitTh": [[0, 0], [3, 10000], [3, 15000], [3, 20000],
[5, 10000], [5, 15000], [5, 20000], [10, 10000],
[10, 15000], [10, 20000], [15, 10000], [15, 15000],
[15, 20000]],
"rangePercentList": [[None, None], [1.5, 5], [2, 5], [2.5, 5]],
"candleTerm": [1, 3, 5, 10, 15, 30, 45, 60]
}
entryAndCloseTerm = config["entryAndCloseTerm"]
rangeThAndrangeTerm = config["rangeThAndrangeTerm"]
waitTermAndwaitTh = config["waitTermAndwaitTh"]
rangePercentList = config["rangePercentList"]
linePattern = config["linePattern"]
termUpper = config["termUpper"]
candleTerm = config["candleTerm"]
params = []
for i, j, k, l, m in itertools.product(entryAndCloseTerm, rangeThAndrangeTerm,
waitTermAndwaitTh, rangePercentList,
candleTerm):
print(i)
print(j)
print(k)
print(l)
print(m)
試しに上記を書いて実行してみると、
[2, 2]
[None, 3]
[0, 0]
[None, None]
1
[2, 2]
[None, 3]
[0, 0]
[None, None]
3
[2, 2]
[None, 3]
[0, 0]
[None, None]
5
[2, 2]
[None, 3]
[0, 0]
[None, None]
10
...
といった形で出力されます。
configで設定した値の組み合わせが出力されていることになります。
[2, 2]
[None, 3]
[0, 0]
[None, None]
1
で一塊の設定群です。
なのでこの場合で下記コードだと
if useBlackList:
bl = read_blacklist()
co = bl.columns.values
is_blacklist = ((bl[co[0]] == m) &
(eq(bl[co[1]], i[0])) &
(eq(bl[co[2]], i[1])) &
(eq(bl[co[3]], j[0])) &
(eq(bl[co[4]], j[1])) &
(eq(bl[co[5]], k[1])) &
(eq(bl[co[6]], k[0])) &
(eq(bl[co[7]], l[0])) &
(eq(bl[co[8]], l[1]))).any()
i[0]は2、
i[1]は2、
j[0]はNone、
j[1]は3、
k[1]は0、
k[0]は0、
l[0]はNone、
l[1]はNone、
となります。
15分経ったので今日はここまで。
↓次
この記事が気に入ったらサポートをしてみませんか?