【Bitcoin FX BOTでシストレ計画】イナゴBOT試作型の概要1
前回のスクレイピングの記事がTwitterで拡散されまして…見たこともないようなアクセス数になって驚いております。。ありがとうございます。
好評につき(?)これからBOTを作ろうと思っている方にとって少しでも手助けになればと思い記事にします。
とはいえ自分のBOTも辛うじて形になったばかりでまだ稼働したまま安心して放置出来るレベルとは程遠いものです。
このまま作っても勝てないという前提でご利用くださいませ。
準備するもの
・Python3の環境
・selenium…前記事参照
・phantomjs…前記事参照
・pybitflyer…端末からpip install pybitflyer
とりあえず動くBOTにするためには、
・売買注文の処理…pybitflyerがあれば楽勝
・現在のポジションを参照する処理…pybitflyerがあr(ry
・エントリーの基準を設定…いなごflyerに頼る(前記事参照)
・遅延などのエラー処理(ここは自分もまだですが)
あたりが必須となってきます。
同じ基準でも各人で味付けが変わってきますよね。
いなごflyerのボリュームを見るにせよ、Buy Vol>Sell Volでエントリーするのか、Buy Vol>Sell Vol*3でエントリーするのか。或いはもっと複雑な条件にするのか。
利確や損切りの基準なんかも百人いれば百通りです。
色々試しては情報共有出来れば面白いですね。
で、ボリュームのスクレイピングについては前回述べましたが、今回は自分がポジションの管理をどうやっているかを少し。
pybitflyerでgetpositionsすると現在のポジションが辞書inリストで帰ってきます。
>>> print(getpositions)
[{'product_code': 'FX_BTC_JPY', 'side': 'BUY', 'price': *******, 'si
ze': **, 'commission': **, 'swap_point_accumulate': **, 'require_
collateral': ******, 'open_date': '2017-12-04T00:00:00.00', 'leverag
e': 15.0, 'pnl': *****}, {'product_code': 'FX_BTC_JPY', 'side': 'BUY'
, 'price': *******, 'size': **, 'commission': **, 'swap_point_ac
cumulate': **, 'require_collateral': ******, 'open_date':
'2017-12-04T00:00:00.000', 'leverage': 15.0, 'pnl': *****}]
例としてポジションを2つ持っている場合です。
ポジションの数を知りたいだけなら、len(getpositions)で分かりますね。
ロングポジション、ショートポジションの判断は、自分はBUY/SELLの文字が入っているかどうかでやりました。
if "BUY" in getpositions[0].values():True
else:False
これなら、一番目のポジションがロングであればTrueを返します。
二番目なら[1]ですね。ただポジションの数についてはプログラム側でカウントしてもいいと思います。成り行きで買うと2つ以上の値にまたがってしまいポジの数がエントリー数に比例しなくなるので色々面倒でした。
読みにくい文で申し訳ない。自分もプログラム始めたばかりなんでご容赦下さい。
今回はこれくらいで。また気が向いたらやります。