プログラム - python

pythonでスキャルピング自動売買BOTを作って実践した結果

投稿日:

ここ最近、スキャルピング自動売買BOTの作成に時間を割いてます。

仮想通貨界隈をみていると、やっぱりトレードで成功している人の方が圧倒的に多いんですよね。

去年ならまだしも、ガチホ勢、マイニング勢もつらい。

チャートは最低限のテクニカルしかみていませんでしたが、しっかりと色々な手法を勉強して、自動売買BOTを作成しようと思って現在頑張ってます。

お金に関わる事なのでソースコードの公開はできませんが、こんな感じになったよっていう報告を書いてみます。

スキャルピングとは

スキャルピングとは数十秒~数十分というごく短いスパンの間に、何度も売買を繰り返して、小さな利益を積み重ねる手法です。

板に出てもすぐに売買されるので、手動でやると、かなり瞬発力が問われます。

ちょっとやってみたけど、瞬時に板から消えるので、無理ですね。

ということで、プログラム向きなんですよね。

どの取引所を使うか

悩んだのは使う取引所。APIを使うのは当たり前として、どの取引所を使うかです。

僕はFCoinを使いました。

スキャルピングは1日に数十回~数百回トレードするので手数料が重要になります。

Fcoinは、前に記事に書きましたがFTを指定枚数保有しておくと、売買手数料が翌日還元されます。実質無料です。この特権を上手につかってみました。

Fcoin取引所の取引手数料が無料!FT保有1000枚以上保有が条件

Fcoinといえば、少し前に流行した取引マイニングの先駆けです。 取引マイニングという仕組みは他の取引所が、どんどん真似をして、後から出てきた取引所の方がより良い条件であるため、Fcoinを使うメリットは下がってきています。 あの手この手でトレーダーを掴んでいる、この取引所ですが、ここにきて新しい仕組みを導入しました。そこんとこをちょっと記事にしてみました。   この記事の目次1 取引マ...

続きを読む

続きを見る

どの取引ペアを使うか

小さく安定して利益を取りたかったので、なるべく値動きは少ないものを選びました。

そして出来高もたくさんあるもの。ということで、以下をチョイス。

  • 値動きの変動は少ない通貨を選ぶ⇒USDT
  • 出来高が多い通貨ペアを選ぶ⇒BTC/USDT

FCoinのAPIを使ったPythonベースソース

冒頭に書いたようにお金に絡む事なので責任がもてないので、自分のソースコードはお見せ出来ませんが、ベースソースは以下を使いました。

上記ベースはPython 3.5以上だと動かないです。2.7.10で動作確認済み。

これを原型とどめないほど大幅に改造しまくったという感じです。

 

APIの仕様書はコチラ

矢野テック
中国語なので分かりづらい。翻訳して使いました。

 

以下のようなアルゴリズムでコーディングしました。

  • 5秒毎にループ
  • APIが動作可能かチェック。502エラーなら30分スリープ
  • Bid(売値)とAsk(買値)をAPIで取得
  • btc、usdtの保有枚数をAPIで確認、購入時はAskの最安値、売却時はBidの最高値と板の枚数を取得しチェック
  • 一定期間(数十秒)の価格をList(配列)に格納しチェック。底値にタッチしたら買いエントリー
  • レンジ幅は狭くし、少しでも利益(0.03%以上)が出れば利確
  • 損切りは-3%
  • 買いポジションから1時間以上経過したら強制利確(損切り)

その他、細々としたものはあるけど、ざっとこんな感じ。

 

USDTはドルと近い値段なので、もともと値動きは少ないです。したがって、大きな利益は望めません。あんまり欲張ると、まったく売買されないBOTになっちゃう感じです。USDTだと1%でも多い感じ。試行錯誤して、利益幅は0.03~0.05%がベストでした。

 

でも、BTC/USDTは、日々かなりの出来高なので、僅かな期間でも小さく上下を繰り返しています。

スキャルピングには適しているかなと思います。

 

損切は必須。BOTでは、ないとお話にならない感じです。

どういうタイミングで損切りするかが肝になります。ここはまだ試行錯誤中。

 

あとは、APIが生きているかのチェックは必須ですね。

どの取引所のAPIも、しょっちゅう止まります。そういうときは502エラーが出るので、チェックする仕組みはトレードBOTには必須です。

 

実践結果

こんな感じで動いているのですが

 

あとは条件さえマッチすれば、自動的に売買。数分毎に約定してます。

矢野テック
FCoinはレバレッジはなく現物のみなので、1日の利益は0.2%~3%、トレード回数は100回前後ってとこです。かろうじてですが、だいたいプラスになってます。もうちょっと損切りを改良すれば利益率は上がるかなと思って、いじくり回している感じですが、最初に作ったトレードBOTとしては上出来かなって思いました。

やって分かったのは、スキャルピングはトレード回数が多いので手数料が地味に気になります。

FCoinは、手数料無料になるからよいものの、他だとたぶんキツイですね。

 

pythonでのトレードBOT作成の課題

MT(MetaTrade)と違って、簡単にテクニカル指標(ボリンジャーバンドとかMACDなど)は使えません。

それぞれプログラムで組む必要があります。これが課題だねえ。

 

そして、通貨の価格データも過去データは簡単には使えないので、そこも課題。

今回は、極めて短いスパンの価格をList(配列)に格納して比較チェックしたのですが、テクニカル使うときは最低でも数日分のデータはないと使えないですからね。みんなどうしてるんだろう・・。

 

無料メール講座

1ヶ月で仮想通貨のノウハウが無料で読める

タップして読んでみる

-プログラム - python
-,

Copyright© 仮想通貨投資ブログ , 2018 All Rights Reserved.