質問編集履歴

3

エラー文の追加

2021/04/17 03:44

投稿

Na3430mls
Na3430mls

スコア3

test CHANGED
File without changes
test CHANGED
@@ -232,6 +232,18 @@
232
232
 
233
233
  get_balance()
234
234
 
235
-
236
-
237
235
  ```
236
+
237
+
238
+
239
+
240
+
241
+ ```エラー文
242
+
243
+ if balance ["amount"] == 0:
244
+
245
+ TypeError: string indices must be integers
246
+
247
+
248
+
249
+ ```

2

情報の追加

2021/04/17 03:44

投稿

Na3430mls
Na3430mls

スコア3

test CHANGED
File without changes
test CHANGED
@@ -20,6 +20,16 @@
20
20
 
21
21
 
22
22
 
23
+ *追記情報*
24
+
25
+ HTMLのformからvalueを受けとって、受け取った値によって条件分岐させる構造です。
26
+
27
+ get_balanceという関数を同ファイルに書いて、イベントが起こった時に呼び出す形になっています。
28
+
29
+ データを取得に成功したらHTMLに表示させるつもりなので、取得した値は変数に入れたいです。
30
+
31
+
32
+
23
33
  ```Python
24
34
 
25
35
  import pybitflyer
@@ -70,4 +80,158 @@
70
80
 
71
81
  print("=================================================")
72
82
 
83
+
84
+
85
+
86
+
87
+
88
+
89
+ ``````Python
90
+
91
+ コード
92
+
73
93
  ```
94
+
95
+
96
+
97
+ import pybitflyer
98
+
99
+ from flask import Flask, render_template,request
100
+
101
+ import time
102
+
103
+ from datetime import datetime
104
+
105
+ import json
106
+
107
+ from dateutil import parser
108
+
109
+ from pytz import timezone
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+ BASE_URL ="https://api.bitflyer.jp"
118
+
119
+ url = BASE_URL + "POST /v1/me/sendchildorder"
120
+
121
+
122
+
123
+ API_KEY = ""
124
+
125
+ API_SECRET =""
126
+
127
+ api = pybitflyer.API(API_KEY,API_SECRET)
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+ nounce =str(int(time.time()))
136
+
137
+
138
+
139
+ app = Flask(__name__)
140
+
141
+
142
+
143
+ #残高を取得する関数
144
+
145
+ def get_balance():
146
+
147
+
148
+
149
+ BALANCE_KEYS =["currency_code",
150
+
151
+ "amount",
152
+
153
+ "available"]
154
+
155
+
156
+
157
+ balances =api.getbalance(product_code="BTC_JPY")
158
+
159
+
160
+
161
+ for balance in balances:
162
+
163
+ if balance ["amount"] == 0:
164
+
165
+ continue
166
+
167
+ for balance_key in BALANCE_KEYS:
168
+
169
+ print(balance_key + " : " + str(balance[balance_key]))
170
+
171
+ print("=================================================")
172
+
173
+
174
+
175
+
176
+
177
+ @app.route("/order",methods=["POST"])
178
+
179
+ #受け取った値に応じて関数を呼び出し
180
+
181
+ def receive_market():
182
+
183
+ order_type = request.form.get('order_type')
184
+
185
+ if order_type == "buy_market":
186
+
187
+ #成行買い
188
+
189
+ buy_btc=api.sendchildorder(
190
+
191
+
192
+
193
+ product_code ="XRP_JPY",
194
+
195
+ child_order_type="MARKET",
196
+
197
+ side="BUY",
198
+
199
+ size=0.1,
200
+
201
+ minute_to_expire=1000,
202
+
203
+ time_in_force="GTC"
204
+
205
+ )
206
+
207
+
208
+
209
+ elif order_type == "sell_market":
210
+
211
+ #成行売り
212
+
213
+ sell_btc=api.sendchildorder(
214
+
215
+
216
+
217
+ product_code ="XRP_JPY",
218
+
219
+ child_order_type="MARKET",
220
+
221
+ side="SELL",
222
+
223
+ size=0.1,
224
+
225
+ minute_to_expire=1000,
226
+
227
+ time_in_force="GTC"
228
+
229
+
230
+
231
+ elif order_type =="get_balance":
232
+
233
+ get_balance()
234
+
235
+
236
+
237
+ ```

1

情報の追加

2021/04/17 03:41

投稿

Na3430mls
Na3430mls

スコア3

test CHANGED
File without changes
test CHANGED
@@ -15,6 +15,8 @@
15
15
  どのように書き換えれば、保有しているコインの情報だけを(amountが0でない)要素を取得できるでしょうか。
16
16
 
17
17
  開発環境はpython3.8.8です。jupyter notebookを使って書いていますが、Flaskを使ってWebアプリケーション形式にすることを想定しています。
18
+
19
+ 個人情報保護のため、API_KEYとSECRETは削除しています!
18
20
 
19
21
 
20
22