Yodaka

yodaka(よだか)です。2021年から仮想通貨を触っています。Bot開発もしています。

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#32(2023/11/16)「MMbotの構造解析②」

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 本記事は、MMBotのコード解析をChatGPTにさせた上で執筆した内容です。 参考にした記事はこちらです。 それでは早速、コードの解説に移っていきましょう。 指値注文する関数 # 指値注文する関数 def limit(side, size, price): while True: try: value = bitflyer.create_order(PAIR, type = 'limit', side = side, amount ...

Bot

2023/12/17

仮想通貨botの開発を本格的に始めてみる#31(2023/11/15)「MMBotの構造解析①」

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回は、前回の記事で省略していた関数の詳細な解説を具体例を挙げながらまとめていきます。 参考にしたのはこちらの記事です。 口座残高を参照する関数 # JPY残高を参照する関数 def get_asset(): while True: try: value = bitflyer.fetch_balance() break except Exception as e: logger.info(e) time.sleep(1) retur ...

Bot

2025/3/9

仮想通貨botの開発を本格的に始めてみる#30(2023/11/13)「MMBotの開発に着手する:ソースコードの構造解析:準備編」

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回から、MMBotの開発を進めていきます。 参考にした記事はこちら。「Python3 MarketMaker(MM)BOTのサンプルロジックとソースコード」です。 ソースコードの解析 ChatGPTを使って、ソースコードの解析をしました。 1.ライブラリのインポートとAPIキーの設定 import datetime import time import ccxt bitflyer = ccxt.bitflyer({ 'apiKey ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#29(2023/11/8)「1分ローソク足データ生成ver.3」

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回のテーマは「1分足の生成コードを修正する」です。 1分足データを生成するコード(修正版) 今まで使用していたコードでは、接続エラーで止まってしまうことがありました。 そのため、保険的に「接続エラーが出た時にそれを回避する方法」を取り入れました。 今回の修正点は「API接続にエラーが出た際にリトライする」機能を入れたことです。 以下のコードで、bitFlyerのAPIからビットコインFXのローソク足(1分足)を生成することができま ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#28(2023/11/7)「バックテストとローソク足(1分)の取得&データ生成(修正版)」

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回の記事の後半では「bitFlyerの約定履歴からローソク足(1分足)を生成するコード(修正版)」も載せてあります。 Cryptowatchが使えなくなって困っている方の参考になれば幸いです。 バックテストと視覚化 以下のコードはドンチャンブレイクアウトのバックテストをできる限りシンプルに行えるようにするためのものです。 import json from datetime import datetime import matplo ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#27 (2023/11/4)「ローソク足データ生成(改)」

前回の記事に引き続き、今回も仮想通貨ボットの開発状況をまとめていきます。 以前より、生成したローソク足データの読み込みでエラーが出ていたので、その原因を突き止めようとしています。 結論としては、データが整理されていないことが原因だったようです。 コードを修正して1分足のデータを保存・更新するようにしました。 ローソク足データ(1分足)の生成 import requests import json from datetime import datetime, timedelta import time # ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#26(2023/11/2)「ドンチャンブレイクアウトのバックテスト(改)」

前回の記事に引き続き、仮想通貨botの開発状況をまとめていきます。 今回参考にしたのはこちらの記事。 掲載されていたコードを土台にしてChatGPTに書き換え指示を出して改良していきました。 BitFlyer FXにおけるバックテストコード bitFlyerのAPI(https://api.bitflyer.com/v1/getexecutions?product_code=FX_BTC_JPY&count=500)を直接叩いて過去500件の約定履歴からローソク足データを形成し、ドンチャンブレイク ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#25(2023/11/1)「価格取得とローソク足生成の実験」

前回の記事に引き続き、仮想通貨botの開発状況をまとめていきます。 今回は、ヒストリカルデータに対応したバックテスト用コードをChatGPTに書かせてみました。 なかなかうまくいかないものですが、開発途中のコードを備忘録として残しておきます。 価格取得用のコード 実際に稼働させつつ、過去データを蓄積するコード。 ビットフライヤーFXのAPIを利用して、1分足・5分足・15分足・1時間足でそれぞれローソク足データを蓄積するためのコードです。 import requests import json from ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#24(2023/10/28)「ドンチャンブレイクアウトのバックテスト&視覚化」

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 バックテストのコードを修正する 以下のコードは、ビットフライヤーFXでのドンチャンブレイクアウトの検証用コードです。 ChatGPTに指示を出して、コードの修正をしました。 出した指示は「ビットフライヤーのAPI」である「https://api.bitflyer.com/v1/getexecutions?product_code=FX_BTC_JPY&count=500を指定すること」と「文字列形式の日時をパースしてUNIX ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#23(2023/10/25)「ローソク足データを取得する」

前回の内容に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回のテーマは「過去の価格データを蓄積する」こと。 参考にしたのはこちらの記事です。 下準備 #20の記事で直面していた「価格データの読み込み」問題は解決しました。 メイン処理を二つ並行して行なっていたことが原因だったようです。 ファイルから読み込む処理だけを稼働させる状態にしてコードを実行したところ、過去データからの取得を元にしてコンソールに情報を表示させることができました。 なぜ、過去のデータの蓄積が必要なのか botを最低限の ...