<commit_before># cryptotrader
[![Build Status][travis-icon]][travis-page] [![Coverage Status][coverall-icon]][coverall-page]

## Overview

**Cryptotrader** is a cryptocurrency trading bot, with a plug-in mechanism to load custom trading strategies.
* Standalone Java application.
* Provides a thin framework for plugging-in custom trading strategies.
* Few trading strategies are available out-of-the-box. (Uses the same plugin mechanism.)
* Multi-exchange, multi-product trading strategies.
* HTTP REST interface for manual interventions.

Cryptotrader is...
* **NOT** fully automated. Even though the orders are handled automatically following the trading strategies, configurations such as which exchanges/products/strategies/parameters to use/trade, how much fund to utilize, and at which timing to deposit/withdraw are all discretional.
* **NOT** a low-latency nor HFT trading application. The framework is based on a periodic timer, not event-driven.
* **NOT** for non-programmers. No tutorials, user guides, nor support are available. Read the code to figure out how things work. Fork if things needs to be tweaked. Contributions are always welcome, but not required.
* **NOT** stable nor backward compatible. The project intended for the author's quick & dirty playground implementations, therefore destructive changes could be made any time.

So why is this project made public?
* Not profitable by itself. Tuning is the key to the alpha, which is kept private.
* Not all the strategies are exposed, some are only plugged-in at runtime.
* More people, more attention, more liquidity benefits the author.
* For fun. Something to chat over a cup of coffee.


## Getting Started

### Prerequisites
* Linux
* JDK 8 or later<commit_msg>Revised readme.<commit_after># cryptotrader
[![Build Status][travis-icon]][travis-page] [![Coverage Status][coverall-icon]][coverall-page]

## Overview

**Cryptotrader** is a cryptocurrency trading bot, with a plug-in mechanism to load custom trading strategies.
* Standalone Java application.
* Provides a thin framework for plugging-in custom trading strategies.
* Few trading strategies are available out-of-the-box. (Uses the same plugin mechanism.)
* Multi-exchange, multi-product trading strategies.
* HTTP REST interface for manual interventions.

Cryptotrader is...
* **NOT** fully automated. Even though the orders are handled automatically following the trading strategies, configurations such as which exchanges/products/strategies/parameters to use/trade, how much fund to utilize, and at which timing to deposit/withdraw are all discretional.
* **NOT** a low-latency nor HFT trading application. The framework is based on a periodic timer, not event-driven.
* **NOT** fault-tolerant nor highly-available. The single application process is the single-point-of-failure.
* **NOT** for non-programmers. No tutorials, user guides, nor support are available. Read the code to figure out how things work. Fork if things needs to be tweaked. Contributions are always welcome, but not required.
* **NOT** stable nor backward compatible. This project is for the author's quick & dirty playground implementations, therefore destructive changes could be made any time.

So why is this project made public?
* Not profitable by itself. Tuning is the key to the alpha, which is kept private.
* Not all the strategies are exposed, some are only plugged-in at runtime.
* More people, more attention, more liquidity benefits the author.
* For fun. Something to chat over a cup of coffee.


## Getting Started

### Prerequisites
* Linux
* JDK 8 or later
{'fraction_non_alphanumeric': 0.07610816838583774, 'fraction_numerical': 0.0005575689991636465, 'mean_word_length': 4.787096774193548, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3330078', 'n_tokens_mistral': 925, 'n_tokens_neox': 880, 'n_words': 465}