子熊のゾルバ@cryptocurrency

仮想通貨の役立つ情報をお届けします。

仮想通貨の取引を全部無料で自動化する! (Gekko + Google Cloud Platform + Freenom + MyDNS + Let's Encrypt) その七 Gekkoを使った自動取引例の紹介

「だ、だれだっ お前はっ!!」「あててみろ ハワイへご招待するぜ」

f:id:zorbathelittlebear:20170920011918p:plain

どうも、宇宙海賊ゾルバです。

前回の記事はこちら

仮想通貨の取引を全部無料で自動化する! (Gekko + Google Cloud Platform + Freenom + MyDNS + Let's Encrypt) その一 自動取引の概要説明 - 子熊のゾルバ@cryptocurrency

仮想通貨の取引を全部無料で自動化する! (Gekko + Google Cloud Platform + Freenom + MyDNS + Let's Encrypt) その二 Freenomでのドメインの取得 - 子熊のゾルバ@cryptocurrency

仮想通貨の取引を全部無料で自動化する! (Gekko + Google Cloud Platform + Freenom + MyDNS + Let's Encrypt) その三 MyDNSでのダイナミックDNS設定 - 子熊のゾルバ@cryptocurrency

仮想通貨の取引を全部無料で自動化する! (Gekko + Google Cloud Platform + Freenom + MyDNS + Let's Encrypt) その四 Google Cloud Platformでのサーバー構築 - 子熊のゾルバ@cryptocurrency

仮想通貨の取引を全部無料で自動化する! (Gekko + Google Cloud Platform + Freenom + MyDNS + Let's Encrypt) その五 Google Cloud Platformでのサーバー構築の続き - 子熊のゾルバ@cryptocurrency

仮想通貨の取引を全部無料で自動化する! (Gekko + Google Cloud Platform + Freenom + MyDNS + Let's Encrypt) その六 Gekkoのインストール - 子熊のゾルバ@cryptocurrency


ようやくGekkoのセットアップが終わったので、今回から自動取引に入っていきます。

仮想通貨取引のリスクについて前置き

仮想通貨の取引自動取引には様々なリスクがあります。馬の耳に念仏かもしれませんが、今一度ご確認下さい。

  • 取引で生じた損益は自己責任です。仮想通貨に限らずですね。
  • 私の方で動作確認した内容をご紹介しますが、Gekkoがうまく動作しない可能性もあります。
  • 取引所にお金を預けるため、カウンターパーティーリスクがあります。
  • セキュリティ設定不備が原因で取引所のAPIキーが盗まれる可能性があります。リスクを最小限に抑えるため、以下のような点を正しく設定しましょう。

- ファイアウォールルールで不要なアクセスを防止する。
- nginxの設定を正しく行う。
- APIキーには引き出し(Withdrawal)権限を与えないようにします。

  • 仮想通貨同士の取引も課税対象となるようです。自動取引を行う事で取引の回数も多くなるかもしれません。計算も大変になりますが頑張りましょう。

bitcoiner.link

bitcoiner.link

Webコンソールの概要

それではWebコンソールにアクセスしましょう。
https://あなたのドメイン

htpasswdで設定したユーザー名、パスワードを入力してログインします。
ログイン後、上部のメニューに6つの項目が表示されます。

  • Home
  • Live Gekkos
  • Backtest
  • Local data
  • Config
  • Documentation
Home

f:id:zorbathelittlebear:20171005004539p:plain

特に使う事はありません。Gekkoの紹介ページへのリンクがあるだけです。

Gekko - Open source bitcoin trading bot platform

Live Gekkos

f:id:zorbathelittlebear:20171005005947p:plain

Strategy(取引の条件)に応じて、リアルタイムのチャートデータを元に実際に取引を行う事ができます。
また、Paper Traderではリアルタイムのチャートデータを元に取引のシミュレーションができます。

Backtest

f:id:zorbathelittlebear:20171005010214p:plain

過去のチャートから、自分のStrategy通りに取引を行った場合にどのくらいの損益となっていたかシミュレーションができます。

Local data

f:id:zorbathelittlebear:20171005010232p:plain

過去のチャートデータをインポートする事ができます。

Config

f:id:zorbathelittlebear:20171005010255p:plain

取引所のAPIキーを追加することができます。(APIキーが無いと、取引所での取引ができません。)

Documentation

UIはありません。このリンクになっているだけです。

About Gekko - Gekko

過去の相場データのインポート

実際に取引する前に、Backtestを行いましょう。まずはLocal dataから過去の相場データをインポートします。
スクロールダウンし、Go the the importer!をクリックします。

f:id:zorbathelittlebear:20171006232832p:plain


Exchange(取引所)、Currency(支払う仮想通貨)、Asset(購入する仮想通貨)、From及びTo(インポートする期間)を選択します。

f:id:zorbathelittlebear:20171007002309p:plain

Exchangeはpoloniexとgdaxが選択できます。
poloniexの場合、CurrencyはUSDT, BTC, ETH, XMRが選択可能です。Assetは多数サポートされています。(確認していませんが、ほぼ全てかと)

(gekkoインストールディレクトリ)/exchanges/poloniex.js

    currencies: ['BTC', 'ETH', 'XMR', 'USDT'],
    assets: [
      '1CR', 'ABY', 'AC', 'ACH', 'ADN', 'AEON', 'AERO', 'AIR', 'AMP', 'APH',
      'ARCH', 'AUR', 'AXIS', 'BALLS', 'BANK', 'BBL', 'BBR', 'BCC', 'BCH', 'BCN',
      'BCY', 'BDC', 'BDG', 'BELA', 'BITCNY', 'BITS', 'BITUSD', 'BLK', 'BLOCK',
      'BLU', 'BNS', 'BONES', 'BOST', 'BTC', 'BTCD', 'BTCS', 'BTM', 'BTS',
      'BURN', 'BURST', 'C2', 'CACH', 'CAI', 'CC', 'CCN', 'CGA', 'CHA', 'CINNI',
      'CLAM', 'CNL', 'CNMT', 'CNOTE', 'COMM', 'CON', 'CORG', 'CRYPT', 'CURE',
      'CYC', 'DAO', 'DASH', 'DCR', 'DGB', 'DICE', 'DIEM', 'DIME', 'DIS', 'DNS',
      'DOGE', 'DRKC', 'DRM', 'DSH', 'DVK', 'EAC', 'EBT', 'ECC', 'EFL', 'EMC2',
      'EMO', 'ENC', 'ETC', 'ETH', 'eTOK', 'EXE', 'EXP', 'FAC', 'FCN', 'FCT',
      'FIBRE', 'FLAP', 'FLDC', 'FLO', 'FLT', 'FOX', 'FRAC', 'FRK', 'FRQ',
      'FVZ', 'FZ', 'FZN', 'GAME', 'GAP', 'GDN', 'GEMZ', 'GEO', 'GIAR', 'GLB',
      'GML', 'GNS', 'GNT', 'GOLD', 'GPC', 'GPUC', 'GRC', 'GRCX', 'GRS', 'GUE', 'H2O',
      'HIRO', 'HOT', 'HUC', 'HUGE', 'HVC', 'HYP', 'HZ', 'IFC', 'INDEX', 'IOC',
      'ITC', 'IXC', 'JLH', 'JPC', 'JUG', 'KDC', 'KEY', 'LBC', 'LC', 'LCL',
      'LEAF', 'LGC', 'LOL', 'LOVE', 'LQD', 'LSK', 'LTBC', 'LTC', 'LTCX',
      'MAID', 'MAST', 'MAX', 'MCN', 'MEC', 'METH', 'MIL', 'MIN', 'MINT', 'MMC',
      'MMNXT', 'MMXIV', 'MNTA', 'MON', 'MRC', 'MRS', 'MTS', 'MUN', 'MYR',
      'MZC', 'N5X', 'NAS', 'NAUT', 'NAV', 'NBT', 'NEOS', 'NL', 'NMC', 'NOBL',
      'NOTE', 'NOXT', 'NRS', 'NSR', 'NTX', 'NXT', 'NXTI', 'OMNI', 'OPAL',
      'PAND', 'PASC', 'PAWN', 'PIGGY', 'PINK', 'PLX', 'PMC', 'POT', 'PPC', 'PRC',
      'PRT', 'PTS', 'Q2C', 'QBK', 'QCN', 'QORA', 'QTL', 'RADS', 'RBY', 'RDD', 'REP',
      'RIC', 'RZR', 'SBD', 'SC', 'SDC', 'SHIBE', 'SHOPX', 'SILK', 'SJCX',
      'SLR', 'SMC', 'SOC', 'SPA', 'SQL', 'SRCC', 'SRG', 'SSD', 'STEEM', 'STR',
      'SUM', 'SUN', 'SWARM', 'SXC', 'SYNC', 'SYS', 'TAC', 'TOR', 'TRUST',
      'TWE', 'UIS', 'ULTC', 'UNITY', 'URO', 'USDE', 'USDT', 'UTC', 'UTIL',
      'UVC', 'VIA', 'VOOT', 'VOX', 'VRC', 'VTC', 'WC', 'WDC', 'WIKI', 'WOLF',
      'X13', 'XAI', 'XAP', 'XBC', 'XC', 'XCH', 'XCN', 'XCP', 'XCR', 'XDN',
      'XDP', 'XEM', 'XHC', 'XLB', 'XMG', 'XMR', 'XPB', 'XPM', 'XRP', 'XSI',
      'XST', 'XSV', 'XUSD', 'XVC', 'XXC', 'BCH', 'YACC', 'YANG', 'YC', 'YIN', 'ZEC'
    ],

それではImportをクリックし、poloniexでの過去3ヶ月分のBTC/USDT相場データをインポートします。環境に夜と思いますが、3ヶ月だと大体30分くらいで完了します。

f:id:zorbathelittlebear:20171007002343p:plain

おや、途中でインポートが止まってしまいました…。データをインポートしようとすると、Poloniexがエラーを返す事があるようです。
15分ほど待つと再開されるので、気長に待ちましょう。エラーが頻発しても3ヶ月分のデータを取得するのであれば3時間あれば終わるでしょう。

インポートが終わると、Import doneと表示されます。

Gekkoのバグを修正

Gekkoにバグがあるため、CCIというテクニカル分析の指標が使えません。

CCI Reference Missing · Issue #1139 · askmike/gekko · GitHub

以下のコマンドで修正します。

sudo su -
cp -p /usr/local/bin/gekko/strategies/CCI.js /usr/local/bin/gekko/strategies/CCI.js.default
sed -i -e 's/config.tradingAdvisor.historySize/this.tradingAdvisor.historySize/' /usr/local/bin/gekko/strategies/CCI.js

Backtestでの取引シミュレーション

Backtestに移動し、scan available dataをクリックします。

f:id:zorbathelittlebear:20171015223256p:plain

取り込んだデータが表示されるので、ラジオボタンを選択します。
(私は1年以上のデータを取り込みました。もし特定の期間だけをシミュレーションしたい場合、Adjust rangeをクリックします)

f:id:zorbathelittlebear:20171015223456p:plain

Strategy(売買を行う条件)を設定します。ここでは、とりあえず全部デフォルトのままにしておきます。

f:id:zorbathelittlebear:20171016001909p:plain

画面を下にスクロールし、Backtestをクリックします。

f:id:zorbathelittlebear:20171015223653p:plain

少し待つとシミュレーションの結果が表示されます。チャートの上に多数の点が表示されていますが、緑の点が買った時、赤い点が売った時の意味です。

f:id:zorbathelittlebear:20171015224126p:plain

黙ってホールドしとけば9倍以上になるはずなのに、なんと大損ぶっこいてますね…。-99%なので素寒貧です。
チャートの下にスクロールすると、取引の詳細もこのように表示されます。

f:id:zorbathelittlebear:20171015224449p:plain

では、以下のページを参考にしてみましょう。

Best trading method [POLL] · Issue #610 · askmike/gekko · GitHub

StrategyはCCI、他のパラメーターは以下のスクリーンショットを参考に設定し、Backtestをクリックします。

f:id:zorbathelittlebear:20171016000802p:plain

354%の利益が出ました。大分マシになりましたね。

f:id:zorbathelittlebear:20171016001409p:plain

とはいえ、放っておけば9倍になっているのにこれでは自動取引はまだまだですね。

Strategyの作成

私も色々と試しているのですが、うまい具合のStrategyがまだ出来ていません。次の記事を書くのは、それっぽいのが出来てからにします。
むしろいいのができた方は私に教えて下さい。

Creating a strategy - Gekko

Example Strategies - Gekko

Best trading method [POLL] · Issue #610 · askmike/gekko · GitHub

テクニカル分析の参考リンク

テクニカル分析についての解説があります。私も勉強中です。

テクニカル分析に関するコラム|ビットコインラボ

第1回 数多くあるテクニカル指標を体系的に解説|テクニカル分析ABC |ガイド・投資講座 |セミナー・マーケット情報|株のことならネット証券会社【カブドットコム】

小次郎講師直伝「チャートの極意」|AVATRADE|MT4|CFD|自動売買|

ステップアップガイド ~テクニカル分析などの解説~|岡三ネットトレーダーシリーズ|岡三ネットトレーダー(OKASAN NET TRADER):岡三オンライン証券トレーディングツール



____________________

以下、アフィリエイトです。もしこの記事がお役に立ちましたら、こちらから取引所口座を開設頂けると励みになります。(私のお小遣いになります)

日本では以下の3つが主要な仮想通貨取引所となります。

 

インチェック

初心者でも簡単に仮想通貨が購入できます。また、ビットコイン以外の仮想通貨(オルトコイン)も12種取り扱っているのも高ポイントです。ただし、購入手数料が高いのが難点。  

ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin
 

bitFlyer

日本で最もビットコインの取引量が多い(=売買が成立しやすい)取引所です。多額の取引をする場合におすすめ。 無難ですが、特に突出した特徴が無いのが難点と言えば難点。

bitFlyer ビットコインを始めるなら安心・安全な取引所で


Zaif

私がメインで使っている取引所。手数料がマイナスなので、取引すればするほど得をします。 XEMを購入するならここ。サーバーが貧弱なのかたまに応答しなくなるのが難点。