マガジンのカバー画像

スナフキンnote

43
運営しているクリエイター

記事一覧

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

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

もっとみる

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

のつづきです。
題材コードは https://sshuhei.com/entry/channelbreakout/ です

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

def limit(self, side, price, size, minute_to_expire=None):

def mark

もっとみる

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

の続きです。
題材コードは https://sshuhei.com/entry/channelbreakout/ です。

ChannelBreakOutクラスの読解を行う前に、このクラスがどう使われているか確認します。

# 実働# channelBreakOut.loop(channelBreakOut.entryTerm, channelBreakOut.closeTerm, channel

もっとみる

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

の続きです。
題材コードは https://sshuhei.com/entry/channelbreakout/ です。

executionsProcessメソッドはコメントの通りpubnub通信で価格を取得する処理が書かれています。
「基本的に不要」という言葉の真意は今のところわかりません。
コードを読み進めるとわかるのかもしれません。
なお、bitflyerのAPIリファレンスによるとpub

もっとみる

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

の続きです。
題材コードは https://sshuhei.com/entry/channelbreakout/ です。

pubnubThread = threading.Thread(target=pubnub.start)pubnubThread.start()

threadingは並列処理のための実装です。
pubnubで価格を取得しながら取引するための処理です。
targetにthre

もっとみる

bitflyer FXで特定の証拠金維持率を満たす建玉数量を算出するコード

bitflyer FXで特定の証拠金維持率を満たす建玉数量を算出する必要があって書いたので置いておきます。
python3.6で動作確認済です。

預入証拠金・約定価格・証拠金維持率を固定して建玉数量を算出します。

各パラメータを変えてコメントアウト外したりすれば別の計算もできるはず。

参考: https://lightning.bitflyer.com/about-fx

# coding:

もっとみる

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

の続きです。
題材コードは https://sshuhei.com/entry/channelbreakout/ です。

# ローソク足の時間を指定periods = [period]

ローソク足の時間を設定してます。
配列に入れるということは複数指定できるのかもしれません。

# クエリパラメータを指定query = {"periods": ','.join(periods)}# ローソク足

もっとみる

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

の続きです。
題材コードは https://sshuhei.com/entry/channelbreakout/ です。

row = res[i]length = len(row)

rowにはcryptowatchAPIレスポンスのi秒足(例えば60秒足=1分足)データが入っています。
lenでrowの配列の長さを取得します。
この「配列の長さ」はrowにローソク足が何本入っているかを意味しま

もっとみる

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

の続きです。
題材コードは https://sshuhei.com/entry/channelbreakout/ です。

for column in row[:length - (number + 1):-1]:

row配列の後ろから順番にnumber個分の要素を取得してforブロックの処理を実行します。

# dataへローソク足データを追加.if column[4] != 0: co

もっとみる

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

の続きです。
題材コードは https://sshuhei.com/entry/channelbreakout/ です。

if candleTerm == None: df_candleStick = self.fromListToDF(candleStick)else: df_candleStick = self.processCandleStick(candleStick, cand

もっとみる

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

の続きです。
題材コードは https://sshuhei.com/entry/channelbreakout/ です。

fromListToDFメソッドの続きです。

def fromListToDF(self, candleStick): """ Listのローソク足をpandasデータフレームへ. """ date = [price[0] for price in candleSt

もっとみる