チャネルブレイクアウトbotコード(by スナフキン氏)読解メモ1

勉強のため、スナフキン氏( https://twitter.com/snufkin0866 )のチャネルブレイクアウトbotコードを読解したメモを残していきます。
様々なbotトレーダがいますが、スナフキン氏は安定して稼いでいるので尊敬です。
おそらく今動かされているbotはmmだと思いますが、以前blogにあげられていたチャネルブレイクアウトbotのコード( https://sshuhei.com/entry/channelbreakout/ )を勉強の題材にさせていただきます。
(1記事につき、15分程度で読解できた分だけ書きます。飽き性につき長くやると飽きるので。)

※「クラス」や「メソッド」の解説は書きません。
pythonなので、Classで始まっている区画をクラス、defで始まっている区画をメソッドと呼んでいる、
クラスにはメソッドが単数ないし複数所属している、
メソッドには実行したい処理が書かれている、
という認識くらいでいいかもしれません。

import pybitflyer
import json
import requests
import csv
import math
import pandas as pd
import time
import requests
import datetime
from pubnub.callbacks import SubscribeCallback
from pubnub.enums import PNStatusCategory
from pubnub.pnconfiguration import PNConfiguration
from pubnub.pubnub_tornado import PubNubTornado
from pubnub.pnconfiguration import PNReconnectionPolicy
from tornado import gen
import threading
from collections import deque

import文たち。このファイルに書かれていないコードを利用する場合に書かれる文たちです。
pybitflyer使ってますね。python使ってbitflyerで取引する場合はこれを使うのが楽です。
https://github.com/yagays/pybitflyer

from hoge import fuga

という書き方をすると、hogeパッケージのfugaメソッドなりfugaクラスなりを使いますという宣言ができます。
pubnubを使っていますね。pubnubは廃止を検討中のようなので、今ならwebsocketを使うのがよいでしょう。
https://lightning.bitflyer.com/docs?lang=ja#json-rpc-2.0-over-websocket

クラスが2つあります。

class ChannelBreakOut:
class Order:

ざっくりいうと、
ChannelBreakOutにはチャネルブレイクアウトトレードのロジック、
Orderには一般的なbitflyerでの注文にかかわる処理が入っています。
Order内のメソッドはチャネルブレイクアウトに依存しない処理群なので他のbitflyer取引botにも使えると思います。

ChannelBreakOutクラスでOrderクラスのメソッドを使っているので、Orderから見ていきます。
メソッドが5つあります。

15分経ったのでおわり。続きはまた今度。

この記事が気に入ったらサポートをしてみませんか?