SFD導入されたので本気出す7
注文IDを保存する
現物はIDもくそもないな、、、
まあいいやFXはともかく記憶する
と思ったけどIFOで注文することにした
注文通らないね
'data': None, 'error_message': 'Invalid signature', 'status': -500
これが糞サーバーってやつか、
ヘッドレスのブラウザで注文しろということか。
マジ糞すぎる。
SFD導入されたので本気出す6
0時から夕方までスプリクト叩いてもいいのだが一応自動で止まってもらう。
まず時間の取得
19時から24時までは止まっといてもらうか。
このへん綺麗に書くのは後で考えるとして。
あと思ったより乖離の平均は0に近いようなので平均をいちいち参照するのはやめよう。
なのでDBに問い合わせる必要がなくなった。
これは相当うれしい。
ポジション取ったら放置する感じにするとして
どのくらい許容するかをちゃんと決める必要があるのだが
とりあえず動かしたいのであとで考えないといけない。
注文部分はかなり難しい、何故ならAPIが糞だから。
注文が上手くいったかどうかの判定すら難しい何故ならAPIが糞だから。
その辺をちゃんと書いてあるのをどっかから探してきて流用しよう。
と思ったけどないなw
自分でちゃんと書けということか?
嫌すぎる、萎えたのでblogはいったん〆
実は手法うんぬんよりその辺の技法(まともな発注部分)のほうがもの現状すごい価値がある。何故ならAPI(ry
SFD導入されたので本気出す5
乖離率を算出する。
データフレームで保存しているのでいったん
numpyのarrayに変える。
bidとaskの平均値にしてさらにスプレッドも計算しておく
平均スプレッド451円らしい。
こうしてみると手数料がやすいなあ、
まあそれがBTC触ってる理由全てなんだけど。
FXのほうがスプレッド高いのね
ビジーな時間帯以外にも急にはねてるとこあるしな。
レバレッジかけずに買うのなら手数料を考慮してもFXじゃないほうがいいのかもね。
一日しか見てないのにっていうツッコミは無しで。
しかしながら外れ値が出てないほうが繰り返し安定している気がする当然ながら夕方は酷そうである。
フィルタとして夕方は取引しないようにするのは有効そうだ。
つづいて乖離率のプロット
取引チャンスはいっぱいありそうだが
大体スプレッドで相殺されてしまう。
夕方以降はまず利益がでないだろう。
早朝から夕方前に動かす感じでそうとうコツコツ積み立てるしかなさそう。
一応2月9日も見る。
大体同じぐらいだな。
0.5を超えてスプレッド安定(平均400以下)してたら入って0で利確するか。
そしたら0.05から0.1ぐらいは儲かるはず。
まあやってみるか。
SFD導入されたので本気出す4
SFD導入されたので本気出す3
ルールをもう一度確認する。
BTCJPYを買い(以下BJ
BTCFXJPYを売る(以下BFJ
スイッチは
乖離のMA(peri=1分間)<(BFJ-BJ)/BJ-(スプレッド+手数料往復)
&& ポジション無し。
TPが
手数料の10倍でレート計算。
ストップは時間で区切る
1分間でだめなら全決済。
lotはとりあえず0.001001で
TPの計算が意外とめんどくさいのでまずそこから考える。
約定のプライスが必要なので取ってくる
これは決済した時の分だけどまあ置いといて
というか分割された場合も考えないといけない。
'child_order_acceptance_id'でいちいち検索する必要がある。
こういうとこでプログラムもうちょっと頑張っとけばと思うけどしゃあないのでちまちま進む。
と思ったけどAPIのドキュメント読んでたら引数に指定するだけだと気付いた。
さて、プライスが求まったのでTPの計算。
手数料をがちがちに求めていたけどしかとしていいな
ということでTP=(スプレッド+FXスプレッド)*10
で計算してみるか、というか後でTPもろもろは考える。
そしてストップは10分にしないとストップ頻発しそうだ
このへんもデータを取ってから考えよう。
あと片側だけロスカットくらった時の処理も後
ポジション持ったあと
TP<利益をひたすら問い合わせするのか?
なんかやり方ありそうだけどな
まあとりあえずループさせておくか
決済はあとにしてシグナルの部分
まあこんな感じか?
sig == true and pos == 0でトレード開始
ここまで行くと後は実際に構築するだけだな。
〆てローカルでやっとこう。
DBに約定timeとかもろもろ記載するようにしよう(後で)。
SFD導入されたので本気出す2
postionではなく現物の場合
どうやらgetbalance()で資産を見に行かないといけない模様。
なんと難しいことか。
そして決済してみる。
-200ってなんですか(怒
ググっても載ってないな
多分手数料分足りねえぞってことだと仮定して
手数料の取得
そして計算
ふざけるなと思ったわけ難しすぎるわあほ
決済まで4時間であるwww
何はともあれ注文して決済することができたので
これでbotが作れる。
よく考えたら最低lotは0.0011でいいね。
あと1ナカモトとかは気にしない方向でいかないと頭おかしくなる。
しかし手数料BTCで取ってくこと考えたやつマジで〇す。
めんどくさすぎんだよ馬鹿馬鹿。
休憩のためいったん終わり
SFD導入されたので本気出す1
まずは乖離の平均を求める。
すごい雑にデータを取得しているのでDBにアクセスしてpandasを使って平均を求める。
今回はpymysqlを使ってみる。
クエリマジでわからん、逆切れ。
最後から数件取ってくる
select * from bf order by id desc limit 1;
これでも本2冊読んだんだが完全に忘れるSQLなんなんだこの難しい言語は。
今回はbFjpyを買いbFFXjpyを売るので
bidとaskfの値だけ見ればいいと思う。
大体0.5秒で取得しているので1分の平均の乖離率を求めてみる
limit120にして取得して各々平均を出す
そして乖離率を求める。
SFDはたぶんmidpriceを見てると勝手に妄想して(違ったら教えてくれ。)midpriceの乖離を取ってくる。
pybitflyerを使用
乖離率の表示
逆だなmidpriceFが現物になってる
これが今まで(ma)よりbF<bFFX側に開いたら=数字が単に増えたら
bF=long ,bFFX=shortとして閉じる(ma==)のをまってクローズ。
10%超えたらデータがないので今のところ放置。
ビジーの処理とか難しいことは放置。
そして注文部分の記述。
まずは買ってみる
通った、なんと手数料をとられたww
知らなかったのかよというツッコミはやめていただく。
戻り値
実際には決済しないといけないので*2する。
1円にも満たないのでわりとしかとしていいと思う。
スプレッドのほうが重要ということだ。
2.6円の出費でこれを乖離が閉じたときに回収しないと話にならない。
とりあえず全部ポジションをクローズする関数を書いておきたい。
と思ったのだがBTCの取引を行うのには0.001以上のロットが必要なのでこのままでは閉じれない実験するためには最低0.002としておいたほうが無難だろう。
とりあえずここまでで冗長になったので区切る。