noteのタイトル画像

「ビットコイン自動売買用ccxt拡張」 VIX,RCI,MACD戦略パッケージを追加しました

目次
・ VIX RCI MACD戦略パッケージを追加しました
・設定
・シミュレーション結果
・VIXのパラメータ
・今後も色々な戦略を追加していきたいと思います

●VIX RCI MACD戦略パッケージを追加しました

で販売しています node.js版ドテン君に「VIX, RCI, MACD」を組み合わせパッケージを追加しました。
例によって、先のnoteで紹介している gitlabから v0.0.4のタグか、最新版のソースコードをダウンロードしてください。

追加したソースコードは
・src/action/vix_rci_macd.js (VIX, RCI, MACDを計算し、売買を決定するロジック)
・src/serverVIX_RCI_MACD.js (実際の売り買い命令を出すロジック)
の2つです。

例によって、npm コマンドを打ってビルドを実行します。

npm run build

●設定

server.config.jsonファイルで設定を変更します。
今回、VIX RCI MACDの戦略を使って、OHLCVの1分足でスキャを試してみたいと思います。

{
    "//": [
        "サーバの設定値",
        "------------------",
        "Origin: www.bitmex.com: true, testnet.bitmex.com: false (default: false)",
        "Count: OHLCVデータの取得件数 (default: 60件)",
        "Resolution: 1,5,60,1440から選択する OHLCVデータの取得間隔 (default: 60)",
        "Lot: 売買で使用するUSD値 (default: 1)",
        "Offset: 損切りの閾値 (default: 100)",
        "SleepTime: メインループ待ち時間(msec)(default: 10000)"
    ],
    "Origin" : true,
    "Count" : 120,
    "Resolution": 1,
    "Lot" : 1,
    "Offset" : 100,
    "SleepTime": 10000,
    "//" : [
      "Simulatein: true: シミュレーションモード, false: 運転モード (default: false)",
      "シミュレーションモードで使用する開始年月日",
      "  Year: 年 (default: 2017)",
      "  Month: 月 (default: 2)",
      "  Day: 日 (default: 1)"
    ],
    "Simulation": true,
    "Year" : 2018,
    "Month" : 5,
    "Day" : 1
  }

主な変更点は
・Resolution : 1 (1分足)
・Count : 120 (計算に使う足の数は120)
です。
必要に応じてLot数は変更してください。
上記の設定でシミュレーションを行って見ます。

●シミュレーション結果

以下のコマンドで実行します。

node ./dist/serverVIX_RCI_MACD.js

実行すると、

main start from [2018/05/01 00:00:00] site: [https://www.bitmex.com] period: [1分] Lot: [1] mode: [シミュレーション]

のように表示され、シミュレーションが開始されます。

実行結果の一部を以下に表示します。

time: [2018/05/01 00:00:00] Sell価格: [9286.5] 利益: [0.0]
time: [2018/05/01 00:02:00] Buy 価格: [9279.0] 利益: [7.5]
time: [2018/05/01 00:25:00] Sell価格: [9288.5] 利益: [17.0]
time: [2018/05/01 01:24:00] Buy 価格: [9309.5] 利益: [-4.0]
time: [2018/05/01 01:48:00] Sell価格: [9298.5] 利益: [-15.0]
time: [2018/05/01 01:54:00] Buy 価格: [9280.5] 利益: [3.0]
time: [2018/05/01 02:35:00] Sell価格: [9315.0] 利益: [37.5]
time: [2018/05/01 03:54:00] Buy 価格: [9322.0] 利益: [30.5]
time: [2018/05/01 04:04:00] Sell価格: [9316.5] 利益: [25.0]
time: [2018/05/01 04:12:00] Buy 価格: [9288.0] 利益: [53.5]
time: [2018/05/01 04:34:00] Sell価格: [9294.0] 利益: [59.5]
・・・(中略)・・・

上記のような表示が出力されれば正常に実行されています。

本番に対応するためには、server.config.jsonファイルの
・"Simulation"
フラグを false に変更してください。実際のサイトへ接続をします。

●VIXのパラメータ

VIXのパラメータは、analysis.config.json ファイルの

    "VIX" : {
        "//":[
            "CM_Williams_Vix_Fix Finds Market Bottoms",
            "pd : LookBack Period Standard Deviation High (default: 22)",
            "bbl : Bolinger Band Length (default: 20)",
            "mult : Bollinger Band Standard Devaition Up (default: 2)",
            "lb : Look Back Period Percentile High (default: 50)",
            "ph : Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99% (default: 0.85)",
            "pl : Lowest Percentile - 1.10=90%, 1.05=95%, 1.01=99% (default: 1.01)"
        ],
        "pd" : 22,
        "bbl" : 20,
        "mult" : 2,
        "lb" : 50,
        "ph" : 0.85,
        "pl" : 1.01
    },

を変更することで対応ください。
RCIもMACDも、同じファイルに設定があります。

まずはtestnet.bitmex.comで動作を確認し、本番に望むことをお勧めします。

(注意)
デフォルトの設定では勝てないと思いますので、パラメータのチューニングを行って、自分で最適値を探していただければと思います。

●今後も色々な戦略を追加していきたいと思います

ご期待いただければ、フォローを「ポチ」っとお願いいたします。


ソフトウェア・エンジニアを40年以上やってます。 「Botを作りたいけど敷居が高い」と思われている方にも「わかる」「できる」を感じてもらえるように頑張ります。 よろしくお願い致します。