- 運営しているクリエイター
#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
チャネルブレイクアウトbotコード(by スナフキン氏)読解メモ22
の続きです。
題材コードは https://sshuhei.com/entry/channelbreakout/ です。
try: ticker = self.api.ticker(product_code=self.product_code) except: print("Unknown erro
チャネルブレイクアウトbotコード(by スナフキン氏)読解メモ23
の続きです。
題材コードは https://sshuhei.com/entry/channelbreakout/ です。
loopメソッドの続きから。
# ロングエントリー if judgement[0]: print(datetime.datetime.now())