マガジンのカバー画像

スナフキンnote

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

#python

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 スナフキン氏)読解メモ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 スナフキン氏)読解メモ13

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

fromListToDFメソッドの続きです。

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

もっとみる

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

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

fromListToDFメソッドの続きです。

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

もっとみる

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

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

processCandleStickメソッドの続きから。

def processCandleStick(self, candleStick, timeScale): """ 1分足データから各時間軸のデータを作成.timeScaleには5T(5分),H(1時間)などの文

もっとみる

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

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

calculateLinesメソッドの続きから。def calculateLines(self, df_candleStick, term): """ 期間高値・安値を計算する. candleStickはcryptowatchのローソク足.termは安値,高値を計算する

もっとみる

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

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

# 直近約定件数30件の高値と安値 high = max([self.executions[-1 - i]["price"] for i in range(30)]) low = min([self.executions[-1 - i][

もっとみる

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

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

# 直近約定件数30件の高値と安値 high = max([self.executions[-1 - i]["price"] for i in range(30)]) low = min([self.executi

もっとみる

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

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

# 現在レンジ相場かどうか. isRange = self.isRange(df_candleStick, rangeTerm, rangeTh)

isRangeメソッドを呼んでいます。

def isRange(self

もっとみる

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

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

calculatePriceRangeメソッドの続きから。

def calculatePriceRange(self, df_candleStick, term): """ termの期間の値幅を計算. """ low = [

もっとみる

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

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

isRangeメソッドの続きから。

def isRange(self, df_candleStick, term, th): """ レンジ相場かどうかをTrue,Falseの配列で返す.termは期間高値・安値の計算期間. th

もっとみる