テクノロジー

ccxtとテクニカル指標確認プログラム

handa's icon'
  • handa
  • 2022/02/23 01:05
Content image
title

はじめに

仮想通貨の自動取引プログラムを作っています。システムトレードは昔FXが流行った時代に少しだけ勉強したんですが、当時はうまくできませんでした。今は各取引所がAPIを提供しており、作りやすくなりました。

本稿では、仮想通貨トレード用ライブラリccxtの紹介と、それを使ったテクニカル指標の動作確認プログラムを提示します。

 

仮想通貨トレード用ライブラリccxt

ccxtとは

各取引所はそれぞれ、自分の取引所用のトレード用APIを公開しています。A取引所のAPIとB取引所のAPIは異なるわけです。A取引所用プログラムをB取引所に持って行っても使えません。ccxtはその取引所間の互換性を提供します。ccxtを使ってプログラムを作ると、A取引所でもB取引所でも(ほぼ)同じプログラムが使えます。

 

ccxtはここから取得できます:

 

実際は取引所間で少し動きが違うので、100%の互換性はありません。動きが違うとは、例えばA取引所では成り行き購入時の価格が取得できますがB取引所では取得できないといったことです。それはccxtのせいではなく、取引所固有のAPIがそういう機能を提供していないということになります。

 

ccxtを使ったプログラム例

成り行きの購入はこんなかんじでできます。言語はpythonです。exchangeはbinanceやkucoinなどの取引所インスタンス、pairは"BTC/USDT"などの通貨ペア、volumeは購入数です。

order = exchange.create_market_buy_order(pair, volume)
if order["price"] == None:
    ask = 0.0
    print("BUY(VOLUME{})".format(volume))
else:
    ask = float(order["price"])
    print("BUY(PRICE{} VOLUME{})".format(round(ask, 4), volume))

 

私は、取引プログラムをkucoinで動作確認して、binanceを本番環境として動かしています。kucoinはときどき取引所に起因するエラーが発生し安定性がbinanceより低いので、そうしています。また、取引所の制約として、サーバに負荷をかけすぎるプログラムの書き方はできません。適切なsleep(処理間の休止時間)が必要になります。それは、ccxtを使う・使わないにかかわらず必要です。

 

テクニカル指標

テクニカル指標を評価する

自動取引プログラムを何個か作りましたが、なかなかうまく儲けられませんでした。そこで、世にいろいろあるというテクニカル指標をプログラムに取り入れればいいのではないかと考えました。そしてその前に、テクニカル指標を評価するプログラムが必要だと思いました。

テクニカル指標が示す売り買いのシグナルと、実際の市場の値動きを比較して、適切なテクニカル指標を採用すれば勝てる確率が高まります。各種テクニカル指標のアルゴリズムやプログラムはネット上にあふれています。そこからプログラムを持ってきました。書き方の好みがあるので、自分流に書き直しました。取ってきたテクニカル指標は以下です。

・CCI

・MACD

・RSI

・ボリンジャーバンド

・サイコロジカルライン

・ROC

・ストキャスティクス

・スーパートレンド

・OBV

・ADX

これらを評価したところ、

・CCI

・RSI

・ボリンジャーバンド

・サイコロジカルライン

・ストキャスティクス

この5つの反応がなかなか良かったです。もちろん、他の指標も実績があるものであり、単にプログラムの書き方がまずくてうまく機能しなかっただけかもしれません。

 

テクニカル指標確認プログラム

上に挙げたテクニカル指標が出す売り買いサインや値を出力するプログラムを以下に示します。ccxtを使っています。このテクニカル指標を使って、例えば

・5つ以上の指標が同時に買いを推奨したら買い

・4つ以上の指標が同時に売りを推奨したら売り

・3つ以上の指標が同時に売りを推奨した、かつ現在価格が買値を上回っていたら売り

のようなストラテジを考え、自動取引プログラムにするとなかなかうまく売買できています。ウクライナ問題で地合いがかなり悪く、賭け金も少ないので全然儲かってはいませんが(^^;

 

おわりに

ccxtは無料版と有料版があります。私は無料版を使っていますが、有料版もチェックしてみます。仮想通貨取引では複数の取引所を使うのが普通だと思いますので、取引所間の互換性を高めるccxtのようなライブラリはトレーダーにとって必携のツールといえます。

 

以上

Supporter profile iconSupporter profile icon
Article tip 2人がサポートしています
獲得ALIS: Article like 49.85 ALIS Article tip 5.10 ALIS
handa's icon'
  • handa
  • @handa
コンピュータシステムの開発、子供向けプログラミング教室などを行っています。

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
124.82 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
テクノロジー

iOS15 配信開始!!

Like token Tip token
7.20 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
121.79 ALIS
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS