Yodaka

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

Bot

2023/10/3

仮想通貨botの開発を本格的に始めてみる#22(2023/10/1)

前回の内容に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回はこちらの記事を参考にして、「ドンチャン・チャネル・ブレイクアウトのバックテスト検証」を行いました。 宿題:平均保有期間の追記 こちらの記事を参考にして「平均保有期間」も算出できるようにコードを書き換えました。 flag変数に買いと売りの保有期間を示す変数を追加しました。 その変数を集計用の関数とコンソール出力用の関数にそれぞれ組み込んで完成です。 ドンチャン・チャネル・ブレイクアウトとは ブレイクアウトとは、過去の一定期間にお ...

Bot

2023/9/28

仮想通貨botの開発を本格的に始めてみる#21(2023/9/28)

前回の内容に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回はこちらの記事を参考に「バックテストでbotの勝率・平均リターン・総利益を算出する」ことがテーマです。 今回使用するコードは大変長いため、つまずいた部分や深掘りした部分のみ取り上げています。 バックテストとは バックテストとは「過去のデータを使って検証を行うこと」です。 今回はCryptowatchの過去データを使って、三兵の売買ロジックの検証をします。 コードの一部を書き換えて出力される結果を確認するという流れになります。 出 ...

Bot

2023/9/24

仮想通貨botの開発を本格的に始めてみる#20(2023/9/23)

前回の内容に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回から「バックテストで勝率の検証をする」ことをテーマに学習を進めていきます。 参考にしたのはこちらの記事です。 勝率とは 勝率を考える上で重要な指標は「トレードの回数を増やすことができるか」「勝ち負けの差し引きで期待値を算出する」「1回のトレードで使った金額に対して平均して何%のリターンを得られるか」「トレードの結果、軍資金が何倍になったか」「最大でどれくらいまで軍資金を減らしたか」の5つです。 bot運用において、少なくともこれ ...

Bot

2023/9/24

仮想通貨botの開発を本格的に始めてみる#19(2023/9/23)

前回の内容に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回はこちらの記事を参考にして「売買の状況をLINEに通知させる」をテーマに学習を進めていきます。 下準備 ここからはLINEのアカウントを持っていることを前提に作業を進めていきます。 まずは、LINE Notifyのサイトへアクセスしてログイン。 続いて、アクセストークンを発行します。 マイページ > トークンを発行する > トークン名、トークルームを設定 > 発行するを選択。 ここで表示されるランダムな文字列が ...

Bot

2023/9/23

仮想通貨botの開発を本格的に始めてみる#18(2023/9/22)

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回は、こちらの記事を参考にして「botの稼働状況を監視する」をテーマに学習を進めていきます。 やることは「ログをファイルに書き出す」「そのファイルをメールで送る」です。 下準備 まずは、前回設定した外部サーバーにccxtライブラリをインポートします。 参考にしたのは、こちらの記事です。 この作業は特に問題なくサクサク進みました。 すでに作成していた三兵のコードも問題なく稼働しています。 指し値注文から約定までも正常に稼働しています ...

Bot

2023/9/20

仮想通貨botの開発を本格的に始めてみる#17(2023/9/19)

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 前回までの内容で「仮想通貨botの試作品を実行する」ところまで進めてきました。 今回はこちらの記事を参考に「レンタルサーバーを利用して24時間稼働するbot環境を整える」をテーマに学習を進めていきます。 また、私はMacを使用しているため、同じような条件の下で環境構築を解説しているこちらの記事も参考にしました。 VPSとは VPSとはVirtual Private Server(バーチャルプライベートサーバー)の略語で、翻訳すると「 ...

Bot

2023/9/18

仮想通貨botの開発を本格的に始めてみる#16(2023/9/18)

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 前回までの学習で「bitFlyerで三兵のシグナルを検証して自動売買を行うbot」を完成させることができました。 今回は、サーバーエラー対策のコードを組み込んで、安定して稼働するbotに仕上げていきます。 参考にしたのはこちらの記事です。 例外処理 今回の目的は「bitFlyerでサーバーエラーが発生した時の対処法をコードに組み込む」ことです。 エラーが出てしまうと、botは止まってしまいます。 そこで、想定されるエラー(=例外)を ...

Bot

2023/9/18

仮想通貨botの開発を本格的に始めてみる#15(2023/9/17)

前回の記事に引き続き、今回も仮想通貨bot開発の状況をまとめていきます。 今回参考にした記事はこちら。 これまでの学習で「売買ロジックの定義」と「テスト検証」が完了しています。 いよいよ、「自動売買をするbotの試作版」を作っていきます。 余談:ChatGPTでコード改良 ChatGPTを使って、エラー修正を試みました。 上記↑の指示を打ち込むと、以下↓のように修正版のコードを書いてくれました。 無事に機能するコードができたため、今後どうしても理解できないことは、AIの力を借りることも選択肢に入れておきま ...

Bot

2023/9/17

仮想通貨botの開発を本格的に始めてみる#14(2023/9/16)

前回の内容に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回は、こちらの記事を参考にして「エントリーと手仕舞いを自動化するプログラム」を作ります。 この記事ではその前段階として「過去データを使ってロジックの検証をすること」がテーマです。 ロジックの定義 エントリーの条件は「陽線が3本連続した時」にしてあります。 そして、手仕舞いの条件は「現在の終値が、前回の終値を下回った時に、成り行きで売却する」と設定します。 つまり、「買いでエントリーしたらポジションが上がる限りは持ち続けて、下げに転 ...

Bot

2023/9/13

仮想通貨botの開発を本格的に始めてみる#13(2023/9/13)

前回の内容に引き続き、仮想通貨botの開発状況をまとめていきます。 前回は「買いシグナルの点灯」ができるようになりました。 今回はこちらの記事を参考にして、過去の価格データを使ってコードが正しく動くかどうかを検証する方法を学んでいきます。 実行するコードもかなり長くなってきたため、新しく分かったことや躓いたこととそれへの対策を中心にまとめていきます。 目的の定義 今回の目的は「bitFlyerの過去データを用いて、赤三兵の買いシグナルを点灯させるコードが正しく動くかどうかを確認すること」です。 検証に使う ...