krystianity / coinpusher

:chart_with_upwards_trend: real-time cryptocurrency chart prediction based on neuronal-networks :bowtie:
Mozilla Public License 2.0
166 stars 49 forks source link
bitcoin bitstamp charts cryptocurrency ethereum litecoin neuronal-network prediction real-time

real-time cryptocurrency course neuronal network prediction

for bitcoin, ethereum, litecoin on the Bitstamp platform

:gem: :chart_with_upwards_trend:

graph screenshot

Overview

Donate

Info

Requires

Installation

Interfaces

Training Neuronal Networks

How does it work?

Additional

Client Info

Adjusting Configuration

Attaching a trade bot

Its actually quite easy to get started:

    const {Bitstamp, CURRENCY} = require("node-bitstamp");
    //you can also install via npm i coinpusher or yarn add coinpusher
    const {Coinpusher} = require("coinpusher"); //alt. require("./lib/Coinpusher.js");

    const bitstamp = new Bitstamp({
        key,
        secret,
        clientId
    });

    const cp = new Coinpusher();
    cp.start(CURRENCY.BTC_EUR, 3333).then(() => {

        //subscribe to the drift event (apprx. emmits every ~ 12 minutes)
        //the prediction will be placed in the future apprx. ~ 9,6 minutes
        //the timing are apprx. because they depend on the output vector size which is configurable
        //we currently set the size to 278 and assume n seconds distance between trades e.g. 278 * 5 seconds
        //the futureValue is a median value taken from the last 20% of outputs
        cp.on("drift", data => {

            const {
                id, //uuid.v4
                drift, // e.g. -12.5
                timestamp, // unix seconds
                currentValue, // current course value -> 3440.0
                futureValue, // predicted course value -> 3452.5
                timestampFormatted, //YYYY-MM-DD HH:mm:ss
                currency //btceur
            } = data;

            //depening on the last action buy or sell you can now plan
            //the next action you might make

            //buy
            bitstamp.buyLimitOrder(amount, price, currency, limit_price, daily_order);

            //or sell
            bitstamp.sellLimitOrder(amount, price, currency, limit_price, daily_order);

            //obviously this requires some additional tracking of account capacity
            //limit tresholds, as well as taking care of fee calculations.. etc..
        });
    });

More infos about the Bitstamp API client can be found here

More Screenshots

graph screenshot

performance screenshot

License