diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index d9404057..78ad2c75 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -4,15 +4,19 @@ thrasher- | https://github.com/thrasher-
shazbert | https://github.com/shazbert
gloriousCode | https://github.com/gloriousCode
140am | https://github.com/140am
+marcofranssen | https://github.com/marcofranssen
Betazoid | https://github.com/Betazoid
+ermalguni | https://github.com/ermalguni
crackcomm | https://github.com/crackcomm
bretep | https://github.com/bretep
gam-phon | https://github.com/gam-phon
cornelk | https://github.com/cornelk
if1live | https://github.com/if1live
daniel-cohen | https://github.com/daniel-cohen
+frankzougc | https://github.com/frankzougc
starit | https://github.com/starit
Jimexist | https://github.com/Jimexist
+lookfirst | https://github.com/lookfirst
zeldrinn | https://github.com/zeldrinn
mattkanwisher | https://github.com/mattkanwisher
mKurrels | https://github.com/mKurrels
@@ -20,6 +24,8 @@ m1kola | https://github.com/m1kola
cavapoo2 | https://github.com/cavapoo2
tongxiaofeng | https://github.com/tongxiaofeng
idealhack | https://github.com/idealhack
+vyloy | https://github.com/vyloy
askew- | https://github.com/askew-
+whilei | https://github.com/whilei
snipesjr | https://github.com/snipesjr
-marcofranssen | https://github.com/marcofranssen
+
diff --git a/README.md b/README.md
index 632d0984..4df0642b 100644
--- a/README.md
+++ b/README.md
@@ -144,15 +144,15 @@ Binaries will be published once the codebase reaches a stable condition.
|User|Github|Contribution Amount|
|--|--|--|
-| thrasher- | https://github.com/thrasher- | 442 |
-| shazbert | https://github.com/shazbert | 139 |
-| gloriousCode | https://github.com/gloriousCode | 121 |
+| thrasher- | https://github.com/thrasher- | 453 |
+| shazbert | https://github.com/shazbert | 140 |
+| gloriousCode | https://github.com/gloriousCode | 122 |
| 140am | https://github.com/140am | 8 |
+| marcofranssen | https://github.com/marcofranssen | 4 |
| Betazoid | https://github.com/Betazoid | 4 |
-| marcofranssen | https://github.com/marcofranssen | 3 |
+| ermalguni | https://github.com/ermalguni | 3 |
| crackcomm | https://github.com/crackcomm | 3 |
| bretep | https://github.com/bretep | 2 |
-| ermalguni | https://github.com/ermalguni | 2 |
| gam-phon | https://github.com/gam-phon | 2 |
| cornelk | https://github.com/cornelk | 2 |
| if1live | https://github.com/if1live | 2 |
@@ -168,6 +168,7 @@ Binaries will be published once the codebase reaches a stable condition.
| cavapoo2 | https://github.com/cavapoo2 | 1 |
| tongxiaofeng | https://github.com/tongxiaofeng | 1 |
| idealhack | https://github.com/idealhack | 1 |
+| vyloy | https://github.com/vyloy | 1 |
| askew- | https://github.com/askew- | 1 |
| whilei | https://github.com/whilei | 1 |
| snipesjr | https://github.com/snipesjr | 1 |
diff --git a/common/README.md b/common/README.md
index 8cdfdc0a..594f3f86 100644
--- a/common/README.md
+++ b/common/README.md
@@ -20,7 +20,20 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
## Current Features for common
-+ This package collates basic broad functions that are used throughout this codebase.
+#### This package collates basic broad functions that are used throughout this codebase.
+
++ Coding example
+
+```go
+import "github.com/thrasher-/gocryptotrader/common"
+
+testString := "aAaAa"
+
+upper := common.StringToUpper(testString)
+
+// upper == "AAAAA"
+```
+
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/communications/README.md b/communications/README.md
new file mode 100644
index 00000000..7acfc275
--- /dev/null
+++ b/communications/README.md
@@ -0,0 +1,61 @@
+# GoCryptoTrader package Comms
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/communications/comms)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This comms package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Communications package
+
+### What is the Communications package?
+
++ This package allows for the communication of events/data that occurs in the
+to be exported out to a defined communication medium
+
+### Current Features
+
++ Slack bot support
++ SMSGlobal instant bulk messaging
++ SMTP messaging
++ Telegram bot support
+
+### How to enable example
+
++ In your config.json enable each individual communications package you desire
++ Please view the individual readme documentation inside the specific package
+for more details
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/communications/base/README.md b/communications/base/README.md
new file mode 100644
index 00000000..f5f0ea36
--- /dev/null
+++ b/communications/base/README.md
@@ -0,0 +1,47 @@
+# GoCryptoTrader package Base
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/communications/base)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This base package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Base Communications package
+
+### Current Features
+
++ Used to enforce standard variables and methods across the communication packages
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/communications/slack/README.md b/communications/slack/README.md
new file mode 100644
index 00000000..b026a248
--- /dev/null
+++ b/communications/slack/README.md
@@ -0,0 +1,95 @@
+# GoCryptoTrader package Slack
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/communications/slack)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This slack package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Slack Communications package
+
+### What is Slack?
+
++ Slack is a code-centric collaboration hub that allows users to connect via an
+app and share different types of data
++ Please visit: [Slack](https://slack.com/) for more information and account setup
+
+### Current Features
+
++ Basic communication to your slack channel information includes:
+ - Working status of bot
+ - Recent ANX ticker
+ - Current ANX orderbook
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-communications-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/communications/slack"
+"github.com/thrasher-/gocryptotrader/config"
+)
+
+s := new(slack.Slack)
+
+// Define slack configuration
+commsConfig := config.CommunicationsConfig{SlackConfig: config.SlackConfig{
+ Name: "Slack",
+ Enabled: true,
+ Verbose: false,
+ TargetChannel: "targetChan",
+ VerificationToken: "slackGeneratedToken",
+}}
+
+s.Setup(commsConfig)
+err := s.Connect
+// Handle error
+```
+
+Once the bot has started you can interact with the bot using these commands
+via Slack:
+
+```
+!status - Displays current working status of bot
+!help - Displays help text
+!settings - Displays current settings
+!ticker - Displays recent ANX ticker
+!portfolio - Displays portfolio data
+!orderbook - Displays current ANX orderbook
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/communications/smsglobal/README.md b/communications/smsglobal/README.md
new file mode 100644
index 00000000..8dac04b6
--- /dev/null
+++ b/communications/smsglobal/README.md
@@ -0,0 +1,80 @@
+# GoCryptoTrader package Smsglobal
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/communications/smsglobal)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This smsglobal package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## SMSGlobal Communications package
+
+### What is SMSGlobal?
+
++ SMSGlobal allows bulk sending of messages via their API
++ Please visit: [SMSGlobal](https://www.smsglobal.com/) for more information and account setup
+
+### Current Features
+
++ Sending of events to a list of recipients
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-communications-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/communications/smsglobal"
+"github.com/thrasher-/gocryptotrader/config"
+)
+
+s := new(smsglobal.SMSGlobal)
+
+// Define SMSGlobal configuration
+commsConfig := config.CommunicationsConfig{SMSGlobalConfig: config.SMSGlobalConfig{
+ Name: "SMSGlobal",
+ Enabled: true,
+ Verbose: false,
+ Username: "username",
+ Password: "password",
+ Contacts: []config.SMSContact{}
+}}
+
+s.Setup(commsConfig)
+err := s.Connect
+// Handle error
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/communications/smtpservice/README.md b/communications/smtpservice/README.md
new file mode 100644
index 00000000..fbdbbcd6
--- /dev/null
+++ b/communications/smtpservice/README.md
@@ -0,0 +1,82 @@
+# GoCryptoTrader package Smtp
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/communications/smtp)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This smtp package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## SMSGlobal Communications package
+
+### What is SMTP?
+
++ Simple Mail Transfer Protocol (SMTP) is an Internet standard for electronic mail (email) transmission
++ Please visit: [Wikipedia](https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol) for more information
+
+### Current Features
+
++ Sending of events to a list of recipients via email
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-communications-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/communications/smtpservice"
+"github.com/thrasher-/gocryptotrader/config"
+)
+
+s := new(smtpservice.SMTPservice)
+
+// Define SMTPservice configuration
+commsConfig := config.CommunicationsConfig{SMTPservice: config.SMTPConfig{
+ Name: "SMTPservice",
+ Enabled: true,
+ Verbose: false,
+ Host: "host",
+ Port: "port",
+ AccountName: "name",
+ AccountPassword: "password",
+ RecipientList: "something@something.com,somethingelse@something.com"
+}}
+
+s.Setup(commsConfig)
+err := s.Connect
+// Handle error
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/communications/telegram/README.md b/communications/telegram/README.md
new file mode 100644
index 00000000..7f9f5742
--- /dev/null
+++ b/communications/telegram/README.md
@@ -0,0 +1,95 @@
+# GoCryptoTrader package Telegram
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/communications/telegram)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This telegram package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Telegram Communications package
+
+### What is telegram?
+
++ Telegram is a cloud-based instant messaging and voice over IP service
+developed by Telegram Messenger LLP
++ Please visit: [Telegram](https://telegram.org/) for more information
+
+### Current Features
+
++ Creation of bot that can retrieve
+ - Bot status
+ - ANX orderbook
+ - ANX ticker
+
+ ### How to enable
+
+ + [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-communications-via-config-example)
+
+ + Individual package example below:
+ ```go
+ import (
+ "github.com/thrasher-/gocryptotrader/communications/telegram"
+ "github.com/thrasher-/gocryptotrader/config"
+ )
+
+ t := new(telegram.Telegram)
+
+ // Define Telegram configuration
+ commsConfig := config.CommunicationsConfig{TelegramConfig: config.TelegramConfig{
+ Name: "Telegram",
+ Enabled: true,
+ Verbose: false,
+ VerificationToken: "token",
+ }}
+
+ t.Setup(commsConfig)
+ err := t.Connect
+ // Handle error
+ ```
+
++ Once the bot has started you can interact with the bot using these commands
+via Telegram:
+
+```
+/start - Will authenticate your ID
+/status - Displays the status of the bot
+/help - Displays current command list
+/settings - Displays current bot settings
+/ticker - Displays current ANX ticker data
+/portfolio - Displays your current portfolio
+/orderbooks - Displays current orderbooks for ANX`
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/config/README.md b/config/README.md
index ccfe3e18..4a4d39bb 100644
--- a/config/README.md
+++ b/config/README.md
@@ -20,7 +20,196 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
## Current Features for config
-+ This package deals with configuration utilities.
+ + Handling of config encryption and verification of "configuration".json data.
+
+ + Contains configurations for:
+
+ - Exchanges for utilisation of a broad or minimal amount of enabled
+ exchanges [Example](#enable-exchange-via-config-example) for
+ enabling an exchange.
+
+ - Bank accounts for withdrawal and depositing FIAT between exchange and
+ your personal accounts [Example](#enable-bank-accounts-via-config-example).
+
+ - Portfolio to monitor online and offline accounts [Example](#enable-portfolio-via-config-example).
+
+ - Currency configurations to set your foreign exchange provider accounts,
+ your preferred display currency, suitable FIAT currency and suitable
+ cryptocurrency [Example](#enable-currency-via-config-example).
+
+ - Communication for utilisation of supported communication mediums e.g.
+ email events direct to your personal account [Example](#enable-communications-via-config-example).
+
+# Config Examples
+
+#### Basic examples for enabling features on the GoCryptoTrader platform
+
++ Linux example for quickly creating and testing configuration file
+```sh
+cd ~/go/src/github.com/thrasher-/gocryptotrader
+cp config_example.json config.json
+# Test config
+go build
+./gocryptotrader
+```
+
++ or custom config, can also pass in absolute path to "configuration".json file.
+
+```sh
+cd ~/go/src/github.com/thrasher-/gocryptotrader
+cp config_example.json custom.json
+# Test config
+go build
+./gocryptotrader -config custom.json
+```
+
+## Enable Exchange Via Config Example
+
++ To enable or disable an exchange via config proceed through the
+"configuration".json file to exchanges and to the supported exchange e.g see
+below. "Enabled" set to true or false will enable and disable the exchange,
+if you set "APIKey" && "APISecret" you must set "AuthenticatedAPISupport" to
+true or the bot will not be able to send authenticated http requests. If needed
+you can set the exchanges bank details for depositing FIAT options. Some banks
+have multiple deposit accounts for different FIAT deposit currencies.
+
+```js
+"Exchanges": [
+ {
+ "Name": "ANX",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "ATENC_GBP,ATENC_NZD,BTC_AUD,BTC_SGD,LTC_BTC,START_GBP,...",
+ "EnabledPairs": "BTC_USD,BTC_HKD,BTC_EUR,BTC_CAD,BTC_AUD,BTC_SGD,BTC_JPY,...",
+ "BaseCurrencies": "USD,HKD,EUR,CAD,AUD,SGD,JPY,GBP,NZD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "_"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": "AUD,USD,EUR"
+ }
+ ]
+ },
+```
+
+## Enable Bank Accounts Via Config Example
+
++ To enable bank accounts simply proceed through "configuration".json file to
+"BankAccounts" and input your account information example below.
+
+```js
+"BankAccounts": [
+ {
+ "BankName": "test",
+ "BankAddress": "test",
+ "AccountName": "TestAccount",
+ "AccountNumber": "0234",
+ "SWIFTCode": "91272837",
+ "IBAN": "98218738671897",
+ "SupportedCurrencies": "USD",
+ "SupportedExchanges": "ANX,Kraken"
+ }
+]
+```
+
+## Enable Portfolio Via Config Example
+
++ To enable the GoCryptoTrader platform to monitor your addresses please
+specify, "configuration".json file example below.
+
+```js
+"PortfolioAddresses": {
+ "Addresses": [
+ {
+ "Address": "1JCe8z4jJVNXSjohjM4i9Hh813dLCNx2Sy",
+ "CoinType": "BTC",
+ "Balance": 53000.01310358,
+ "Description": ""
+ },
+ {
+ "Address": "3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v",
+ "CoinType": "BTC",
+ "Balance": 101848.28376405,
+ "Description": ""
+ }
+ ]
+```
+
+## Enable Currency Via Config Example
+
++ To Enable foreign exchange providers set "Enabled" to true and add in your
+account API keys example below.
+
+```js
+"ForexProviders": [
+ {
+ "Name": "CurrencyConverter",
+ "Enabled": true,
+ "Verbose": false,
+ "RESTPollingDelay": 600,
+ "APIKey": "",
+ "APIKeyLvl": -1,
+ "PrimaryProvider": true
+ },
+]
+```
+
++ To define the cryptocurrency you want the platform to use set them here
+example below.
+
+```js
+"Cryptocurrencies": "BTC,LTC,ETH,XRP,NMC,NVC,PPC,XBT,DOGE,DASH",
+```
+
++ To define the currency you want to everything to be valued against example
+below.
+
+```js
+"FiatDisplayCurrency": "USD"
+```
+
+## Enable Communications Via Config Example
+
++ To set the desired platform communication medium proceed to "Communications"
+in the "configuration".json file and set your account details to the preferred
+comm method and add in your contact list if available.
+
+```js
+"SMSGlobal": {
+ "Name": "SMSGlobal",
+ "Enabled": false,
+ "Verbose": false,
+ "Username": "Username",
+ "Password": "Password",
+ "Contacts": [
+ {
+ "Name": "Bob",
+ "Number": "12345",
+ "Enabled": false
+ }
+ ]
+},
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/currency/README.md b/currency/README.md
index 282fa11d..6d23119a 100644
--- a/currency/README.md
+++ b/currency/README.md
@@ -20,7 +20,11 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
## Current Features for currency
-+ Currency package deals with currency pair generation, manipulation and tracking.
++ Currency package contains a full suite of packages that provide:
+ - Foreign exchange data fetching for FIAT currencies
+ - Currency Pair generation
+ - Symbol mapping
+ - Translation between currencies that have similar strings e.g. XBT, BTC
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/currency/forexprovider/README.md b/currency/forexprovider/README.md
new file mode 100644
index 00000000..786aae9a
--- /dev/null
+++ b/currency/forexprovider/README.md
@@ -0,0 +1,48 @@
+# GoCryptoTrader package Forexprovider
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/currency/forexprovider)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This forexprovider package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for forexprovider
+
++ Currency Converter API support
++ Currency Layer support
++ Fixer.io support
++ Open Exchange Rates support
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/currency/forexprovider/base/README.md b/currency/forexprovider/base/README.md
new file mode 100644
index 00000000..d330ecb0
--- /dev/null
+++ b/currency/forexprovider/base/README.md
@@ -0,0 +1,46 @@
+# GoCryptoTrader package Forexprovider
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/currency/forexprovider/base)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This forexprovider package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for forexprovider
+
++ This package enforces standard variables and methods for the foreign exchange
+providers.
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/currency/forexprovider/currencyconverterapi/README.md b/currency/forexprovider/currencyconverterapi/README.md
new file mode 100644
index 00000000..10d455ce
--- /dev/null
+++ b/currency/forexprovider/currencyconverterapi/README.md
@@ -0,0 +1,75 @@
+# GoCryptoTrader package Forexprovider
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/currency/forexprovider/currencyconverter)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This forexprovider package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for forexprovider
+
++ Fetches up to date curency data from [Currency Coverter API](https://free.currencyconverterapi.com/)
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-currency-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/base"
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/currencyconverter"
+)
+
+c := currencyconverter.CurrencyConverter{}
+
+// Define configuration
+newSettings := base.Settings{
+ Name: "CurrencyConverter",
+ Enabled: true,
+ Verbose: false,
+ RESTPollingDelay: time.Duration,
+ APIKey: "key",
+ APIKeyLvl: "keylvl",
+ PrimaryProvider: true,
+}
+
+c.Setup(newSettings)
+
+mapstringfloat, err := c.GetRates("USD", "EUR,CHY")
+// Handle error
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/currency/forexprovider/currencylayer/README.md b/currency/forexprovider/currencylayer/README.md
new file mode 100644
index 00000000..3fd4552f
--- /dev/null
+++ b/currency/forexprovider/currencylayer/README.md
@@ -0,0 +1,75 @@
+# GoCryptoTrader package Forexprovider
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/currency/forexprovider/currencylayer)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This forexprovider package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for forexprovider
+
++ Fetches up to date curency data from [Currency Layer](https://currencylayer.com/)
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-currency-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/base"
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/currencylayer"
+)
+
+c := currencylayer.CurrencyLayer{}
+
+// Define configuration
+newSettings := base.Settings{
+ Name: "CurrencyLayer",
+ Enabled: true,
+ Verbose: false,
+ RESTPollingDelay: time.Duration,
+ APIKey: "key",
+ APIKeyLvl: "keylvl",
+ PrimaryProvider: true,
+}
+
+c.Setup(newSettings)
+
+mapstringfloat, err := c.GetRates("USD", "EUR,CHY")
+// Handle error
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/currency/forexprovider/fixer.io/README.md b/currency/forexprovider/fixer.io/README.md
new file mode 100644
index 00000000..a49af294
--- /dev/null
+++ b/currency/forexprovider/fixer.io/README.md
@@ -0,0 +1,75 @@
+# GoCryptoTrader package Forexprovider
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/currency/forexprovider/fixer)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This forexprovider package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for forexprovider
+
++ Fetches up to date curency data from [Fixer.io](https://fixer.io/)
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-currency-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/base"
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/fixer.io"
+)
+
+c := fixer.Fixer{}
+
+// Define configuration
+newSettings := base.Settings{
+ Name: "Fixer",
+ Enabled: true,
+ Verbose: false,
+ RESTPollingDelay: time.Duration,
+ APIKey: "key",
+ APIKeyLvl: "keylvl",
+ PrimaryProvider: true,
+}
+
+c.Setup(newSettings)
+
+mapstringfloat, err := c.GetRates("USD", "EUR,CHY")
+// Handle error
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/currency/forexprovider/openexchangerates/README.md b/currency/forexprovider/openexchangerates/README.md
new file mode 100644
index 00000000..3762dd7d
--- /dev/null
+++ b/currency/forexprovider/openexchangerates/README.md
@@ -0,0 +1,75 @@
+# GoCryptoTrader package Forexprovider
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/currency/forexprovider/openexchangerates)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This forexprovider package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for forexprovider
+
++ Fetches up to date curency data from [Open Exchange Rates](https://openexchangerates.org/)
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-currency-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/base"
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/openexchangerates"
+)
+
+c := openexchangerates.OXR{}
+
+// Define configuration
+newSettings := base.Settings{
+ Name: "openexchangerates",
+ Enabled: true,
+ Verbose: false,
+ RESTPollingDelay: time.Duration,
+ APIKey: "key",
+ APIKeyLvl: "keylvl",
+ PrimaryProvider: true,
+}
+
+c.Setup(newSettings)
+
+mapstringfloat, err := c.GetRates("USD", "EUR,CHY")
+// Handle error
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/currency/pair/README.md b/currency/pair/README.md
index 36143018..35cc2ae4 100644
--- a/currency/pair/README.md
+++ b/currency/pair/README.md
@@ -20,7 +20,19 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
## Current Features for pair
-+ This package services the currency package.
++ Provides a new data structure for a currency pair
++ Methods to manipulate, create and retrieve different parts of the currency pair
+
++ Example below:
+```go
+import "github.com/thrasher-/gocryptotrader/currency/pair"
+
+// Create new pair
+newPair := pair.NewCurrencyPair("BTC", "USD")
+
+// Retrieve different parts of the pair
+bitcoinString := newPair.GetFirstCurrency
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/currency/symbol/README.md b/currency/symbol/README.md
index bed9164f..5a571b12 100644
--- a/currency/symbol/README.md
+++ b/currency/symbol/README.md
@@ -20,7 +20,18 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
## Current Features for symbol
-+ This package services the currency package.
++ This package services the currency package by providing symbol mapping.
+
++ Example below:
+```go
+import "github.com/thrasher-/gocryptotrader/currency/symbol"
+
+// Get the string of the symbol by the currency
+chineseYen := "CNY"
+symbol := symbol.GetSymbolByCurrencyName(chineseYen)
+
+// symbol == "¥"
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/currency/translation/README.md b/currency/translation/README.md
index 926ef033..3a8368e1 100644
--- a/currency/translation/README.md
+++ b/currency/translation/README.md
@@ -22,6 +22,16 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
+ This package services the currency package with translation functions.
++ Example below:
+```go
+import "github.com/thrasher-/gocryptotrader/currency/translation"
+
+// Is translatable
+b := translation.HasTranslation("BTC")
+
+// b == true; translation = XBT
+```
+
### Please click GoDocs chevron above to view current GoDoc information for this package
## Contribution
diff --git a/exchanges/README.md b/exchanges/README.md
index 018e0e0e..8a547d64 100644
--- a/exchanges/README.md
+++ b/exchanges/README.md
@@ -22,6 +22,9 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
+ This package is used to connect and query data from supported exchanges.
++ Please checkout individual exchange README for more information on
+implementation
+
### Please click GoDocs chevron above to view current GoDoc information for this package
## Contribution
diff --git a/exchanges/alphapoint/README.md b/exchanges/alphapoint/README.md
index e8f23250..4267a890 100644
--- a/exchanges/alphapoint/README.md
+++ b/exchanges/alphapoint/README.md
@@ -18,11 +18,13 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Alphapoint Exchange
+## Alphapoint Exchange
-### Current Features
++ Please visit [Alphapoint](https://www.alphapoint.com/) for more info.
-+ Initial generation
+### How to enable
+
++ Not currently configurable
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/anx/README.md b/exchanges/anx/README.md
index ca64a4e4..785ed640 100644
--- a/exchanges/anx/README.md
+++ b/exchanges/anx/README.md
@@ -18,11 +18,108 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## ANX Exchange
+## ANX Exchange
### Current Features
-+ Initial generation
++ REST functions
+
+### Features not yet included
+
++ Long polling streaming
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var a exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "ANX" {
+ a = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := a.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := a.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := a.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := a.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := a.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := a.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := a.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do LongPolling public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/binance/README.md b/exchanges/binance/README.md
index f67e4a86..73c15cf3 100644
--- a/exchanges/binance/README.md
+++ b/exchanges/binance/README.md
@@ -18,11 +18,105 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Binance Exchange
+## Binance Exchange
### Current Features
-+ Initial generation
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Binance" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/bitfinex/README.md b/exchanges/bitfinex/README.md
index db13503a..1a5f7f85 100644
--- a/exchanges/bitfinex/README.md
+++ b/exchanges/bitfinex/README.md
@@ -18,11 +18,105 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Bitfinex Exchange
+## Bitfinex Exchange
### Current Features
-+ Initial generation
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Bitfinex" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/bitflyer/README.md b/exchanges/bitflyer/README.md
index ed6afe4c..1563d5de 100644
--- a/exchanges/bitflyer/README.md
+++ b/exchanges/bitflyer/README.md
@@ -18,11 +18,104 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Bitflyer Exchange
+## Bitflyer Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Bitflyer" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/bithumb/README.md b/exchanges/bithumb/README.md
index 1cb80ada..15e69d7a 100644
--- a/exchanges/bithumb/README.md
+++ b/exchanges/bithumb/README.md
@@ -18,11 +18,97 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Bithumb Exchange
+## Bithumb Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Bithumb" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/bitstamp/README.md b/exchanges/bitstamp/README.md
index daa505c8..5576327b 100644
--- a/exchanges/bitstamp/README.md
+++ b/exchanges/bitstamp/README.md
@@ -18,11 +18,105 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Bitstamp Exchange
+## Bitstamp Exchange
### Current Features
-+ Initial generation
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Bitstamp" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/bittrex/README.md b/exchanges/bittrex/README.md
index b24af71f..08a4b15a 100644
--- a/exchanges/bittrex/README.md
+++ b/exchanges/bittrex/README.md
@@ -18,11 +18,97 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Bittrex Exchange
+## Bittrex Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Bittrex" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/btcc/README.md b/exchanges/btcc/README.md
index 97fc2370..f275ba62 100644
--- a/exchanges/btcc/README.md
+++ b/exchanges/btcc/README.md
@@ -18,11 +18,105 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## BTCC Exchange
+## BTCC Exchange
### Current Features
-+ Initial generation
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "BTCC" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/btcmarkets/README.md b/exchanges/btcmarkets/README.md
index a5e1e0a7..43d1a83b 100644
--- a/exchanges/btcmarkets/README.md
+++ b/exchanges/btcmarkets/README.md
@@ -18,11 +18,97 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## BTCMarkets Exchange
+## BTCMarkets Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "BTCMarkets" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/coinbasepro/README.md b/exchanges/coinbasepro/README.md
index 798d8ea4..c90291bb 100644
--- a/exchanges/coinbasepro/README.md
+++ b/exchanges/coinbasepro/README.md
@@ -1,4 +1,4 @@
-# GoCryptoTrader package CoinbasePro
+# GoCryptoTrader package Coinbasepro
@@ -18,11 +18,105 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## CoinbasePro Exchange
+## CoinbasePro Exchange
### Current Features
-+ Initial generation
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var c exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "CoinbasePro" {
+ c = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := c.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := c.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := c.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := c.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := c.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := c.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := c.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/coinut/README.md b/exchanges/coinut/README.md
index 162f976b..cecb5540 100644
--- a/exchanges/coinut/README.md
+++ b/exchanges/coinut/README.md
@@ -18,11 +18,105 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Coinut Exchange
+## Coinut Exchange
### Current Features
-+ Initial generation
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var c exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Coinut" {
+ c = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := c.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := c.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := c.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := c.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := c.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := c.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := c.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/exmo/README.md b/exchanges/exmo/README.md
index 954ac8af..1393fddb 100644
--- a/exchanges/exmo/README.md
+++ b/exchanges/exmo/README.md
@@ -18,11 +18,97 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Exmo Exchange
+## Exmo Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var e exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Exmo" {
+ e = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := e.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := e.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := e.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := e.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := e.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := e.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := e.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/gemini/README.md b/exchanges/gemini/README.md
index b09379b8..dad27ba5 100644
--- a/exchanges/gemini/README.md
+++ b/exchanges/gemini/README.md
@@ -18,11 +18,97 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Gemini Exchange
+## Gemini Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var g exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Gemini" {
+ g = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := g.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := g.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := g.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := g.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := g.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := g.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := g.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/hitbtc/README.md b/exchanges/hitbtc/README.md
index f81cb34d..a57f6b73 100644
--- a/exchanges/hitbtc/README.md
+++ b/exchanges/hitbtc/README.md
@@ -18,11 +18,105 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## HitBTC Exchange
+## HitBTC Exchange
### Current Features
-+ Initial generation
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var h exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "HitBTC" {
+ h = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := h.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := h.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := h.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := h.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := h.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := h.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := h.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/huobi/README.md b/exchanges/huobi/README.md
index f0d13c71..4b969340 100644
--- a/exchanges/huobi/README.md
+++ b/exchanges/huobi/README.md
@@ -18,11 +18,104 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Huobi Exchange
+## Huobi Exchange
### Current Features
-+ Initial generation
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var h exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Huobi" {
+ h = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := h.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := h.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := h.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := h.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := h.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := h.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := h.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/itbit/README.md b/exchanges/itbit/README.md
index ec59e996..ae36c796 100644
--- a/exchanges/itbit/README.md
+++ b/exchanges/itbit/README.md
@@ -18,11 +18,97 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Itbit Exchange
+## Itbit Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var i exchange.IBotExchange
+
+for x := range bot.exchanges {
+ if bot.exchanges[x].GetName() == "Itbit" {
+ i = bot.exchanges[x]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := i.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := i.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := i.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := i.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := i.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := i.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := i.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/kraken/README.md b/exchanges/kraken/README.md
index 291ddd35..f80a33a4 100644
--- a/exchanges/kraken/README.md
+++ b/exchanges/kraken/README.md
@@ -18,11 +18,97 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Kraken Exchange
+## Kraken Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var k exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Kraken" {
+ k = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := k.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := k.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := k.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := k.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := k.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := k.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := k.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/lakebtc/README.md b/exchanges/lakebtc/README.md
index 9f4d3d37..70b1bae7 100644
--- a/exchanges/lakebtc/README.md
+++ b/exchanges/lakebtc/README.md
@@ -18,11 +18,97 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## LakeBTC Exchange
+## LakeBTC Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var l exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "LakeBTC" {
+ l = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := l.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := l.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := l.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := l.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := l.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := l.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := l.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/liqui/README.md b/exchanges/liqui/README.md
index d34df7b8..c381bfa6 100644
--- a/exchanges/liqui/README.md
+++ b/exchanges/liqui/README.md
@@ -18,11 +18,97 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Liqui Exchange
+## Liqui Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var l exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Liqui" {
+ l = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := l.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := l.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := l.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := l.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := l.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := l.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := l.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/localbitcoins/README.md b/exchanges/localbitcoins/README.md
index 0a907fc7..fe29c3c4 100644
--- a/exchanges/localbitcoins/README.md
+++ b/exchanges/localbitcoins/README.md
@@ -18,11 +18,97 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## LocalBitcoins Exchange
+## LocalBitcoins Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var l exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "LocalBitcoins" {
+ l = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := l.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := l.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := l.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := l.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := l.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := l.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := l.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/okcoin/README.md b/exchanges/okcoin/README.md
index b2d998b3..b9b57cf5 100644
--- a/exchanges/okcoin/README.md
+++ b/exchanges/okcoin/README.md
@@ -18,11 +18,105 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## OKCoin Exchange
+## OKCoin Exchange
### Current Features
-+ Initial generation
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var o exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "OKCoin" {
+ y = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := o.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := o.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := o.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := o.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := o.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := o.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := o.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/okex/README.md b/exchanges/okex/README.md
index 0ab7b5c8..e6a2b00a 100644
--- a/exchanges/okex/README.md
+++ b/exchanges/okex/README.md
@@ -18,11 +18,97 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## OKex Exchange
+## OKex Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var o exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "OKex" {
+ y = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := o.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := o.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := o.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := o.GetSpotTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := o.GetSpotMarketDepth()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetContractPosition returns contract positioning
+accountInfo, err := o.GetContractPosition(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := o.PlaceContractOrders(...)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/orderbook/README.md b/exchanges/orderbook/README.md
index a87cd998..f74093f9 100644
--- a/exchanges/orderbook/README.md
+++ b/exchanges/orderbook/README.md
@@ -21,6 +21,37 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
## Current Features for orderbook
+ This package facilitates orderbook generation.
++ Attaches methods to an orderbook
+ - To Return total Bids
+ - To Return total Asks
+ - Update orderbooks
++ Gets a loaded orderbook by exchange, asset type and currency pair.
+
++ This package is primarily used in conjunction with but not limited to the
+exchange interface system set by exchange wrapper orderbook functions in
+"exchange"_wrapper.go.
+
+Examples below:
+
+```go
+ob, err := yobitExchange.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Find total asks which also returns total orderbook value
+totalAsks, totalOrderbookVal := ob.CalculateTotalAsks()
+```
+
++ or if you have a routine setting an exchange orderbook you can access it via
+the package itself.
+
+```go
+ob, err := orderbook.GetOrderbook(...)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/orders/README.md b/exchanges/orders/README.md
new file mode 100644
index 00000000..470ad688
--- /dev/null
+++ b/exchanges/orders/README.md
@@ -0,0 +1,48 @@
+# GoCryptoTrader package Orders
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/exchanges/orders)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This orders package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for orders
+
++ This package services the exchanges package with order handling.
+ - Creation of order
+ - Deletion of order
+ - Order tracking
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/exchanges/poloniex/README.md b/exchanges/poloniex/README.md
index c7c52e4c..8ea7cce5 100644
--- a/exchanges/poloniex/README.md
+++ b/exchanges/poloniex/README.md
@@ -18,11 +18,105 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Poloniex Exchange
+## Poloniex Exchange
### Current Features
-+ Initial generation
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var p exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Poloniex" {
+ y = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := p.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := p.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := p.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := p.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := p.GetOrderbook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// Cancels current account order
+accountInfo, err := p.CancelOrder()
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := p.PlaceOrder(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/request/README.md b/exchanges/request/README.md
new file mode 100644
index 00000000..884c0d54
--- /dev/null
+++ b/exchanges/request/README.md
@@ -0,0 +1,46 @@
+# GoCryptoTrader package Request
+
+
+
+
+[](https://travis-ci.org/thrasher-/gocryptotrader)
+[](https://github.com/thrasher-/gocryptotrader/blob/master/LICENSE)
+[](https://godoc.org/github.com/thrasher-/gocryptotrader/exchanges/request)
+[](http://codecov.io/github/thrasher-/gocryptotrader?branch=master)
+[](https://goreportcard.com/report/github.com/thrasher-/gocryptotrader)
+
+
+This request package is part of the GoCryptoTrader codebase.
+
+## This is still in active development
+
+You can track ideas, planned features and what's in progresss on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
+
+Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
+
+## Current Features for request
+
++ This package services the exchanges package with request handling.
+ - Throttling of requests for an individual exchange
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+
+## Contribution
+
+Please feel free to submit any pull requests or suggest any desired features to be added.
+
+When submitting a PR, please abide by our coding guidelines:
+
++ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
++ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
++ Code must adhere to our [coding style](https://github.com/thrasher-/gocryptotrader/blob/master/doc/coding_style.md).
++ Pull requests need to be based on and opened against the `master` branch.
+
+## Donations
+
+
+
+If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
+
+***1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB***
+
diff --git a/exchanges/stats/README.md b/exchanges/stats/README.md
index 11026c86..e188bd5d 100644
--- a/exchanges/stats/README.md
+++ b/exchanges/stats/README.md
@@ -20,7 +20,11 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
## Current Features for stats
-+ This package services the exchanges package.
++ This stats package services the exchanges package by providing stats on
+enabled exchanges i.e.
+ - Sort by largest volume
+ - Sort by best price for currency
+ - Others will be added soon
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/ticker/README.md b/exchanges/ticker/README.md
index 5947ac3b..d95cbad3 100644
--- a/exchanges/ticker/README.md
+++ b/exchanges/ticker/README.md
@@ -22,6 +22,38 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
+ This services the exchanges package by ticker functions.
++ This package facilitates ticker generation.
++ Attaches methods to an ticker
+ - Returns a string of a value
+
++ Gets a loaded ticker by exchange, asset type and currency pair.
+
++ This package is primarily used in conjunction with but not limited to the
+exchange interface system set by exchange wrapper orderbook functions in
+"exchange"_wrapper.go.
+
+Examples below:
+
+```go
+tick, err := yobitExchange.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Converts ticker value to string
+tickerValString := tick.PriceToString(...)
+```
+
++ or if you have a routine setting an exchange orderbook you can access it via
+the package itself.
+
+```go
+tick, err := ticker.GetTicker(...)
+if err != nil {
+ // Handle error
+}
+```
+
### Please click GoDocs chevron above to view current GoDoc information for this package
## Contribution
diff --git a/exchanges/wex/README.md b/exchanges/wex/README.md
index 5c2cc47f..36a8af82 100644
--- a/exchanges/wex/README.md
+++ b/exchanges/wex/README.md
@@ -18,11 +18,97 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Wex Exchange
+## Wex Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var w exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Wex" {
+ y = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := w.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := w.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := w.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := w.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := w.GetDepth()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := w.GetAccountInfo()
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := w.Trade("BTCUSD", "MARKET", 1, 2)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/exchanges/yobit/README.md b/exchanges/yobit/README.md
index 9f2c676d..2c4717cd 100644
--- a/exchanges/yobit/README.md
+++ b/exchanges/yobit/README.md
@@ -18,11 +18,97 @@ You can track ideas, planned features and what's in progresss on this Trello boa
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://gocryptotrader.herokuapp.com/)
-## Yobit Exchange
+## Yobit Exchange
### Current Features
-+ Initial generation
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var y exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Yobit" {
+ y = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := y.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := y.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := y.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := y.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := y.GetDepth()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := y.GetAccountInfo()
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := y.Trade("BTCUSD", "MARKET", 1, 2)
+if err != nil {
+ // Handle error
+}
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
diff --git a/testconfig.json b/testconfig.json
new file mode 100644
index 00000000..88daba0f
--- /dev/null
+++ b/testconfig.json
@@ -0,0 +1,1068 @@
+{
+ "Name": "Skynet",
+ "EncryptConfig": -1,
+ "GlobalHTTPTimeout": 15000000000,
+ "CurrencyConfig": {
+ "ForexProviders": [
+ {
+ "Name": "CurrencyConverter",
+ "Enabled": true,
+ "Verbose": false,
+ "RESTPollingDelay": 600,
+ "APIKey": "",
+ "APIKeyLvl": -1,
+ "PrimaryProvider": true
+ },
+ {
+ "Name": "CurrencyLayer",
+ "Enabled": false,
+ "Verbose": false,
+ "RESTPollingDelay": 600,
+ "APIKey": "Key",
+ "APIKeyLvl": -1,
+ "PrimaryProvider": false
+ },
+ {
+ "Name": "Fixer",
+ "Enabled": false,
+ "Verbose": false,
+ "RESTPollingDelay": 600,
+ "APIKey": "Key",
+ "APIKeyLvl": -1,
+ "PrimaryProvider": false
+ },
+ {
+ "Name": "OpenExchangeRates",
+ "Enabled": false,
+ "Verbose": false,
+ "RESTPollingDelay": 600,
+ "APIKey": "Key",
+ "APIKeyLvl": -1,
+ "PrimaryProvider": false
+ }
+ ],
+ "Cryptocurrencies": "BTC,LTC,ETH,XRP,NMC,NVC,PPC,XBT,DOGE,DASH",
+ "CurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "-"
+ },
+ "FiatDisplayCurrency": "USD"
+ },
+ "Communications": {
+ "Slack": {
+ "Name": "Slack",
+ "Enabled": false,
+ "Verbose": false,
+ "TargetChannel": "general",
+ "VerificationToken": "testtest"
+ },
+ "SMSGlobal": {
+ "Name": "SMSGlobal",
+ "Enabled": false,
+ "Verbose": false,
+ "Username": "Username",
+ "Password": "Password",
+ "Contacts": [
+ {
+ "Name": "Bob",
+ "Number": "12345",
+ "Enabled": false
+ }
+ ]
+ },
+ "SMTP": {
+ "Name": "SMTP",
+ "Enabled": false,
+ "Verbose": false,
+ "Host": "smtp.google.com",
+ "Port": "537",
+ "AccountName": "some",
+ "AccountPassword": "password",
+ "RecipientList": "lol123@gmail.com"
+ },
+ "Telegram": {
+ "Name": "Telegram",
+ "Enabled": false,
+ "Verbose": false,
+ "VerificationToken": "testest"
+ }
+ },
+ "PortfolioAddresses": {
+ "Addresses": [
+ {
+ "Address": "1JCe8z4jJVNXSjohjM4i9Hh813dLCNx2Sy",
+ "CoinType": "BTC",
+ "Balance": 53000.01310358,
+ "Description": ""
+ },
+ {
+ "Address": "3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v",
+ "CoinType": "BTC",
+ "Balance": 101848.28376405,
+ "Description": ""
+ },
+ {
+ "Address": "LgY8ahfHRhvjVQC1zJnBhFMG5pCTMuKRqh",
+ "CoinType": "LTC",
+ "Balance": 0.03665026,
+ "Description": ""
+ },
+ {
+ "Address": "0xb794f5ea0ba39494ce839613fffba74279579268",
+ "CoinType": "ETH",
+ "Balance": 0.25927504051326,
+ "Description": ""
+ }
+ ]
+ },
+ "Webserver": {
+ "Enabled": false,
+ "AdminUsername": "admin",
+ "AdminPassword": "Password",
+ "ListenAddress": ":9050",
+ "WebsocketConnectionLimit": 0,
+ "WebsocketMaxAuthFailures": 0,
+ "WebsocketAllowInsecureOrigin": false
+ },
+ "Exchanges": [
+ {
+ "Name": "ANX",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "ATENC_GBP,ATENC_NZD,BTC_AUD,BTC_SGD,LTC_BTC,START_GBP,STR_BTC,XRP_BTC,ATENC_SGD,BTC_GBP,DOGE_BTC,OAX_ETH,START_AUD,START_JPY,ATENC_USD,BTC_EUR,GNT_ETH,START_EUR,ATENC_EUR,BTC_CAD,START_BTC,START_CAD,ATENC_HKD,ATENC_JPY,ETH_BTC,ETH_HKD,START_HKD,START_USD,ATENC_AUD,ETH_USD,START_SGD,ATENC_CAD,BTC_HKD,BTC_JPY,BTC_NZD,BTC_USD,START_NZD",
+ "EnabledPairs": "BTC_USD,BTC_HKD,BTC_EUR,BTC_CAD,BTC_AUD,BTC_SGD,BTC_JPY,BTC_GBP,BTC_NZD,LTC_BTC,DOG_EBTC,STR_BTC,XRP_BTC",
+ "BaseCurrencies": "USD,HKD,EUR,CAD,AUD,SGD,JPY,GBP,NZD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "_"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "Binance",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "ETH-BTC,LTC-BTC,BNB-BTC,NEO-BTC,QTUM-ETH,EOS-ETH,SNT-ETH,BNT-ETH,BCC-BTC,GAS-BTC,BNB-ETH,BTC-USDT,ETH-USDT,HSR-BTC,OAX-ETH,DNT-ETH,MCO-ETH,ICN-ETH,MCO-BTC,WTC-BTC,WTC-ETH,LRC-BTC,LRC-ETH,QTUM-BTC,YOYO-BTC,OMG-BTC,OMG-ETH,ZRX-BTC,ZRX-ETH,STRAT-BTC,STRAT-ETH,SNGLS-BTC,SNGLS-ETH,BQX-BTC,BQX-ETH,KNC-BTC,KNC-ETH,FUN-BTC,FUN-ETH,SNM-BTC,SNM-ETH,NEO-ETH,IOTA-BTC,IOTA-ETH,LINK-BTC,LINK-ETH,XVG-BTC,XVG-ETH,SALT-BTC,SALT-ETH,MDA-BTC,MDA-ETH,MTL-BTC,MTL-ETH,SUB-BTC,SUB-ETH,EOS-BTC,SNT-BTC,ETC-ETH,ETC-BTC,MTH-BTC,MTH-ETH,ENG-BTC,ENG-ETH,DNT-BTC,ZEC-BTC,ZEC-ETH,BNT-BTC,AST-BTC,AST-ETH,DASH-BTC,DASH-ETH,OAX-BTC,ICN-BTC,BTG-BTC,BTG-ETH,EVX-BTC,EVX-ETH,REQ-BTC,REQ-ETH,VIB-BTC,VIB-ETH,HSR-ETH,TRX-BTC,TRX-ETH,POWR-BTC,POWR-ETH,ARK-BTC,ARK-ETH,YOYO-ETH,XRP-BTC,XRP-ETH,MOD-BTC,MOD-ETH,ENJ-BTC,ENJ-ETH,STORJ-BTC,STORJ-ETH,BNB-USDT,VEN-BNB,YOYO-BNB,POWR-BNB,VEN-BTC,VEN-ETH,KMD-BTC,KMD-ETH,NULS-BNB,RCN-BTC,RCN-ETH,RCN-BNB,NULS-BTC,NULS-ETH,RDN-BTC,RDN-ETH,RDN-BNB,XMR-BTC,XMR-ETH,DLT-BNB,WTC-BNB,DLT-BTC,DLT-ETH,AMB-BTC,AMB-ETH,AMB-BNB,BCC-ETH,BCC-USDT,BCC-BNB,BAT-BTC,BAT-ETH,BAT-BNB,BCPT-BTC,BCPT-ETH,BCPT-BNB,ARN-BTC,ARN-ETH,GVT-BTC,GVT-ETH,CDT-BTC,CDT-ETH,GXS-BTC,GXS-ETH,NEO-USDT,NEO-BNB,POE-BTC,POE-ETH,QSP-BTC,QSP-ETH,QSP-BNB,BTS-BTC,BTS-ETH,BTS-BNB,XZC-BTC,XZC-ETH,XZC-BNB,LSK-BTC,LSK-ETH,LSK-BNB,TNT-BTC,TNT-ETH,FUEL-BTC,FUEL-ETH,MANA-BTC,MANA-ETH,BCD-BTC,BCD-ETH,DGD-BTC,DGD-ETH,IOTA-BNB,ADX-BTC,ADX-ETH,ADX-BNB,ADA-BTC,ADA-ETH,PPT-BTC,PPT-ETH,CMT-BTC,CMT-ETH,CMT-BNB,XLM-BTC,XLM-ETH,XLM-BNB,CND-BTC,CND-ETH,CND-BNB,LEND-BTC,LEND-ETH,WABI-BTC,WABI-ETH,WABI-BNB,LTC-ETH,LTC-USDT,LTC-BNB,TNB-BTC,TNB-ETH,WAVES-BTC,WAVES-ETH,WAVES-BNB,GTO-BTC,GTO-ETH,GTO-BNB,ICX-BTC,ICX-ETH,ICX-BNB,OST-BTC,OST-ETH,OST-BNB,ELF-BTC,ELF-ETH,AION-BTC,AION-ETH,AION-BNB,NEBL-BTC,NEBL-ETH,NEBL-BNB,BRD-BTC,BRD-ETH,BRD-BNB,MCO-BNB,EDO-BTC,EDO-ETH,WINGS-BTC,WINGS-ETH,NAV-BTC,NAV-ETH,NAV-BNB,LUN-BTC,LUN-ETH,TRIG-BTC,TRIG-ETH,TRIG-BNB,APPC-BTC,APPC-ETH,APPC-BNB,VIBE-BTC,VIBE-ETH,RLC-BTC,RLC-ETH,RLC-BNB,INS-BTC,INS-ETH,PIVX-BTC,PIVX-ETH,PIVX-BNB,IOST-BTC,IOST-ETH,CHAT-BTC,CHAT-ETH,STEEM-BTC,STEEM-ETH,STEEM-BNB,NANO-BTC,NANO-ETH,NANO-BNB,VIA-BTC,VIA-ETH,VIA-BNB,BLZ-BTC,BLZ-ETH,BLZ-BNB,AE-BTC,AE-ETH,AE-BNB,RPX-BTC,RPX-ETH,RPX-BNB,NCASH-BTC,NCASH-ETH,NCASH-BNB,POA-BTC,POA-ETH,POA-BNB,ZIL-BTC,ZIL-ETH,ZIL-BNB,ONT-BTC,ONT-ETH,ONT-BNB,STORM-BTC,STORM-ETH,STORM-BNB,QTUM-BNB,QTUM-USDT,XEM-BTC,XEM-ETH,XEM-BNB,WAN-BTC,WAN-ETH,WAN-BNB,WPR-BTC,WPR-ETH,QLC-BTC,QLC-ETH,SYS-BTC,SYS-ETH,SYS-BNB,QLC-BNB,GRS-BTC,GRS-ETH,ADA-USDT,ADA-BNB,CLOAK-BTC,CLOAK-ETH,GNT-BTC,GNT-ETH,GNT-BNB,LOOM-BTC,LOOM-ETH,LOOM-BNB,XRP-USDT,BCN-BTC,BCN-ETH,BCN-BNB,REP-BTC,REP-ETH,REP-BNB,TUSD-BTC,TUSD-ETH,TUSD-BNB,ZEN-BTC,ZEN-ETH,ZEN-BNB,SKY-BTC,SKY-ETH,SKY-BNB,EOS-USDT,EOS-BNB,CVC-BTC,CVC-ETH,CVC-BNB,THETA-BTC,THETA-ETH,THETA-BNB,XRP-BNB,TUSD-USDT,IOTA-USDT,XLM-USDT,IOTX-BTC,IOTX-ETH,QKC-BTC,QKC-ETH,AGI-BTC,AGI-ETH,AGI-BNB,NXS-BTC,NXS-ETH,NXS-BNB,ENJ-BNB,DATA-BTC,DATA-ETH,ONT-USDT,TRX-USDT,ETC-USDT,ETC-BNB,ICX-USDT,SC-BTC,SC-ETH,SC-BNB,NPXS-BTC,NPXS-ETH,VEN-USDT,KEY-BTC,KEY-ETH,NAS-BTC,NAS-ETH,NAS-BNB,MFT-BTC,MFT-ETH,MFT-BNB,DENT-BTC,DENT-ETH",
+ "EnabledPairs": "BTC-USDT,ETH-USDT,BCC-USDT,LTC-USDT,ADA-USDT,XRP-USDT,VEN-USDT",
+ "BaseCurrencies": "USD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "-"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "Bitfinex",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "BTCUSD,LTCUSD,LTCBTC,ETHUSD,ETHBTC,ETCBTC,ETCUSD,RRTUSD,RRTBTC,ZECUSD,ZECBTC,XMRUSD,XMRBTC,DSHUSD,DSHBTC,BTCEUR,BTCJPY,XRPUSD,XRPBTC,IOTUSD,IOTBTC,IOTETH,EOSUSD,EOSBTC,EOSETH,SANUSD,SANBTC,SANETH,OMGUSD,OMGBTC,OMGETH,BCHUSD,BCHBTC,BCHETH,NEOUSD,NEOBTC,NEOETH,ETPUSD,ETPBTC,ETPETH,QTMUSD,QTMBTC,QTMETH,AVTUSD,AVTBTC,AVTETH,EDOUSD,EDOBTC,EDOETH,BTGUSD,BTGBTC,DATUSD,DATBTC,DATETH,QSHUSD,QSHBTC,QSHETH,YYWUSD,YYWBTC,YYWETH,GNTUSD,GNTBTC,GNTETH,SNTUSD,SNTBTC,SNTETH,IOTEUR,BATUSD,BATBTC,BATETH,MNAUSD,MNABTC,MNAETH,FUNUSD,FUNBTC,FUNETH,ZRXUSD,ZRXBTC,ZRXETH,TNBUSD,TNBBTC,TNBETH,SPKUSD,SPKBTC,SPKETH,TRXUSD,TRXBTC,TRXETH,RCNUSD,RCNBTC,RCNETH,RLCUSD,RLCBTC,RLCETH,AIDUSD,AIDBTC,AIDETH,SNGUSD,SNGBTC,SNGETH,REPUSD,REPBTC,REPETH,ELFUSD,ELFBTC,ELFETH,BTCGBP,ETHEUR,ETHJPY,ETHGBP,NEOEUR,NEOJPY,NEOGBP,EOSEUR,EOSJPY,EOSGBP,IOTJPY,IOTGBP,IOSUSD,IOSBTC,IOSETH,AIOUSD,AIOBTC,AIOETH,REQUSD,REQBTC,REQETH,RDNUSD,RDNBTC,RDNETH,LRCUSD,LRCBTC,LRCETH,WAXUSD,WAXBTC,WAXETH,DAIUSD,DAIBTC,DAIETH,CFIUSD,CFIBTC,CFIETH,AGIUSD,AGIBTC,AGIETH,BFTUSD,BFTBTC,BFTETH,MTNUSD,MTNBTC,MTNETH,ODEUSD,ODEBTC,ODEETH,ANTUSD,ANTBTC,ANTETH,DTHUSD,DTHBTC,DTHETH,MITUSD,MITBTC,MITETH,STJUSD,STJBTC,STJETH,XLMUSD,XLMEUR,XLMJPY,XLMGBP,XLMBTC,XLMETH,XVGUSD,XVGEUR,XVGJPY,XVGGBP,XVGBTC,XVGETH,BCIUSD,BCIBTC,MKRUSD,MKRBTC,MKRETH,VENUSD,VENBTC,VENETH,KNCUSD,KNCBTC,KNCETH,POAUSD,POABTC,POAETH,LYMUSD,LYMBTC,LYMETH,UTKUSD,UTKBTC,UTKETH,VEEUSD,VEEBTC,VEEETH,DADUSD,DADBTC,DADETH,ORSUSD,ORSBTC,ORSETH,AUCUSD,AUCBTC,AUCETH,POYUSD,POYBTC,POYETH,FSNUSD,FSNBTC,FSNETH,CBTUSD,CBTBTC,CBTETH,ZCNUSD,ZCNBTC,ZCNETH,SENUSD,SENBTC,SENETH,NCAUSD,NCABTC,NCAETH,CNDUSD,CNDBTC,CNDETH,CTXUSD,CTXBTC,CTXETH,PAIUSD,PAIBTC,SEEUSD,SEEBTC,SEEETH,ESSUSD,ESSBTC,ESSETH,ATMUSD,ATMBTC,ATMETH,HOTUSD,HOTBTC,HOTETH,DTAUSD,DTABTC,DTAETH,IQXUSD,IQXBTC,IQXEOS",
+ "EnabledPairs": "BTCUSD,LTCUSD,LTCBTC,ETHUSD,ETHBTC",
+ "BaseCurrencies": "USD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "Bitflyer",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "BTC_JPY,FXBTC_JPY,ETH_BTC,BCH_BTC",
+ "EnabledPairs": "BTC_JPY,ETH_BTC,BCH_BTC",
+ "BaseCurrencies": "JPY",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": false,
+ "PairsLastUpdated": 1529037622,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "_"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "_"
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "Bithumb",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "ClientID": "ClientID",
+ "AvailablePairs": "PAYKRW,WAXKRW,POWRKRW,AEKRW,KNCKRW,BTGKRW,GTOKRW,BCHKRW,MCOKRW,XRPKRW,ETCKRW,ETHKRW,ZECKRW,SNTKRW,HSRKRW,ELFKRW,XMRKRW,MITHKRW,DASHKRW,STRATKRW,VENKRW,ZILKRW,LRCKRW,QTUMKRW,ZRXKRW,OMGKRW,ADAKRW,ICXKRW,TRXKRW,ETHOSKRW,REPKRW,STEEMKRW,GNTKRW,LTCKRW,BTCKRW,EOSKRW,XEMKRW",
+ "EnabledPairs": "BTCKRW,ETHKRW,DASHKRW,LTCKRW,ETCKRW,XRPKRW,BCHKRW,XMRKRW,ZECKRW,QTUMKRW,BTGKRW,EOSKRW",
+ "BaseCurrencies": "KRW",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Index": "KRW"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "Bitstamp",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "ClientID": "ClientID",
+ "AvailablePairs": "LTCUSD,ETHUSD,XRPEUR,BCHUSD,BCHEUR,BTCEUR,XRPBTC,EURUSD,BCHBTC,LTCEUR,BTCUSD,LTCBTC,XRPUSD,ETHBTC,ETHEUR",
+ "EnabledPairs": "BTCUSD,BTCEUR,EURUSD,XRPUSD,XRPEUR",
+ "BaseCurrencies": "USD,EUR",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "Bittrex",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "BTC-LTC,BTC-DOGE,BTC-VTC,BTC-PPC,BTC-FTC,BTC-RDD,BTC-NXT,BTC-DASH,BTC-POT,BTC-BLK,BTC-EMC2,BTC-XMY,BTC-AUR,BTC-EFL,BTC-GLD,BTC-SLR,BTC-PTC,BTC-GRS,BTC-NLG,BTC-RBY,BTC-XWC,BTC-MONA,BTC-THC,BTC-ENRG,BTC-ERC,BTC-VRC,BTC-CURE,BTC-XMR,BTC-CLOAK,BTC-KORE,BTC-XDN,BTC-TRUST,BTC-NAV,BTC-XST,BTC-VIA,BTC-PINK,BTC-IOC,BTC-CANN,BTC-SYS,BTC-NEOS,BTC-DGB,BTC-BURST,BTC-EXCL,BTC-BITS,BTC-DOPE,BTC-BLOCK,BTC-ABY,BTC-BYC,BTC-XMG,BTC-BAY,BTC-SPR,BTC-VTR,BTC-XRP,BTC-GAME,BTC-COVAL,BTC-NXS,BTC-XCP,BTC-BITB,BTC-GEO,BTC-FLDC,BTC-GRC,BTC-FLO,BTC-NBT,BTC-MUE,BTC-XEM,BTC-CLAM,BTC-DMD,BTC-GAM,BTC-SPHR,BTC-OK,BTC-AEON,BTC-ETH,BTC-TX,BTC-BCY,BTC-EXP,BTC-OMNI,BTC-AMP,BTC-XLM,USDT-BTC,BTC-RVR,BTC-EMC,BTC-FCT,BTC-EGC,BTC-SLS,BTC-RADS,BTC-DCR,BTC-BSD,BTC-XVG,BTC-PIVX,BTC-MEME,BTC-STEEM,BTC-2GIVE,BTC-LSK,BTC-BRK,BTC-WAVES,BTC-LBC,BTC-SBD,BTC-BRX,BTC-ETC,ETH-ETC,BTC-STRAT,BTC-UNB,BTC-SYNX,BTC-EBST,BTC-VRM,BTC-SEQ,BTC-REP,BTC-SHIFT,BTC-ARDR,BTC-XZC,BTC-NEO,BTC-ZEC,BTC-ZCL,BTC-IOP,BTC-GOLOS,BTC-UBQ,BTC-KMD,BTC-GBG,BTC-SIB,BTC-ION,BTC-LMC,BTC-QWARK,BTC-CRW,BTC-SWT,BTC-MLN,BTC-ARK,BTC-DYN,BTC-TKS,BTC-MUSIC,BTC-DTB,BTC-INCNT,BTC-GBYTE,BTC-GNT,BTC-NXC,BTC-EDG,BTC-MORE,ETH-GNT,ETH-REP,USDT-ETH,BTC-WINGS,BTC-RLC,BTC-GNO,BTC-GUP,BTC-LUN,ETH-GUP,ETH-RLC,ETH-LUN,ETH-GNO,BTC-HMQ,BTC-ANT,ETH-ANT,BTC-SC,ETH-BAT,BTC-BAT,BTC-ZEN,BTC-QRL,BTC-CRB,ETH-MORE,BTC-PTOY,BTC-CFI,ETH-CFI,BTC-BNT,ETH-BNT,BTC-NMR,ETH-LTC,ETH-XRP,BTC-SNT,ETH-SNT,BTC-DCT,BTC-XEL,BTC-MCO,ETH-MCO,BTC-ADT,ETH-ADT,BTC-PAY,ETH-PAY,BTC-STORJ,BTC-ADX,ETH-ADX,ETH-DASH,ETH-SC,ETH-ZEC,USDT-ZEC,USDT-LTC,USDT-ETC,USDT-XRP,BTC-OMG,ETH-OMG,BTC-CVC,ETH-CVC,BTC-PART,BTC-QTUM,ETH-QTUM,ETH-XMR,ETH-XEM,ETH-XLM,ETH-NEO,USDT-XMR,USDT-DASH,ETH-BCH,USDT-BCH,BTC-BCH,BTC-DNT,USDT-NEO,ETH-WAVES,ETH-STRAT,ETH-DGB,ETH-FCT,USDT-OMG,BTC-ADA,BTC-MANA,ETH-MANA,BTC-SALT,ETH-SALT,BTC-TIX,ETH-TIX,BTC-RCN,ETH-RCN,BTC-VIB,ETH-VIB,BTC-MER,BTC-POWR,ETH-POWR,BTC-BTG,ETH-BTG,USDT-BTG,ETH-ADA,BTC-ENG,ETH-ENG,USDT-ADA,USDT-XVG,USDT-NXT,BTC-UKG,ETH-UKG,BTC-IGNIS,BTC-SRN,ETH-SRN,BTC-WAX,ETH-WAX,BTC-ZRX,ETH-ZRX,BTC-VEE,ETH-VEE,BTC-BCPT,ETH-BCPT,BTC-TRX,ETH-TRX,BTC-TUSD,BTC-LRC,ETH-LRC,ETH-TUSD,BTC-UP,ETH-UP,BTC-DMT,ETH-DMT,USDT-TUSD,BTC-POLY,ETH-POLY,BTC-PRO,ETH-PRO,USDT-SC,USDT-TRX,BTC-BLT,ETH-BLT,BTC-STORM,ETH-STORM,BTC-AID,ETH-AID,BTC-NGC,ETH-NGC,BTC-GTO,ETH-GTO,USDT-DCR,BTC-OCN,ETH-OCN,USD-BTC,USD-USDT,USD-TUSD,BTC-TUBE,BTC-CBC,BTC-CMCT,USD-ETH,BTC-NLC2,BTC-BKX,BTC-MFT,BTC-LOOM",
+ "EnabledPairs": "USDT-BTC",
+ "BaseCurrencies": "USD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "-"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "-"
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "BTCC",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "BTCUSD",
+ "EnabledPairs": "BTCUSD",
+ "BaseCurrencies": "USD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": false
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "BTC Markets",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "LTCAUD,BTCAUD,ETHAUD,ETCAUD,XRPAUD,BCHAUD,LTCBTC,ETHBTC,ETCBTC,XRPBTC,BCHBTC",
+ "EnabledPairs": "LTCAUD,BTCAUD",
+ "BaseCurrencies": "AUD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "COINUT",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "ClientID": "ClientID",
+ "AvailablePairs": "LTCUSDT,BTCSGD,ETHUSDT,LTCSGD,ETHBTC,ETHSGD,LTCBTC,XMRBTC,ZECBTC,BTCUSD,ETCBTC,ETCUSDT,XMRUSDT,ETHLTC,LTCUSD,USDTUSD,XMRLTC,ZECLTC,ZECUSDT,BTCUSDT,ETCLTC,USDTSGD",
+ "EnabledPairs": "LTCBTC,ETCBTC,ETHBTC",
+ "BaseCurrencies": "USD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "EXMO",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "STQ_EUR,ZEC_USD,XRP_USD,XLM_BTC,XLM_USD,ETC_RUB,BCH_RUB,ETH_USD,ZEC_RUB,WAVES_BTC,BTC_USD,DXT_BTC,EOS_BTC,XRP_RUB,BTC_UAH,STQ_BTC,ETC_USD,ETH_UAH,BTC_USDT,ETH_USDT,HBZ_USD,LTC_BTC,XMR_EUR,LTC_EUR,BTG_USD,DASH_RUB,ETH_BTC,ZEC_EUR,KICK_BTC,DASH_USD,ETH_LTC,ETH_RUB,USDT_USD,WAVES_RUB,BCH_ETH,ETH_PLN,ETC_BTC,BTCZ_BTC,STQ_RUB,EOS_USD,BTC_PLN,LTC_USD,KICK_ETH,DXT_USD,HBZ_ETH,ETH_EUR,XMR_USD,USDT_RUB,USD_RUB,BCH_USD,DASH_BTC,LTC_RUB,DOGE_BTC,BCH_BTC,ZEC_BTC,XRP_BTC,BTC_EUR,BTG_BTC,HBZ_BTC,XMR_BTC,BTC_RUB,XLM_RUB,STQ_USD",
+ "EnabledPairs": "BTC_USD,LTC_USD",
+ "BaseCurrencies": "USD,EUR,RUB,PLN,UAH",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "_"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "_",
+ "Separator": ","
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "CoinbasePro",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "ClientID": "ClientID",
+ "AvailablePairs": "BCHBTC,BCHUSD,BTCEUR,BTCGBP,BTCUSD,ETHBTC,ETHEUR,ETHUSD,LTCBTC,LTCEUR,LTCUSD,BCHEUR",
+ "EnabledPairs": "BTCUSD,BTCGBP,BTCEUR",
+ "BaseCurrencies": "USD,GBP,EUR",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "-"
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "Gemini",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "BTCUSD,ETHBTC,ETHUSD,ZECUSD,ZECBTC,ZECETH",
+ "EnabledPairs": "BTCUSD",
+ "BaseCurrencies": "USD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "HitBTC",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "BCN-BTC,BTC-USD,DASH-BTC,DOGE-BTC,DOGE-USD,DSH-BTC,EMC-BTC,ETH-BTC,FCN-BTC,LSK-BTC,LTC-BTC,LTC-USD,NXT-BTC,SBD-BTC,SC-BTC,STEEM-BTC,XDN-BTC,XEM-BTC,XMR-BTC,ARDR-BTC,ZEC-BTC,WAVES-BTC,MAID-BTC,AMP-BTC,BUS-BTC,DGD-BTC,ICN-BTC,SNGLS-BTC,1ST-BTC,TRST-BTC,TIME-BTC,GNO-BTC,REP-BTC,XMR-USD,DASH-USD,ETH-USD,NXT-USD,ZRC-BTC,BOS-BTC,DCT-BTC,ANT-BTC,AEON-BTC,GUP-BTC,PLU-BTC,LUN-BTC,TAAS-BTC,NXC-BTC,EDG-BTC,RLC-BTC,SWT-BTC,TKN-BTC,WINGS-BTC,XAUR-BTC,AE-BTC,PTOY-BTC,ZEC-USD,XEM-USD,BCN-USD,XDN-USD,MAID-USD,ETC-BTC,ETC-USD,CFI-BTC,PLBT-BTC,BNT-BTC,XDNCO-BTC,FYN-ETH,SNM-BTC,SNM-ETH,SNT-ETH,CVC-USD,PAY-ETH,OAX-ETH,OMG-ETH,BQX-ETH,XTZ-BTC,DICE-BTC,CFI-ETH,PTOY-ETH,1ST-ETH,XAUR-ETH,TAAS-ETH,TIME-ETH,DICE-ETH,SWT-ETH,XMR-ETH,ETC-ETH,DASH-ETH,ZEC-ETH,PLU-ETH,GNO-ETH,XRP-BTC,NET-ETH,STRAT-USD,STRAT-BTC,SNC-ETH,ADX-ETH,BET-ETH,EOS-ETH,DENT-ETH,SAN-ETH,EOS-BTC,EOS-USD,MNE-BTC,MSP-ETH,DDF-ETH,XTZ-ETH,XTZ-USD,UET-ETH,MYB-ETH,SUR-ETH,IXT-ETH,PLR-ETH,TIX-ETH,NDC-ETH,PRO-ETH,AVT-ETH,COSS-ETH,EVX-USD,DLT-BTC,BNT-ETH,BNT-USD,QAU-BTC,QAU-ETH,MANA-USD,DNT-BTC,FYP-BTC,OPT-BTC,TNT-ETH,IFT-BTC,STX-BTC,STX-ETH,STX-USD,TNT-USD,TNT-BTC,CAT-BTC,CAT-ETH,CAT-USD,BCH-BTC,BCH-ETH,BCH-USD,ENG-ETH,XUC-USD,SNC-BTC,SNC-USD,OAX-USD,OAX-BTC,BAS-ETH,ZRX-BTC,ZRX-ETH,ZRX-USD,RVT-BTC,ICOS-BTC,ICOS-ETH,ICOS-USD,PPC-BTC,PPC-USD,QTUM-ETH,VERI-BTC,VERI-ETH,VERI-USD,IGNIS-ETH,PRG-BTC,PRG-ETH,PRG-USD,BMC-BTC,BMC-ETH,BMC-USD,CND-BTC,CND-ETH,CND-USD,SKIN-BTC,EMGO-BTC,EMGO-USD,CDT-ETH,CDT-USD,FUN-BTC,FUN-ETH,FUN-USD,HVN-BTC,HVN-ETH,FUEL-BTC,FUEL-ETH,FUEL-USD,POE-BTC,POE-ETH,MCAP-BTC,AIR-BTC,AIR-ETH,AIR-USD,AMB-USD,AMB-ETH,AMB-BTC,NTO-BTC,ICO-BTC,PING-BTC,GAME-BTC,TKR-ETH,HPC-BTC,PPT-ETH,MTH-BTC,MTH-ETH,WMGO-BTC,WMGO-USD,LRC-BTC,LRC-ETH,ICX-BTC,ICX-ETH,NEO-BTC,NEO-ETH,NEO-USD,CSNO-BTC,ORME-BTC,ICX-USD,PIX-BTC,PIX-ETH,IND-ETH,KICK-BTC,YOYOW-BTC,MIPS-BTC,CDT-BTC,XVG-BTC,XVG-ETH,XVG-USD,DGB-BTC,DGB-ETH,DGB-USD,DCN-BTC,DCN-ETH,DCN-USD,CCT-ETH,EBET-ETH,VIBE-BTC,VOISE-BTC,ENJ-BTC,ENJ-ETH,ENJ-USD,ZSC-BTC,ZSC-ETH,ZSC-USD,ETBS-BTC,TRX-BTC,TRX-ETH,TRX-USD,VEN-BTC,VEN-ETH,VEN-USD,ART-BTC,EVX-BTC,EVX-ETH,QVT-ETH,EBTCOLD-BTC,EBTCOLD-ETH,EBTCOLD-USD,BKB-BTC,EXN-BTC,TGT-BTC,ATS-ETH,BMT-BTC,BMT-ETH,SUB-BTC,SUB-ETH,SUB-USD,WTC-BTC,CNX-BTC,ATB-BTC,ATB-ETH,ATB-USD,ODN-BTC,BTM-BTC,BTM-ETH,BTM-USD,B2X-BTC,B2X-ETH,B2X-USD,ATM-BTC,ATM-ETH,ATM-USD,LIFE-BTC,VIB-BTC,VIB-ETH,VIB-USD,DRT-ETH,STU-USD,OMG-BTC,PAY-BTC,COSS-BTC,PPT-BTC,SNT-BTC,BTG-BTC,BTG-ETH,BTG-USD,SMART-BTC,SMART-ETH,SMART-USD,XUC-ETH,XUC-BTC,CL-BTC,CL-ETH,CL-USD,LA-ETH,CLD-BTC,CLD-ETH,CLD-USD,EDO-BTC,EDO-ETH,EDO-USD,HGT-ETH,POLL-BTC,IXT-BTC,ATS-BTC,SCL-BTC,ATL-BTC,EBTC-BTC,EBTC-ETH,EBTC-USD,ETP-BTC,ETP-ETH,ETP-USD,OTX-BTC,CDX-ETH,DRPU-BTC,NEBL-BTC,NEBL-ETH,HAC-BTC,CTX-BTC,CTX-ETH,ELE-BTC,ARN-BTC,ARN-ETH,STU-BTC,STU-ETH,GVT-ETH,INDI-BTC,BTX-BTC,LTC-ETH,BCN-ETH,MAID-ETH,NXT-ETH,STRAT-ETH,XDN-ETH,XEM-ETH,PLR-BTC,SUR-BTC,BQX-BTC,DOGE-ETH,ITS-BTC,AMM-BTC,AMM-ETH,AMM-USD,DBIX-BTC,PRE-BTC,KBR-BTC,TBT-BTC,ERO-BTC,SMS-BTC,SMS-ETH,SMS-USD,ZAP-BTC,DOV-BTC,DOV-ETH,DRPU-ETH,OTN-BTC,XRP-ETH,XRP-USD,HSR-BTC,LEND-BTC,LEND-ETH,SPF-BTC,SPF-ETH,SBTC-BTC,SBTC-ETH,WRC-BTC,WRC-ETH,WRC-USD,LOC-BTC,LOC-ETH,LOC-USD,SWFTC-BTC,SWFTC-ETH,SWFTC-USD,STAR-ETH,SBTC-USD,STORM-BTC,DIM-ETH,DIM-USD,DIM-BTC,NGC-BTC,NGC-ETH,NGC-USD,EMC-ETH,EMC-USD,MCO-BTC,MCO-ETH,MCO-USD,MANA-ETH,MANA-BTC,ECH-BTC,CPAY-ETH,DATA-BTC,DATA-ETH,DATA-USD,UTT-BTC,UTT-ETH,UTT-USD,KMD-BTC,KMD-ETH,KMD-USD,QTUM-USD,QTUM-BTC,SNT-USD,OMG-USD,EKO-BTC,EKO-ETH,ADX-BTC,ADX-USD,LSK-ETH,LSK-USD,PLR-USD,SUR-USD,BQX-USD,DRT-USD,REP-ETH,REP-USD,TIO-BTC,TIO-ETH,TIO-USD,WAX-BTC,WAX-ETH,WAX-USD,EET-BTC,EET-ETH,EET-USD,C20-BTC,C20-ETH,IDH-BTC,IDH-ETH,IPL-BTC,COV-BTC,COV-ETH,SENT-BTC,SENT-ETH,SENT-USD,SMT-BTC,SMT-ETH,SMT-USD,CAS-BTC,CAS-ETH,CAS-USD,CHAT-BTC,CHAT-ETH,CHAT-USD,GRMD-BTC,AVH-BTC,TRAC-ETH,JNT-ETH,PCL-BTC,PCL-ETH,CLOUT-BTC,UTK-BTC,UTK-ETH,UTK-USD,GNX-ETH,CHSB-BTC,CHSB-ETH,AVH-ETH,DAY-BTC,DAY-ETH,DAY-USD,NEU-BTC,NEU-ETH,NEU-USD,AVH-USD,CLOUT-ETH,CLOUT-USD,TAU-BTC,MEK-BTC,FLP-BTC,FLP-ETH,FLP-USD,R-BTC,R-ETH,EKO-USD,BCPT-ETH,BCPT-USD,PKT-BTC,PKT-ETH,WLK-BTC,WLK-ETH,WLK-USD,EVN-BTC,CPG-BTC,CPG-ETH,BPTN-BTC,BPTN-ETH,BPTN-USD,BETR-BTC,BETR-ETH,ARCT-BTC,ARCT-USD,DBET-BTC,DBET-ETH,DBET-USD,RNTB-ETH,HAND-ETH,HAND-USD,BEZ-BTC,BEZ-ETH,BEZ-USD,ACO-ETH,CTE-BTC,CTE-ETH,CTE-USD,UTNP-BTC,UTNP-ETH,UTNP-USD,CPY-BTC,CPY-ETH,CHP-ETH,BCPT-BTC,ACT-BTC,ACT-ETH,ACT-USD,HIRE-ETH,ADA-BTC,ADA-ETH,ADA-USD,SIG-BTC,RPM-BTC,RPM-ETH,MTX-BTC,MTX-ETH,MTX-USD,BGG-BTC,BGG-ETH,BGG-USD,SETH-ETH,WIZ-BTC,WIZ-ETH,WIZ-USD,DADI-BTC,DADI-ETH,BDG-ETH,DATX-BTC,DATX-ETH,TRUE-BTC,DRG-BTC,DRG-ETH,BANCA-BTC,BANCA-ETH,ZAP-ETH,ZAP-USD,AUTO-BTC,NOAH-BTC,SOC-BTC,WILD-BTC,INSUR-BTC,INSUR-ETH,OCN-BTC,OCN-ETH,STQ-BTC,STQ-ETH,XLM-BTC,XLM-ETH,XLM-USD,IOTA-BTC,IOTA-ETH,IOTA-USD,DRT-BTC,MLD-BTC,MLD-ETH,MLD-USD,BETR-USD,CGC-ETH,ERT-BTC,CRPT-BTC,CRPT-USD,MESH-BTC,MESH-ETH,MESH-USD,HLW-ETH,IHT-BTC,IHT-ETH,IHT-USD,SCC-BTC,YCC-BTC,DAN-BTC,TEL-BTC,TEL-ETH,BUBO-BTC,BUBO-ETH,BUBO-USD,VIT-BTC,VIT-ETH,VIT-USD,NCT-BTC,NCT-ETH,NCT-USD,AXP-BTC,AXP-ETH,BMH-BTC,BANCA-USD,NOAH-ETH,NOAH-USD,HQX-BTC,LDC-BTC,XMO-BTC,XMO-USD,XMO-ETH,BERRY-BTC,BERRY-ETH,BERRY-USD,BSTN-BTC,BSTN-ETH,BSTN-USD,GBX-BTC,GBX-ETH,GBX-USD,SHIP-BTC,SHIP-ETH,NANO-BTC,NANO-ETH,NANO-USD,LNC-BTC,UNC-BTC,UNC-ETH,RPX-BTC,RPX-ETH,RPX-USD,KIN-ETH,ARDR-USD,DAXT-BTC,DAXT-ETH,FOTA-ETH,FOTA-BTC,SETH-BTC,CVT-BTC,CVT-ETH,CVT-USD,STQ-USD,GNT-BTC,GNT-ETH,GNT-USD,ADH-BTC,ADH-ETH,BBC-BTC,BBC-ETH,GET-BTC,MITH-BTC,MITH-ETH,MITH-USD,SUNC-ETH,DADI-USD,TKY-BTC,ACAT-BTC,ACAT-ETH,ACAT-USD,BTX-USD,TCN-BTC,VIO-ETH,WIKI-BTC,WIKI-ETH,WIKI-USD,ONT-BTC,ONT-ETH,ONT-USD,FTX-BTC,FTX-ETH,FREC-BTC,NAVI-BTC,FREC-ETH,FREC-USD,VME-ETH,NAVI-ETH,BTCP-BTC,LND-ETH,CSM-BTC,NANJ-BTC,MTC-BTC,MTC-ETH,MTC-USD,NTK-BTC,NTK-ETH,NTK-USD,AUC-BTC,AUC-ETH,CMCT-BTC,CMCT-ETH,CMCT-USD,MAN-BTC,MAN-ETH,MAN-USD,HIRE-BTC,TKA-BTC,TKA-ETH,TKA-USD,PNT-BTC,PNT-ETH,FXT-BTC,NEXO-BTC,CHX-BTC,CHX-ETH,CHX-USD,PAT-BTC,PAT-ETH,XMC-BTC,EJOY-BTC,EJOY-ETH,EJOY-USD,FXT-ETH,HERO-BTC,HERO-ETH,XMC-ETH,XMC-USD,STAK-BTC,STAK-ETH,FDZ-BTC,FDZ-ETH,FDZ-USD,SPD-BTC,SPD-ETH,LUC-BTC,MITX-BTC,TIV-BTC,B2G-BTC,B2G-USD,ZPT-BTC,ZPT-ETH,HBZ-BTC,FACE-BTC,FACE-ETH,HBZ-ETH,HBZ-USD,ZPT-USD,MORPH-BTC,MORPH-ETH,MORPH-USD,EBKC-BTC,CPT-BTC,PAT-USD,HTML-BTC,HTML-ETH,MITX-ETH,JOT-BTC,JBC-BTC,JBC-ETH,BTS-BTC,BNK-BTC,KBC-BTC,KBC-ETH,BNK-ETH,BNK-USD,TIV-ETH,TIV-USD,LUC-ETH,LUC-USD,CSM-ETH,CSM-USD,INK-BTC,SPC-BTC,IOST-BTC,INK-ETH,INK-USD,SPC-ETH,SPC-USD,CBC-BTC,IOST-USD,COIN-BTC,ZIL-BTC,COIN-USD,COIN-ETH,PMNT-BTC,ABYSS-BTC,ABYSS-ETH,ZIL-USD,BCI-BTC,CBC-ETH,CBC-USD,PITCH-BTC,PITCH-ETH,HTML-USD,TDS-BTC,TDS-ETH,TDS-USD,SBD-ETH,SBD-USD,DPN-BTC,UUU-BTC,UUU-ETH,XBP-BTC,KRM-USD,CLN-BTC,IVY-BTC,IVY-ETH,TTU-BTC,TTU-ETH,TTU-USD,CLN-ETH,DOR-BTC,DOR-ETH,DOR-USD,ELEC-BTC,ELEC-ETH,ELEC-USD,QNTU-BTC,QNTU-ETH,QNTU-USD,IPL-ETH,IPL-USD,CENNZ-BTC,BTCP-ETH,BTCP-USD,CENNZ-ETH,SWM-BTC,MXM-BTC,MXM-ETH,SPF-USD,LCC-BTC,HGT-BTC,BTC-DAI,ETH-DAI,MKR-DAI,EOS-DAI,USD-DAI,ETH-TUSD,BTC-TUSD,LTC-TUSD,XMR-TUSD,ZRX-TUSD,NEO-TUSD,BCH-TUSD,USD-TUSD,MKR-BTC,MKR-ETH,MKR-USD,TUSD-DAI,NEO-DAI,LTC-DAI,XMR-DAI,BCH-DAI,XRP-DAI,NEXO-ETH,NEXO-USD,DWS-BTC,DWS-ETH,DWS-USD,APPC-BTC,APPC-ETH,APPC-USD,BIT-ETH,REX-BTC,REX-ETH,REX-USD,ELF-BTC,ELF-USD,CVCOIN-BTC,CVCOIN-ETH,CVCOIN-USD,HQX-ETH,HQX-USD,EBKC-ETH,EBKC-USD,EDG-ETH,EDG-USD",
+ "EnabledPairs": "BTC-USD",
+ "BaseCurrencies": "USD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "-"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "Huobi",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "APIAuthPEMKey": "-----BEGIN EC PRIVATE KEY-----\nJUSTADUMMY\n-----END EC PRIVATE KEY-----\n",
+ "AvailablePairs": "BTC-USDT,BCH-USDT,ETH-USDT,ETC-USDT,LTC-USDT,EOS-USDT,XRP-USDT,OMG-USDT,DASH-USDT,ZEC-USDT,ADA-USDT,STEEM-USDT,IOTA-USDT,OCN-USDT,SOC-USDT,CTXC-USDT,ACT-USDT,BTM-USDT,BTS-USDT,ONT-USDT,IOST-USDT,HT-USDT,TRX-USDT,DTA-USDT,NEO-USDT,QTUM-USDT,SMT-USDT,ELA-USDT,VEN-USDT,THETA-USDT,SNT-USDT,ZIL-USDT,XEM-USDT,NAS-USDT,RUFF-USDT,HSR-USDT,LET-USDT,MDS-USDT,STORJ-USDT,ELF-USDT,ITC-USDT,CVC-USDT,GNT-USDT,XMR-BTC,BCH-BTC,ETH-BTC,LTC-BTC,ETC-BTC,EOS-BTC,OMG-BTC,XRP-BTC,DASH-BTC,ZEC-BTC,ADA-BTC,STEEM-BTC,IOTA-BTC,POLY-BTC,KAN-BTC,LBA-BTC,WAN-BTC,BFT-BTC,BTM-BTC,ONT-BTC,IOST-BTC,HT-BTC,TRX-BTC,SMT-BTC,ELA-BTC,WICC-BTC,OCN-BTC,ZLA-BTC,ABT-BTC,MTX-BTC,NAS-BTC,VEN-BTC,DTA-BTC,NEO-BTC,WAX-BTC,BTS-BTC,ZIL-BTC,THETA-BTC,CTXC-BTC,SRN-BTC,XEM-BTC,ICX-BTC,DGD-BTC,CHAT-BTC,WPR-BTC,LUN-BTC,SWFTC-BTC,SNT-BTC,MEET-BTC,YEE-BTC,ELF-BTC,LET-BTC,QTUM-BTC,LSK-BTC,ITC-BTC,SOC-BTC,QASH-BTC,MDS-BTC,EKO-BTC,TOPC-BTC,MTN-BTC,ACT-BTC,HSR-BTC,STK-BTC,STORJ-BTC,GNX-BTC,DBC-BTC,SNC-BTC,CMT-BTC,TNB-BTC,RUFF-BTC,QUN-BTC,ZRX-BTC,KNC-BTC,BLZ-BTC,PROPY-BTC,RPX-BTC,APPC-BTC,AIDOC-BTC,POWR-BTC,CVC-BTC,PAY-BTC,QSP-BTC,DAT-BTC,RDN-BTC,MCO-BTC,RCN-BTC,MANA-BTC,UTK-BTC,TNT-BTC,GAS-BTC,BAT-BTC,OST-BTC,LINK-BTC,GNT-BTC,MTL-BTC,EVX-BTC,REQ-BTC,ADX-BTC,AST-BTC,ENG-BTC,SALT-BTC,EDU-BTC,WTC-BTC,BIFI-BTC,BCX-BTC,BCD-BTC,SBTC-BTC,BTG-BTC,XMR-ETH,EOS-ETH,OMG-ETH,IOTA-ETH,ADA-ETH,STEEM-ETH,POLY-ETH,KAN-ETH,LBA-ETH,WAN-ETH,BFT-ETH,ZRX-ETH,AST-ETH,KNC-ETH,ONT-ETH,HT-ETH,BTM-ETH,IOST-ETH,SMT-ETH,ELA-ETH,TRX-ETH,ABT-ETH,NAS-ETH,OCN-ETH,WICC-ETH,ZIL-ETH,CTXC-ETH,ZLA-ETH,WPR-ETH,DTA-ETH,MTX-ETH,THETA-ETH,SRN-ETH,VEN-ETH,BTS-ETH,WAX-ETH,HSR-ETH,ICX-ETH,MTN-ETH,ACT-ETH,BLZ-ETH,QASH-ETH,RUFF-ETH,CMT-ETH,ELF-ETH,MEET-ETH,SOC-ETH,QTUM-ETH,ITC-ETH,SWFTC-ETH,YEE-ETH,LSK-ETH,LUN-ETH,LET-ETH,GNX-ETH,CHAT-ETH,EKO-ETH,TOPC-ETH,DGD-ETH,STK-ETH,MDS-ETH,DBC-ETH,SNC-ETH,PAY-ETH,QUN-ETH,AIDOC-ETH,TNB-ETH,APPC-ETH,RDN-ETH,UTK-ETH,POWR-ETH,BAT-ETH,PROPY-ETH,MANA-ETH,REQ-ETH,CVC-ETH,QSP-ETH,EVX-ETH,DAT-ETH,MCO-ETH,GNT-ETH,GAS-ETH,OST-ETH,LINK-ETH,RCN-ETH,TNT-ETH,ENG-ETH,SALT-ETH,ADX-ETH,EDU-ETH,WTC-ETH,XRP-HT,IOST-HT,DASH-HT,WICC-USDT,EOS-HT,BCH-HT,LTC-HT,ETC-HT,WAVES-BTC,WAVES-ETH,HB10-USDT,CMT-USDT,DCR-BTC,DCR-ETH,PAI-BTC,PAI-ETH,BOX-BTC,BOX-ETH",
+ "EnabledPairs": "BTC-USDT",
+ "BaseCurrencies": "USD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "-"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": false
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "ITBIT",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "ClientID": "ClientID",
+ "AvailablePairs": "XBTUSD,XBTSGD,XBTEUR",
+ "EnabledPairs": "XBTUSD,XBTSGD,XBTEUR",
+ "BaseCurrencies": "USD,SGD,EUR",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": false,
+ "PairsLastUpdated": 1529037622,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "Kraken",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "DASH-USD,XMR-XBT,XRP-EUR,BCH-EUR,GNO-EUR,USDT-USD,XBT-USD,XDG-XBT,XLM-USD,ETC-XBT,ETC-EUR,ETH-XBT,XLM-EUR,BCH-USD,ETH-GBP,ZEC-JPY,GNO-XBT,ETH-CAD,MLN-XBT,XLM-XBT,BCH-XBT,DASH-EUR,XMR-USD,XRP-JPY,ZEC-XBT,EOS-ETH,EOS-EUR,ETH-EUR,LTC-XBT,REP-EUR,REP-XBT,XBT-CAD,XMR-EUR,DASH-XBT,ICN-ETH,ZEC-EUR,LTC-USD,GNO-ETH,ETC-ETH,ICN-XBT,REP-USD,XBT-EUR,GNO-USD,MLN-ETH,REP-ETH,EOS-USD,ETC-USD,ETH-JPY,XBT-JPY,EOS-XBT,XRP-CAD,ETH-USD,LTC-EUR,XBT-GBP,XRP-XBT,XRP-USD,ZEC-USD",
+ "EnabledPairs": "XBT-USD",
+ "BaseCurrencies": "EUR,USD,CAD,GBP,JPY",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "-"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true,
+ "Separator": ","
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "LakeBTC",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "NZDUSD,USDCAD,ETHBTC,BACETH,BTCAUD,BCHBTC,BTCSGD,USDHKD,AUDUSD,BTCCAD,USDCHF,USDSGD,BTCEUR,BTCNGN,BTCCHF,GBPUSD,USDNGN,BTCHKD,EURUSD,XRPBTC,BTCUSD,USDJPY,LTCBTC,BTCGBP,BTCJPY,BTCNZD",
+ "EnabledPairs": "BTCUSD,BTCAUD",
+ "BaseCurrencies": "USD,EUR,HKD,AUD,GBP,NZD,JPY,SGD,NGN,CHF,CAD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "Liqui",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "WAVES_ETH,MYST_USDT,SNM_USDT,LDC_USDT,TAAS_ETH,DGD_ETH,ZRX_ETH,AE_ETH,TRX_ETH,BNT_USDT,STORJ_USDT,OMG_BTC,TNT_ETH,XID_ETH,LDC_ETH,STORJ_BTC,IND_USDT,TRX_BTC,ICN_ETH,REP_USDT,REN_ETH,MANA_BTC,BMC_USDT,SNT_USDT,BCC_USDT,WPR_BTC,ENJ_USDT,GNO_BTC,STORJ_ETH,PAY_BTC,WPR_ETH,DNT_BTC,EOS_ETH,LDC_BTC,EOS_USDT,CVC_BTC,NET_USDT,MANA_ETH,IND_ETH,SRN_USDT,GNO_ETH,VEN_ETH,KNC_ETH,NET_BTC,DGD_BTC,MLN_USDT,REP_ETH,GNT_ETH,LTC_ETH,GUP_USDT,TAAS_BTC,ADX_ETH,ICN_USDT,NET_ETH,VEN_BTC,IND_BTC,AION_BTC,TIME_ETH,DASH_USDT,RLC_ETH,SAN_ETH,MGO_USDT,PTOY_USDT,SAN_BTC,BCC_BTC,DASH_ETH,LTC_USDT,MYST_BTC,MLN_ETH,TKN_ETH,MGO_BTC,SNGLS_USDT,MCO_ETH,OMG_ETH,GNT_BTC,GNT_USDT,WINGS_USDT,PRO_USDT,REQ_BTC,WINGS_BTC,BCC_ETH,MGO_ETH,STX_ETH,ENG_BTC,INS_ETH,LTC_BTC,QRL_BTC,OAX_USDT,STX_USDT,WAVES_BTC,BNT_ETH,AE_BTC,AST_ETH,INS_USDT,RLC_BTC,TKN_BTC,SNGLS_ETH,PAY_USDT,TNT_BTC,DASH_BTC,SNGLS_BTC,SNT_BTC,AE_USDT,REQ_ETH,AGI_BTC,BNT_BTC,PTOY_BTC,NEU_ETH,ADX_USDT,TRX_USDT,AION_ETH,CLN_ETH,KNC_BTC,NEU_BTC,REN_BTC,BAT_BTC,MYST_ETH,CVC_ETH,SALT_USDT,INS_BTC,AION_USDT,TKN_USDT,BAT_ETH,CFI_USDT,ZRX_BTC,TNT_USDT,SALT_BTC,DNT_ETH,ICN_BTC,SNM_ETH,PRO_ETH,TRST_ETH,PAY_ETH,PRO_BTC,CLN_USDT,EDG_USDT,GUP_BTC,ADX_BTC,RLC_USDT,WINGS_ETH,CFI_ETH,QRL_ETH,ANT_ETH,AGI_ETH,ENG_USDT,ETH_BTC,EDG_ETH,GNO_USDT,MCO_USDT,EOS_BTC,MLN_BTC,TIME_BTC,SNM_BTC,VEN_USDT,REQ_USDT,TAAS_USDT,TIME_USDT,OMG_USDT,CVC_USDT,SRN_BTC,ETH_USDT,REN_USDT,GUP_ETH,PTOY_ETH,CFI_BTC,ENJ_BTC,XID_USDT,AGI_USDT,MCO_BTC,ANT_BTC,DGD_USDT,OAX_BTC,BAT_USDT,QRL_USDT,STX_BTC,ENG_ETH,ENJ_ETH,WAVES_USDT,BMC_ETH,AST_USDT,EDG_BTC,SAN_USDT,NEU_USDT,TRST_BTC,MANA_USDT,ANT_USDT,WPR_USDT,SNT_ETH,OAX_ETH,KNC_USDT,BTC_USDT,XID_BTC,DNT_USDT,ZRX_USDT,BMC_BTC,SRN_ETH,CLN_BTC,REP_BTC,TRST_USDT,SALT_ETH,AST_BTC",
+ "EnabledPairs": "ETH_BTC,LTC_BTC,DASH_BTC",
+ "BaseCurrencies": "USD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "_"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": false,
+ "Delimiter": "_",
+ "Separator": "-"
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "LocalBitcoins",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "BTCARS,BTCAUD,BTCBRL,BTCCAD,BTCCHF,BTCCZK,BTCDKK,BTCEUR,BTCGBP,BTCHKD,BTCILS,BTCINR,BTCMXN,BTCNOK,BTCNZD,BTCPLN,BTCRUB,BTCSEK,BTCSGD,BTCTHB,BTCUSD,BTCZAR",
+ "EnabledPairs": "BTCAUD,BTCUSD",
+ "BaseCurrencies": "ARS,AUD,BRL,CAD,CHF,CZK,DKK,EUR,GBP,HKD,ILS,INR,MXN,NOK,NZD,PLN,RUB,SEK,SGD,THB,USD,ZAR",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": false,
+ "PairsLastUpdated": 1529037622,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "OKCOIN China",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "BTCCNY,LTCCNY",
+ "EnabledPairs": "BTCCNY,LTCCNY",
+ "BaseCurrencies": "CNY",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": false,
+ "PairsLastUpdated": 1529037622,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": false,
+ "Delimiter": "_"
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "OKCOIN International",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "BTCUSD,LTCUSD,ETHUSD,ETCUSD,BCHUSD",
+ "EnabledPairs": "BTCUSD,LTCUSD",
+ "BaseCurrencies": "USD",
+ "AssetTypes": "SPOT,this_week,next_week,quarter",
+ "SupportsAutoPairUpdates": false,
+ "PairsLastUpdated": 1529037622,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": false,
+ "Delimiter": "_"
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "OKEX",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "ltc_btc,eth_btc,etc_btc,bch_btc,btc_usdt,eth_usdt,ltc_usdt,etc_usdt,bch_usdt,etc_eth,bt1_btc,bt2_btc,btg_btc,qtum_btc,hsr_btc,neo_btc,gas_btc,qtum_usdt,hsr_usdt,neo_usdt,gas_usdt,btc_usd,ltc_usd,eth_usd,etc_usd,bch_usd",
+ "EnabledPairs": "btc_usd,ltc_usd",
+ "BaseCurrencies": "USD",
+ "AssetTypes": "SPOT,this_week,next_week,quarter",
+ "SupportsAutoPairUpdates": false,
+ "PairsLastUpdated": 1522111402,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": false,
+ "Delimiter": "_"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": false,
+ "Delimiter": "_"
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "Poloniex",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "BTC_SYS,BTC_XVC,USDT_BTC,USDT_NXT,XMR_BTCD,BTC_SBD,BTC_DGB,BTC_NMC,ETH_ETC,ETH_OMG,ETH_BCH,BTC_XEM,BTC_XRP,BTC_GRC,USDT_ETC,BTC_REP,BTC_PASC,BTC_STORJ,BTC_BTM,BTC_FLO,BTC_XBC,XMR_BLK,USDT_ETH,ETH_LSK,ETH_GAS,BTC_BURST,BTC_VTC,BTC_OMNI,BTC_NXT,BTC_XMR,USDT_XRP,XMR_MAID,ETH_STEEM,BTC_BCN,BTC_FLDC,ETH_ZRX,BTC_ARDR,BTC_ZEC,USDT_LTC,ETH_GNT,BTC_XCP,XMR_DASH,BTC_BCY,BTC_STRAT,BTC_ZRX,BTC_CVC,BTC_BTCD,BTC_HUC,ETH_CVC,BTC_SC,BTC_GAME,XMR_LTC,BTC_LTC,BTC_XPM,BTC_OMG,BTC_CLAM,BTC_EMC2,USDT_XMR,BTC_FCT,BTC_LBC,ETH_ZEC,BTC_NEOS,USDT_DASH,BTC_NAV,XMR_NXT,BTC_BLK,BTC_DASH,USDT_ZEC,BTC_GNO,ETH_GNO,USDT_BCH,BTC_MAID,BTC_STR,BTC_ETH,BTC_LSK,BTC_STEEM,BTC_GNT,BTC_PPC,BTC_RIC,XMR_BCN,BTC_RADS,BTC_NXC,BTC_BTS,BTC_PINK,BTC_VIA,XMR_ZEC,BTC_VRC,USDT_STR,BTC_EXP,BTC_AMP,BTC_DCR,BTC_ETC,BTC_DOGE,BTC_POT,BTC_BCH,BTC_GAS,USDT_REP,ETH_REP",
+ "EnabledPairs": "BTC_LTC,BTC_ETH,BTC_DOGE,BTC_DASH,BTC_XRP",
+ "BaseCurrencies": "USD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "_"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "_"
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "WEX",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "BTC_RUR,BCH_RUR,BCH_ETH,BCH_ZEC,BTC_USDT,LTC_BTC,ETH_LTC,ZEC_USD,BCH_EUR,BCH_LTC,ZEC_BTC,LTC_USD,LTC_EUR,DSH_RUR,BCH_BTC,NVC_BTC,PPC_USD,BCH_DSH,LTCET_LTC,ETHET_ETH,NMC_USD,DSH_ZEC,ETH_RUR,NMC_BTC,DSH_LTC,ZEC_LTC,EURET_EUR,LTC_RUR,EUR_USD,ETH_ZEC,RURET_RUR,NMCET_NMC,PPCET_PPC,BTC_EUR,NVCET_NVC,DSHET_DSH,BCH_USD,BTCET_BTC,NVC_USD,DSH_BTC,DSH_USD,DSH_EUR,USDET_USD,BTC_USD,ETH_USD,USD_RUR,EUR_RUR,DSH_ETH,ETH_EUR,BCHET_BCH,USDT_USD,PPC_BTC,ETH_BTC",
+ "EnabledPairs": "BTC_USD,LTC_USD,LTC_BTC,ETH_USD",
+ "BaseCurrencies": "USD,RUR,EUR",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "_"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": false,
+ "Delimiter": "_",
+ "Separator": "-"
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ },
+ {
+ "Name": "Yobit",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "DASH_BTC,WAVES_BTC,LSK_BTC,LIZA_BTC,BCC_BTC,ETH_BTC,LTC_BTC,TRX_BTC,DOGE_BTC,VNTX_BTC,SW_BTC,ZEC_BTC,DASH_ETH,WAVES_ETH,LSK_ETH,LIZA_ETH,BCC_ETH,LTC_ETH,TRX_ETH,DOGE_ETH,VNTX_ETH,SW_ETH,ZEC_ETH,DASH_DOGE,WAVES_DOGE,LSK_DOGE,LIZA_DOGE,BCC_DOGE,LTC_DOGE,TRX_DOGE,VNTX_DOGE,SW_DOGE,ZEC_DOGE,DASH_USD,WAVES_USD,LSK_USD,LIZA_USD,BCC_USD,LTC_USD,TRX_USD,VNTX_USD,SW_USD,ZEC_USD,ETH_USD,BTC_USD,DASH_RUR,WAVES_BTC,WAVES_RUR,LSK_RUR,LIZA_RUR,BCC_RUR,LTC_RUR,TRX_RUR,VNTX_RUR,SW_RUR,ETH_RUR,ZEC_RUR",
+ "EnabledPairs": "LTC_BTC,ETH_BTC,BTC_USD,DASH_BTC",
+ "BaseCurrencies": "USD,RUR",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": false,
+ "PairsLastUpdated": 1529037622,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "_"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": false,
+ "Delimiter": "_",
+ "Separator": "-"
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": ""
+ }
+ ]
+ }
+ ],
+ "BankAccounts": [
+ {
+ "BankName": "test",
+ "BankAddress": "test",
+ "AccountName": "TestAccount",
+ "AccountNumber": "0234",
+ "SWIFTCode": "91272837",
+ "IBAN": "98218738671897",
+ "SupportedCurrencies": "USD",
+ "SupportedExchanges": "ANX,Kraken"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tools/README.md b/tools/README.md
index d4a9ec34..b3f453c5 100644
--- a/tools/README.md
+++ b/tools/README.md
@@ -28,18 +28,7 @@ This folder contains an assortment of tools.
+ Exchange deployment
+ Websocket client
-
-Example Run for documentation generation - flags -v Verbose & -r Replace files
-```sh
-cd documentation/
-go run documentation.go -v
-```
-OR for full replacement.
-
-```sh
-cd documentation/
-go run documentation.go -v -r
-```
+Please see individual tool's README file
## Contribution
diff --git a/tools/documentation/common_templates/common_readme.tmpl b/tools/documentation/common_templates/common_readme.tmpl
new file mode 100644
index 00000000..fb3f828e
--- /dev/null
+++ b/tools/documentation/common_templates/common_readme.tmpl
@@ -0,0 +1,23 @@
+{{define "common" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
+#### This package collates basic broad functions that are used throughout this codebase.
+
++ Coding example
+
+```go
+import "github.com/thrasher-/gocryptotrader/common"
+
+testString := "aAaAa"
+
+upper := common.StringToUpper(testString)
+
+// upper == "AAAAA"
+```
+
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchange_readme_templates/anx.tmpl b/tools/documentation/communications_templates/base.tmpl
similarity index 57%
rename from tools/documentation/exchange_readme_templates/anx.tmpl
rename to tools/documentation/communications_templates/base.tmpl
index 464ea7c8..70dad8e3 100644
--- a/tools/documentation/exchange_readme_templates/anx.tmpl
+++ b/tools/documentation/communications_templates/base.tmpl
@@ -1,10 +1,10 @@
-{{define "exchanges anx" -}}
+{{define "communications base" -}}
{{template "header" .}}
-## ANX Exchange
+## Base Communications package
### Current Features
-+ Initial generation
++ Used to enforce standard variables and methods across the communication packages
### Please click GoDocs chevron above to view current GoDoc information for this package
{{template "contributions"}}
diff --git a/tools/documentation/communications_templates/comms.tmpl b/tools/documentation/communications_templates/comms.tmpl
new file mode 100644
index 00000000..be209ecb
--- /dev/null
+++ b/tools/documentation/communications_templates/comms.tmpl
@@ -0,0 +1,26 @@
+{{define "communications comms" -}}
+{{template "header" .}}
+## Communications package
+
+### What is the Communications package?
+
++ This package allows for the communication of events/data that occurs in the
+to be exported out to a defined communication medium
+
+### Current Features
+
++ Slack bot support
++ SMSGlobal instant bulk messaging
++ SMTP messaging
++ Telegram bot support
+
+### How to enable example
+
++ In your config.json enable each individual communications package you desire
++ Please view the individual readme documentation inside the specific package
+for more details
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/communications_templates/slack.tmpl b/tools/documentation/communications_templates/slack.tmpl
new file mode 100644
index 00000000..0af7f771
--- /dev/null
+++ b/tools/documentation/communications_templates/slack.tmpl
@@ -0,0 +1,60 @@
+{{define "communications slack" -}}
+{{template "header" .}}
+## Slack Communications package
+
+### What is Slack?
+
++ Slack is a code-centric collaboration hub that allows users to connect via an
+app and share different types of data
++ Please visit: [Slack](https://slack.com/) for more information and account setup
+
+### Current Features
+
++ Basic communication to your slack channel information includes:
+ - Working status of bot
+ - Recent ANX ticker
+ - Current ANX orderbook
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-communications-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/communications/slack"
+"github.com/thrasher-/gocryptotrader/config"
+)
+
+s := new(slack.Slack)
+
+// Define slack configuration
+commsConfig := config.CommunicationsConfig{SlackConfig: config.SlackConfig{
+ Name: "Slack",
+ Enabled: true,
+ Verbose: false,
+ TargetChannel: "targetChan",
+ VerificationToken: "slackGeneratedToken",
+}}
+
+s.Setup(commsConfig)
+err := s.Connect
+// Handle error
+```
+
+Once the bot has started you can interact with the bot using these commands
+via Slack:
+
+```
+!status - Displays current working status of bot
+!help - Displays help text
+!settings - Displays current settings
+!ticker - Displays recent ANX ticker
+!portfolio - Displays portfolio data
+!orderbook - Displays current ANX orderbook
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/communications_templates/smsglobal.tmpl b/tools/documentation/communications_templates/smsglobal.tmpl
new file mode 100644
index 00000000..b5351fc3
--- /dev/null
+++ b/tools/documentation/communications_templates/smsglobal.tmpl
@@ -0,0 +1,45 @@
+{{define "communications smsglobal" -}}
+{{template "header" .}}
+## SMSGlobal Communications package
+
+### What is SMSGlobal?
+
++ SMSGlobal allows bulk sending of messages via their API
++ Please visit: [SMSGlobal](https://www.smsglobal.com/) for more information and account setup
+
+### Current Features
+
++ Sending of events to a list of recipients
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-communications-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/communications/smsglobal"
+"github.com/thrasher-/gocryptotrader/config"
+)
+
+s := new(smsglobal.SMSGlobal)
+
+// Define SMSGlobal configuration
+commsConfig := config.CommunicationsConfig{SMSGlobalConfig: config.SMSGlobalConfig{
+ Name: "SMSGlobal",
+ Enabled: true,
+ Verbose: false,
+ Username: "username",
+ Password: "password",
+ Contacts: []config.SMSContact{}
+}}
+
+s.Setup(commsConfig)
+err := s.Connect
+// Handle error
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/communications_templates/smtp.tmpl b/tools/documentation/communications_templates/smtp.tmpl
new file mode 100644
index 00000000..d8040755
--- /dev/null
+++ b/tools/documentation/communications_templates/smtp.tmpl
@@ -0,0 +1,47 @@
+{{define "communications smtp" -}}
+{{template "header" .}}
+## SMSGlobal Communications package
+
+### What is SMTP?
+
++ Simple Mail Transfer Protocol (SMTP) is an Internet standard for electronic mail (email) transmission
++ Please visit: [Wikipedia](https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol) for more information
+
+### Current Features
+
++ Sending of events to a list of recipients via email
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-communications-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/communications/smtpservice"
+"github.com/thrasher-/gocryptotrader/config"
+)
+
+s := new(smtpservice.SMTPservice)
+
+// Define SMTPservice configuration
+commsConfig := config.CommunicationsConfig{SMTPservice: config.SMTPConfig{
+ Name: "SMTPservice",
+ Enabled: true,
+ Verbose: false,
+ Host: "host",
+ Port: "port",
+ AccountName: "name",
+ AccountPassword: "password",
+ RecipientList: "something@something.com,somethingelse@something.com"
+}}
+
+s.Setup(commsConfig)
+err := s.Connect
+// Handle error
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/communications_templates/telegram.tmpl b/tools/documentation/communications_templates/telegram.tmpl
new file mode 100644
index 00000000..ede7e003
--- /dev/null
+++ b/tools/documentation/communications_templates/telegram.tmpl
@@ -0,0 +1,60 @@
+{{define "communications telegram" -}}
+{{template "header" .}}
+## Telegram Communications package
+
+### What is telegram?
+
++ Telegram is a cloud-based instant messaging and voice over IP service
+developed by Telegram Messenger LLP
++ Please visit: [Telegram](https://telegram.org/) for more information
+
+### Current Features
+
++ Creation of bot that can retrieve
+ - Bot status
+ - ANX orderbook
+ - ANX ticker
+
+ ### How to enable
+
+ + [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-communications-via-config-example)
+
+ + Individual package example below:
+ ```go
+ import (
+ "github.com/thrasher-/gocryptotrader/communications/telegram"
+ "github.com/thrasher-/gocryptotrader/config"
+ )
+
+ t := new(telegram.Telegram)
+
+ // Define Telegram configuration
+ commsConfig := config.CommunicationsConfig{TelegramConfig: config.TelegramConfig{
+ Name: "Telegram",
+ Enabled: true,
+ Verbose: false,
+ VerificationToken: "token",
+ }}
+
+ t.Setup(commsConfig)
+ err := t.Connect
+ // Handle error
+ ```
+
++ Once the bot has started you can interact with the bot using these commands
+via Telegram:
+
+```
+/start - Will authenticate your ID
+/status - Displays the status of the bot
+/help - Displays current command list
+/settings - Displays current bot settings
+/ticker - Displays current ANX ticker data
+/portfolio - Displays your current portfolio
+/orderbooks - Displays current orderbooks for ANX`
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/config_templates/config_readme.tmpl b/tools/documentation/config_templates/config_readme.tmpl
new file mode 100644
index 00000000..bf9822ef
--- /dev/null
+++ b/tools/documentation/config_templates/config_readme.tmpl
@@ -0,0 +1,199 @@
+{{define "config" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
+ + Handling of config encryption and verification of "configuration".json data.
+
+ + Contains configurations for:
+
+ - Exchanges for utilisation of a broad or minimal amount of enabled
+ exchanges [Example](#enable-exchange-via-config-example) for
+ enabling an exchange.
+
+ - Bank accounts for withdrawal and depositing FIAT between exchange and
+ your personal accounts [Example](#enable-bank-accounts-via-config-example).
+
+ - Portfolio to monitor online and offline accounts [Example](#enable-portfolio-via-config-example).
+
+ - Currency configurations to set your foreign exchange provider accounts,
+ your preferred display currency, suitable FIAT currency and suitable
+ cryptocurrency [Example](#enable-currency-via-config-example).
+
+ - Communication for utilisation of supported communication mediums e.g.
+ email events direct to your personal account [Example](#enable-communications-via-config-example).
+
+# Config Examples
+
+#### Basic examples for enabling features on the GoCryptoTrader platform
+
++ Linux example for quickly creating and testing configuration file
+```sh
+cd ~/go/src/github.com/thrasher-/gocryptotrader
+cp config_example.json config.json
+# Test config
+go build
+./gocryptotrader
+```
+
++ or custom config, can also pass in absolute path to "configuration".json file.
+
+```sh
+cd ~/go/src/github.com/thrasher-/gocryptotrader
+cp config_example.json custom.json
+# Test config
+go build
+./gocryptotrader -config custom.json
+```
+
+## Enable Exchange Via Config Example
+
++ To enable or disable an exchange via config proceed through the
+"configuration".json file to exchanges and to the supported exchange e.g see
+below. "Enabled" set to true or false will enable and disable the exchange,
+if you set "APIKey" && "APISecret" you must set "AuthenticatedAPISupport" to
+true or the bot will not be able to send authenticated http requests. If needed
+you can set the exchanges bank details for depositing FIAT options. Some banks
+have multiple deposit accounts for different FIAT deposit currencies.
+
+```js
+"Exchanges": [
+ {
+ "Name": "ANX",
+ "Enabled": true,
+ "Verbose": false,
+ "Websocket": false,
+ "UseSandbox": false,
+ "RESTPollingDelay": 10,
+ "HTTPTimeout": 15000000000,
+ "AuthenticatedAPISupport": false,
+ "APIKey": "Key",
+ "APISecret": "Secret",
+ "AvailablePairs": "ATENC_GBP,ATENC_NZD,BTC_AUD,BTC_SGD,LTC_BTC,START_GBP,...",
+ "EnabledPairs": "BTC_USD,BTC_HKD,BTC_EUR,BTC_CAD,BTC_AUD,BTC_SGD,BTC_JPY,...",
+ "BaseCurrencies": "USD,HKD,EUR,CAD,AUD,SGD,JPY,GBP,NZD",
+ "AssetTypes": "SPOT",
+ "SupportsAutoPairUpdates": true,
+ "ConfigCurrencyPairFormat": {
+ "Uppercase": true,
+ "Delimiter": "_"
+ },
+ "RequestCurrencyPairFormat": {
+ "Uppercase": true
+ },
+ "BankAccounts": [
+ {
+ "BankName": "",
+ "BankAddress": "",
+ "AccountName": "",
+ "AccountNumber": "",
+ "SWIFTCode": "",
+ "IBAN": "",
+ "SupportedCurrencies": "AUD,USD,EUR"
+ }
+ ]
+ },
+```
+
+## Enable Bank Accounts Via Config Example
+
++ To enable bank accounts simply proceed through "configuration".json file to
+"BankAccounts" and input your account information example below.
+
+```js
+"BankAccounts": [
+ {
+ "BankName": "test",
+ "BankAddress": "test",
+ "AccountName": "TestAccount",
+ "AccountNumber": "0234",
+ "SWIFTCode": "91272837",
+ "IBAN": "98218738671897",
+ "SupportedCurrencies": "USD",
+ "SupportedExchanges": "ANX,Kraken"
+ }
+]
+```
+
+## Enable Portfolio Via Config Example
+
++ To enable the GoCryptoTrader platform to monitor your addresses please
+specify, "configuration".json file example below.
+
+```js
+"PortfolioAddresses": {
+ "Addresses": [
+ {
+ "Address": "1JCe8z4jJVNXSjohjM4i9Hh813dLCNx2Sy",
+ "CoinType": "BTC",
+ "Balance": 53000.01310358,
+ "Description": ""
+ },
+ {
+ "Address": "3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v",
+ "CoinType": "BTC",
+ "Balance": 101848.28376405,
+ "Description": ""
+ }
+ ]
+```
+
+## Enable Currency Via Config Example
+
++ To Enable foreign exchange providers set "Enabled" to true and add in your
+account API keys example below.
+
+```js
+"ForexProviders": [
+ {
+ "Name": "CurrencyConverter",
+ "Enabled": true,
+ "Verbose": false,
+ "RESTPollingDelay": 600,
+ "APIKey": "",
+ "APIKeyLvl": -1,
+ "PrimaryProvider": true
+ },
+]
+```
+
++ To define the cryptocurrency you want the platform to use set them here
+example below.
+
+```js
+"Cryptocurrencies": "BTC,LTC,ETH,XRP,NMC,NVC,PPC,XBT,DOGE,DASH",
+```
+
++ To define the currency you want to everything to be valued against example
+below.
+
+```js
+"FiatDisplayCurrency": "USD"
+```
+
+## Enable Communications Via Config Example
+
++ To set the desired platform communication medium proceed to "Communications"
+in the "configuration".json file and set your account details to the preferred
+comm method and add in your contact list if available.
+
+```js
+"SMSGlobal": {
+ "Name": "SMSGlobal",
+ "Enabled": false,
+ "Verbose": false,
+ "Username": "Username",
+ "Password": "Password",
+ "Contacts": [
+ {
+ "Name": "Bob",
+ "Number": "12345",
+ "Enabled": false
+ }
+ ]
+},
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/currency_templates/currency_pair_readme.tmpl b/tools/documentation/currency_templates/currency_pair_readme.tmpl
new file mode 100644
index 00000000..5e108ad9
--- /dev/null
+++ b/tools/documentation/currency_templates/currency_pair_readme.tmpl
@@ -0,0 +1,22 @@
+{{define "currency pair" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ Provides a new data structure for a currency pair
++ Methods to manipulate, create and retrieve different parts of the currency pair
+
++ Example below:
+```go
+import "github.com/thrasher-/gocryptotrader/currency/pair"
+
+// Create new pair
+newPair := pair.NewCurrencyPair("BTC", "USD")
+
+// Retrieve different parts of the pair
+bitcoinString := newPair.GetFirstCurrency
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/currency_templates/currency_readme.tmpl b/tools/documentation/currency_templates/currency_readme.tmpl
new file mode 100644
index 00000000..f4319162
--- /dev/null
+++ b/tools/documentation/currency_templates/currency_readme.tmpl
@@ -0,0 +1,14 @@
+{{define "currency" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ Currency package contains a full suite of packages that provide:
+ - Foreign exchange data fetching for FIAT currencies
+ - Currency Pair generation
+ - Symbol mapping
+ - Translation between currencies that have similar strings e.g. XBT, BTC
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/currency_templates/currency_symbol_readme.tmpl b/tools/documentation/currency_templates/currency_symbol_readme.tmpl
new file mode 100644
index 00000000..88c8fa63
--- /dev/null
+++ b/tools/documentation/currency_templates/currency_symbol_readme.tmpl
@@ -0,0 +1,21 @@
+{{define "currency symbol" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This package services the currency package by providing symbol mapping.
+
++ Example below:
+```go
+import "github.com/thrasher-/gocryptotrader/currency/symbol"
+
+// Get the string of the symbol by the currency
+chineseYen := "CNY"
+symbol := symbol.GetSymbolByCurrencyName(chineseYen)
+
+// symbol == "¥"
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/currency_translation_readme.tmpl b/tools/documentation/currency_templates/currency_translation_readme.tmpl
similarity index 63%
rename from tools/documentation/readme_templates/currency_translation_readme.tmpl
rename to tools/documentation/currency_templates/currency_translation_readme.tmpl
index b383128a..fdf95710 100644
--- a/tools/documentation/readme_templates/currency_translation_readme.tmpl
+++ b/tools/documentation/currency_templates/currency_translation_readme.tmpl
@@ -4,6 +4,16 @@
+ This package services the currency package with translation functions.
++ Example below:
+```go
+import "github.com/thrasher-/gocryptotrader/currency/translation"
+
+// Is translatable
+b := translation.HasTranslation("BTC")
+
+// b == true; translation = XBT
+```
+
### Please click GoDocs chevron above to view current GoDoc information for this package
{{template "contributions"}}
{{template "donations"}}
diff --git a/tools/documentation/readme_templates/config_readme.tmpl b/tools/documentation/currency_templates/fx.tmpl
similarity index 59%
rename from tools/documentation/readme_templates/config_readme.tmpl
rename to tools/documentation/currency_templates/fx.tmpl
index 2510020f..bbdea857 100644
--- a/tools/documentation/readme_templates/config_readme.tmpl
+++ b/tools/documentation/currency_templates/fx.tmpl
@@ -1,8 +1,11 @@
-{{define "config" -}}
+{{define "currency forexprovider" -}}
{{template "header" .}}
## Current Features for {{.Name}}
-+ This package deals with configuration utilities.
++ Currency Converter API support
++ Currency Layer support
++ Fixer.io support
++ Open Exchange Rates support
### Please click GoDocs chevron above to view current GoDoc information for this package
{{template "contributions"}}
diff --git a/tools/documentation/readme_templates/common_readme.tmpl b/tools/documentation/currency_templates/fx_base.tmpl
similarity index 61%
rename from tools/documentation/readme_templates/common_readme.tmpl
rename to tools/documentation/currency_templates/fx_base.tmpl
index 44888af0..f0fdcf19 100644
--- a/tools/documentation/readme_templates/common_readme.tmpl
+++ b/tools/documentation/currency_templates/fx_base.tmpl
@@ -1,8 +1,9 @@
-{{define "common" -}}
+{{define "currency forexprovider base" -}}
{{template "header" .}}
## Current Features for {{.Name}}
-+ This package collates basic broad functions that are used throughout this codebase.
++ This package enforces standard variables and methods for the foreign exchange
+providers.
### Please click GoDocs chevron above to view current GoDoc information for this package
{{template "contributions"}}
diff --git a/tools/documentation/currency_templates/fx_currencyconverterapi.tmpl b/tools/documentation/currency_templates/fx_currencyconverterapi.tmpl
new file mode 100644
index 00000000..d96bebb3
--- /dev/null
+++ b/tools/documentation/currency_templates/fx_currencyconverterapi.tmpl
@@ -0,0 +1,40 @@
+{{define "currency forexprovider currencyconverter" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ Fetches up to date curency data from [Currency Coverter API](https://free.currencyconverterapi.com/)
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-currency-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/base"
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/currencyconverter"
+)
+
+c := currencyconverter.CurrencyConverter{}
+
+// Define configuration
+newSettings := base.Settings{
+ Name: "CurrencyConverter",
+ Enabled: true,
+ Verbose: false,
+ RESTPollingDelay: time.Duration,
+ APIKey: "key",
+ APIKeyLvl: "keylvl",
+ PrimaryProvider: true,
+}
+
+c.Setup(newSettings)
+
+mapstringfloat, err := c.GetRates("USD", "EUR,CHY")
+// Handle error
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/currency_templates/fx_currencylayer.tmpl b/tools/documentation/currency_templates/fx_currencylayer.tmpl
new file mode 100644
index 00000000..1a790da6
--- /dev/null
+++ b/tools/documentation/currency_templates/fx_currencylayer.tmpl
@@ -0,0 +1,40 @@
+{{define "currency forexprovider currencylayer" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ Fetches up to date curency data from [Currency Layer](https://currencylayer.com/)
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-currency-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/base"
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/currencylayer"
+)
+
+c := currencylayer.CurrencyLayer{}
+
+// Define configuration
+newSettings := base.Settings{
+ Name: "CurrencyLayer",
+ Enabled: true,
+ Verbose: false,
+ RESTPollingDelay: time.Duration,
+ APIKey: "key",
+ APIKeyLvl: "keylvl",
+ PrimaryProvider: true,
+}
+
+c.Setup(newSettings)
+
+mapstringfloat, err := c.GetRates("USD", "EUR,CHY")
+// Handle error
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/currency_templates/fx_fixer.tmpl b/tools/documentation/currency_templates/fx_fixer.tmpl
new file mode 100644
index 00000000..56a0906c
--- /dev/null
+++ b/tools/documentation/currency_templates/fx_fixer.tmpl
@@ -0,0 +1,40 @@
+{{define "currency forexprovider fixer" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ Fetches up to date curency data from [Fixer.io](https://fixer.io/)
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-currency-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/base"
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/fixer.io"
+)
+
+c := fixer.Fixer{}
+
+// Define configuration
+newSettings := base.Settings{
+ Name: "Fixer",
+ Enabled: true,
+ Verbose: false,
+ RESTPollingDelay: time.Duration,
+ APIKey: "key",
+ APIKeyLvl: "keylvl",
+ PrimaryProvider: true,
+}
+
+c.Setup(newSettings)
+
+mapstringfloat, err := c.GetRates("USD", "EUR,CHY")
+// Handle error
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/currency_templates/fx_openexchangerates.tmpl b/tools/documentation/currency_templates/fx_openexchangerates.tmpl
new file mode 100644
index 00000000..78b716da
--- /dev/null
+++ b/tools/documentation/currency_templates/fx_openexchangerates.tmpl
@@ -0,0 +1,40 @@
+{{define "currency forexprovider openexchangerates" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ Fetches up to date curency data from [Open Exchange Rates](https://openexchangerates.org/)
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-currency-via-config-example)
+
++ Individual package example below:
+```go
+import (
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/base"
+"github.com/thrasher-/gocryptotrader/currency/forexprovider/openexchangerates"
+)
+
+c := openexchangerates.OXR{}
+
+// Define configuration
+newSettings := base.Settings{
+ Name: "openexchangerates",
+ Enabled: true,
+ Verbose: false,
+ RESTPollingDelay: time.Duration,
+ APIKey: "key",
+ APIKeyLvl: "keylvl",
+ PrimaryProvider: true,
+}
+
+c.Setup(newSettings)
+
+mapstringfloat, err := c.GetRates("USD", "EUR,CHY")
+// Handle error
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/documentation.go b/tools/documentation/documentation.go
index 21017705..ac1b7144 100644
--- a/tools/documentation/documentation.go
+++ b/tools/documentation/documentation.go
@@ -13,24 +13,37 @@ import (
)
const (
- commonPath = "..%s..%scommon%s"
- configPath = "..%s..%sconfig%s"
- currencyPath = "..%s..%scurrency%s"
- currencyPairPath = "..%s..%scurrency%spair%s"
- currencySymbolPath = "..%s..%scurrency%ssymbol%s"
- currencyTranslationPath = "..%s..%scurrency%stranslation%s"
- eventsPath = "..%s..%sevents%s"
- exchangesPath = "..%s..%sexchanges%s"
- exchangesNoncePath = "..%s..%sexchanges%snonce%s"
- exchangesOrderbookPath = "..%s..%sexchanges%sorderbook%s"
- exchangesStatsPath = "..%s..%sexchanges%sstats%s"
- exchangesTickerPath = "..%s..%sexchanges%sticker%s"
- portfolioPath = "..%s..%sportfolio%s"
- smsglobalPath = "..%s..%ssmsglobal%s"
- testdataPath = "..%s..%stestdata%s"
- toolsPath = "..%s..%stools%s"
- webPath = "..%s..%sweb%s"
- rootPath = "..%s..%s"
+ commonPath = "..%s..%scommon%s"
+ communicationsPath = "..%s..%scommunications%s"
+ communicationsBasePath = "..%s..%scommunications%sbase%s"
+ communicationsSlackPath = "..%s..%scommunications%sslack%s"
+ communicationsSmsglobalPath = "..%s..%scommunications%ssmsglobal%s"
+ communicationsSMTPPath = "..%s..%scommunications%ssmtpservice%s"
+ communicationsTelegramPath = "..%s..%scommunications%stelegram%s"
+ configPath = "..%s..%sconfig%s"
+ currencyPath = "..%s..%scurrency%s"
+ currencyFXPath = "..%s..%scurrency%sforexprovider%s"
+ currencyFXBasePath = "..%s..%scurrency%sforexprovider%sbase%s"
+ currencyFXCurrencyConverterPath = "..%s..%scurrency%sforexprovider%scurrencyconverterapi%s"
+ currencyFXCurrencylayerPath = "..%s..%scurrency%sforexprovider%scurrencylayer%s"
+ currencyFXFixerPath = "..%s..%scurrency%sforexprovider%sfixer.io%s"
+ currencyFXOpenExchangeRatesPath = "..%s..%scurrency%sforexprovider%sopenexchangerates%s"
+ currencyPairPath = "..%s..%scurrency%spair%s"
+ currencySymbolPath = "..%s..%scurrency%ssymbol%s"
+ currencyTranslationPath = "..%s..%scurrency%stranslation%s"
+ eventsPath = "..%s..%sevents%s"
+ exchangesPath = "..%s..%sexchanges%s"
+ exchangesNoncePath = "..%s..%sexchanges%snonce%s"
+ exchangesOrderbookPath = "..%s..%sexchanges%sorderbook%s"
+ exchangesStatsPath = "..%s..%sexchanges%sstats%s"
+ exchangesTickerPath = "..%s..%sexchanges%sticker%s"
+ exchangesOrdersPath = "..%s..%sexchanges%sorders%s"
+ exchangesRequestPath = "..%s..%sexchanges%srequest%s"
+ portfolioPath = "..%s..%sportfolio%s"
+ testdataPath = "..%s..%stestdata%s"
+ toolsPath = "..%s..%stools%s"
+ webPath = "..%s..%sweb%s"
+ rootPath = "..%s..%s"
// exchange packages
alphapoint = "..%s..%sexchanges%salphapoint%s"
@@ -43,22 +56,22 @@ const (
bittrex = "..%s..%sexchanges%sbittrex%s"
btcc = "..%s..%sexchanges%sbtcc%s"
btcmarkets = "..%s..%sexchanges%sbtcmarkets%s"
+ coinbasepro = "..%s..%sexchanges%scoinbasepro%s"
coinut = "..%s..%sexchanges%scoinut%s"
exmo = "..%s..%sexchanges%sexmo%s"
- coinbasepro = "..%s..%sexchanges%scoinbasepro%s"
gemini = "..%s..%sexchanges%sgemini%s"
hitbtc = "..%s..%sexchanges%shitbtc%s"
huobi = "..%s..%sexchanges%shuobi%s"
itbit = "..%s..%sexchanges%sitbit%s"
kraken = "..%s..%sexchanges%skraken%s"
lakebtc = "..%s..%sexchanges%slakebtc%s"
+ liqui = "..%s..%sexchanges%sliqui%s"
localbitcoins = "..%s..%sexchanges%slocalbitcoins%s"
okcoin = "..%s..%sexchanges%sokcoin%s"
okex = "..%s..%sexchanges%sokex%s"
poloniex = "..%s..%sexchanges%spoloniex%s"
wex = "..%s..%sexchanges%swex%s"
yobit = "..%s..%sexchanges%syobit%s"
- liqui = "..%s..%sexchanges%sliqui%s"
contributorsList = "https://api.github.com/repos/thrasher-/gocryptotrader/contributors"
@@ -74,8 +87,6 @@ var (
tmpl *template.Template
path string
contributors []contributor
- // exchanges []string{"alphapoint", "anx", "binance", "bitfinex", "bitflyer",
- // "bithumb"}
)
type readme struct {
@@ -93,10 +104,8 @@ type contributor struct {
}
func main() {
-
flag.BoolVar(&verbose, "v", false, "-v Verbose flag prints more information to the std output")
flag.BoolVar(&replace, "r", false, "-r Replace flag generates and replaces all documentation across the code base")
-
flag.Parse()
fmt.Println(`
@@ -114,10 +123,14 @@ func main() {
log.Fatal("GoCryptoTrader: Exchange documentation tool GET error ", err)
}
+ fmt.Println("Contributor list fetched")
+
if err := addTemplates(); err != nil {
log.Fatal("GoCryptoTrader: Exchange documentation tool add template error ", err)
}
+ fmt.Println("Templates parsed")
+
if err := updateReadme(); err != nil {
log.Fatal("GoCryptoTrader: Exchange documentation tool update readme error ", err)
}
@@ -167,23 +180,42 @@ func updateReadme() error {
// Adds paths to different potential README.md files in the codebase
func addPaths() {
codebasePaths["common"] = fmt.Sprintf(commonPath, path, path, path)
+
+ codebasePaths["communications comms"] = fmt.Sprintf(communicationsPath, path, path, path)
+ codebasePaths["communications base"] = fmt.Sprintf(communicationsBasePath, path, path, path, path)
+ codebasePaths["communications slack"] = fmt.Sprintf(communicationsSlackPath, path, path, path, path)
+ codebasePaths["communications smsglobal"] = fmt.Sprintf(communicationsSmsglobalPath, path, path, path, path)
+ codebasePaths["communications smtp"] = fmt.Sprintf(communicationsSMTPPath, path, path, path, path)
+ codebasePaths["communications telegram"] = fmt.Sprintf(communicationsTelegramPath, path, path, path, path)
+
codebasePaths["config"] = fmt.Sprintf(configPath, path, path, path)
+
codebasePaths["currency"] = fmt.Sprintf(currencyPath, path, path, path)
+ codebasePaths["currency forexprovider"] = fmt.Sprintf(currencyFXPath, path, path, path, path)
+ codebasePaths["currency forexprovider base"] = fmt.Sprintf(currencyFXBasePath, path, path, path, path, path)
+ codebasePaths["currency forexprovider currencyconverter"] = fmt.Sprintf(currencyFXCurrencyConverterPath, path, path, path, path, path)
+ codebasePaths["currency forexprovider currencylayer"] = fmt.Sprintf(currencyFXCurrencylayerPath, path, path, path, path, path)
+ codebasePaths["currency forexprovider fixer"] = fmt.Sprintf(currencyFXFixerPath, path, path, path, path, path)
+ codebasePaths["currency forexprovider openexchangerates"] = fmt.Sprintf(currencyFXOpenExchangeRatesPath, path, path, path, path, path)
codebasePaths["currency pair"] = fmt.Sprintf(currencyPairPath, path, path, path, path)
codebasePaths["currency symbol"] = fmt.Sprintf(currencySymbolPath, path, path, path, path)
codebasePaths["currency translation"] = fmt.Sprintf(currencyTranslationPath, path, path, path, path)
+
codebasePaths["events"] = fmt.Sprintf(eventsPath, path, path, path)
+
+ codebasePaths["portfolio"] = fmt.Sprintf(portfolioPath, path, path, path)
+ codebasePaths["testdata"] = fmt.Sprintf(testdataPath, path, path, path)
+ codebasePaths["tools"] = fmt.Sprintf(toolsPath, path, path, path)
+ codebasePaths["web"] = fmt.Sprintf(webPath, path, path, path)
+ codebasePaths["root"] = fmt.Sprintf(rootPath, path, path)
+
codebasePaths["exchanges"] = fmt.Sprintf(exchangesPath, path, path, path)
codebasePaths["exchanges nonce"] = fmt.Sprintf(exchangesNoncePath, path, path, path, path)
codebasePaths["exchanges orderbook"] = fmt.Sprintf(exchangesOrderbookPath, path, path, path, path)
codebasePaths["exchanges stats"] = fmt.Sprintf(exchangesStatsPath, path, path, path, path)
codebasePaths["exchanges ticker"] = fmt.Sprintf(exchangesTickerPath, path, path, path, path)
- codebasePaths["portfolio"] = fmt.Sprintf(portfolioPath, path, path, path)
- codebasePaths["smsglobal"] = fmt.Sprintf(smsglobalPath, path, path, path)
- codebasePaths["testdata"] = fmt.Sprintf(testdataPath, path, path, path)
- codebasePaths["tools"] = fmt.Sprintf(toolsPath, path, path, path)
- codebasePaths["web"] = fmt.Sprintf(webPath, path, path, path)
- codebasePaths["root"] = fmt.Sprintf(rootPath, path, path)
+ codebasePaths["exchanges orders"] = fmt.Sprintf(exchangesOrdersPath, path, path, path, path)
+ codebasePaths["exchanges request"] = fmt.Sprintf(exchangesRequestPath, path, path, path, path)
codebasePaths["exchanges alphapoint"] = fmt.Sprintf(alphapoint, path, path, path, path)
codebasePaths["exchanges anx"] = fmt.Sprintf(anx, path, path, path, path)
@@ -260,26 +292,31 @@ func getslashFromName(packageName string) string {
return packageName
}
+var globS = []string{
+ fmt.Sprintf("common_templates%s*", common.GetOSPathSlash()),
+ fmt.Sprintf("communications_templates%s*", common.GetOSPathSlash()),
+ fmt.Sprintf("config_templates%s*", common.GetOSPathSlash()),
+ fmt.Sprintf("currency_templates%s*", common.GetOSPathSlash()),
+ fmt.Sprintf("events_templates%s*", common.GetOSPathSlash()),
+ fmt.Sprintf("exchanges_templates%s*", common.GetOSPathSlash()),
+ fmt.Sprintf("portfolio_templates%s*", common.GetOSPathSlash()),
+ fmt.Sprintf("root_templates%s*", common.GetOSPathSlash()),
+ fmt.Sprintf("sub_templates%s*", common.GetOSPathSlash()),
+ fmt.Sprintf("testdata_templates%s*", common.GetOSPathSlash()),
+ fmt.Sprintf("tools_templates%s*", common.GetOSPathSlash()),
+ fmt.Sprintf("web_templates%s*", common.GetOSPathSlash()),
+}
+
// adds all the template files
func addTemplates() error {
- glob, err := template.ParseGlob(fmt.Sprintf("readme_templates%s*", path))
- if err != nil {
- return err
- }
- _, err = glob.ParseGlob(fmt.Sprintf("sub_templates%s*", path))
- if err != nil {
- return err
- }
- _, err = glob.ParseGlob(fmt.Sprintf("exchange_readme_templates%s*", path))
- if err != nil {
- return err
- }
- _, err = glob.ParseGlob(fmt.Sprintf("general_templates%s*", path))
- if err != nil {
- return err
- }
+ tmpl = template.New("")
- tmpl = glob
+ for _, s := range globS {
+ _, err := tmpl.ParseGlob(s)
+ if err != nil {
+ return err
+ }
+ }
return nil
}
diff --git a/tools/documentation/readme_templates/events_readme.tmpl b/tools/documentation/events_templates/events_readme.tmpl
similarity index 100%
rename from tools/documentation/readme_templates/events_readme.tmpl
rename to tools/documentation/events_templates/events_readme.tmpl
diff --git a/tools/documentation/exchange_readme_templates/bitfinex.tmpl b/tools/documentation/exchange_readme_templates/bitfinex.tmpl
deleted file mode 100644
index df6a92f9..00000000
--- a/tools/documentation/exchange_readme_templates/bitfinex.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges bitfinex" -}}
-{{template "header" .}}
-## Bitfinex Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/bitflyer.tmpl b/tools/documentation/exchange_readme_templates/bitflyer.tmpl
deleted file mode 100644
index 3c16331c..00000000
--- a/tools/documentation/exchange_readme_templates/bitflyer.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges bitflyer" -}}
-{{template "header" .}}
-## Bitflyer Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/bithumb.tmpl b/tools/documentation/exchange_readme_templates/bithumb.tmpl
deleted file mode 100644
index f3c637b7..00000000
--- a/tools/documentation/exchange_readme_templates/bithumb.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges bithumb" -}}
-{{template "header" .}}
-## Bithumb Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/bitstamp.tmpl b/tools/documentation/exchange_readme_templates/bitstamp.tmpl
deleted file mode 100644
index 86c88652..00000000
--- a/tools/documentation/exchange_readme_templates/bitstamp.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges bitstamp" -}}
-{{template "header" .}}
-## Bitstamp Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/bittrex.tmpl b/tools/documentation/exchange_readme_templates/bittrex.tmpl
deleted file mode 100644
index b84c8f92..00000000
--- a/tools/documentation/exchange_readme_templates/bittrex.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges bittrex" -}}
-{{template "header" .}}
-## Bittrex Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/btcc.tmpl b/tools/documentation/exchange_readme_templates/btcc.tmpl
deleted file mode 100644
index 51da03a2..00000000
--- a/tools/documentation/exchange_readme_templates/btcc.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges btcc" -}}
-{{template "header" .}}
-## BTCC Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/btcmarkets.tmpl b/tools/documentation/exchange_readme_templates/btcmarkets.tmpl
deleted file mode 100644
index 9c5310a2..00000000
--- a/tools/documentation/exchange_readme_templates/btcmarkets.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges btcmarkets" -}}
-{{template "header" .}}
-## BTCMarkets Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/coinbasepro.tmpl b/tools/documentation/exchange_readme_templates/coinbasepro.tmpl
deleted file mode 100644
index 7ab96eaa..00000000
--- a/tools/documentation/exchange_readme_templates/coinbasepro.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges coinbasepro" -}}
-{{template "header" .}}
-## CoinbasePro Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/coinut.tmpl b/tools/documentation/exchange_readme_templates/coinut.tmpl
deleted file mode 100644
index 21eda7ad..00000000
--- a/tools/documentation/exchange_readme_templates/coinut.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges coinut" -}}
-{{template "header" .}}
-## Coinut Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/exmo.tmpl b/tools/documentation/exchange_readme_templates/exmo.tmpl
deleted file mode 100644
index 79b09dc8..00000000
--- a/tools/documentation/exchange_readme_templates/exmo.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges exmo" -}}
-{{template "header" .}}
-## Exmo Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/gemini.tmpl b/tools/documentation/exchange_readme_templates/gemini.tmpl
deleted file mode 100644
index e2e642f8..00000000
--- a/tools/documentation/exchange_readme_templates/gemini.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges gemini" -}}
-{{template "header" .}}
-## Gemini Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/hitbtc.tmpl b/tools/documentation/exchange_readme_templates/hitbtc.tmpl
deleted file mode 100644
index 63f14ade..00000000
--- a/tools/documentation/exchange_readme_templates/hitbtc.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges hitbtc" -}}
-{{template "header" .}}
-## HitBTC Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/huobi.tmpl b/tools/documentation/exchange_readme_templates/huobi.tmpl
deleted file mode 100644
index f05d10a4..00000000
--- a/tools/documentation/exchange_readme_templates/huobi.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges huobi" -}}
-{{template "header" .}}
-## Huobi Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/itbit.tmpl b/tools/documentation/exchange_readme_templates/itbit.tmpl
deleted file mode 100644
index b4516424..00000000
--- a/tools/documentation/exchange_readme_templates/itbit.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges itbit" -}}
-{{template "header" .}}
-## Itbit Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/kraken.tmpl b/tools/documentation/exchange_readme_templates/kraken.tmpl
deleted file mode 100644
index 4975e68a..00000000
--- a/tools/documentation/exchange_readme_templates/kraken.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges kraken" -}}
-{{template "header" .}}
-## Kraken Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/lakebtc.tmpl b/tools/documentation/exchange_readme_templates/lakebtc.tmpl
deleted file mode 100644
index f5f225e0..00000000
--- a/tools/documentation/exchange_readme_templates/lakebtc.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges lakebtc" -}}
-{{template "header" .}}
-## LakeBTC Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/liqui.tmpl b/tools/documentation/exchange_readme_templates/liqui.tmpl
deleted file mode 100644
index 0f768994..00000000
--- a/tools/documentation/exchange_readme_templates/liqui.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges liqui" -}}
-{{template "header" .}}
-## Liqui Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/localbitcoins.tmpl b/tools/documentation/exchange_readme_templates/localbitcoins.tmpl
deleted file mode 100644
index a88265d9..00000000
--- a/tools/documentation/exchange_readme_templates/localbitcoins.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges localbitcoins" -}}
-{{template "header" .}}
-## LocalBitcoins Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/okcoin.tmpl b/tools/documentation/exchange_readme_templates/okcoin.tmpl
deleted file mode 100644
index c732f595..00000000
--- a/tools/documentation/exchange_readme_templates/okcoin.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges okcoin" -}}
-{{template "header" .}}
-## OKCoin Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/okex.tmpl b/tools/documentation/exchange_readme_templates/okex.tmpl
deleted file mode 100644
index bc0d482e..00000000
--- a/tools/documentation/exchange_readme_templates/okex.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges okex" -}}
-{{template "header" .}}
-## OKex Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/poloniex.tmpl b/tools/documentation/exchange_readme_templates/poloniex.tmpl
deleted file mode 100644
index 30bd1a08..00000000
--- a/tools/documentation/exchange_readme_templates/poloniex.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges poloniex" -}}
-{{template "header" .}}
-## Poloniex Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/wex.tmpl b/tools/documentation/exchange_readme_templates/wex.tmpl
deleted file mode 100644
index a4637dc4..00000000
--- a/tools/documentation/exchange_readme_templates/wex.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges wex" -}}
-{{template "header" .}}
-## Wex Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/yobit.tmpl b/tools/documentation/exchange_readme_templates/yobit.tmpl
deleted file mode 100644
index 8cb95788..00000000
--- a/tools/documentation/exchange_readme_templates/yobit.tmpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{{define "exchanges yobit" -}}
-{{template "header" .}}
-## Yobit Exchange
-
-### Current Features
-
-+ Initial generation
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/exchange_readme_templates/alphapoint.tmpl b/tools/documentation/exchanges_templates/alphapoint.tmpl
similarity index 59%
rename from tools/documentation/exchange_readme_templates/alphapoint.tmpl
rename to tools/documentation/exchanges_templates/alphapoint.tmpl
index 1dcefc88..a6129338 100644
--- a/tools/documentation/exchange_readme_templates/alphapoint.tmpl
+++ b/tools/documentation/exchanges_templates/alphapoint.tmpl
@@ -1,10 +1,12 @@
{{define "exchanges alphapoint" -}}
{{template "header" .}}
-## Alphapoint Exchange
+## Alphapoint Exchange
-### Current Features
++ Please visit [Alphapoint](https://www.alphapoint.com/) for more info.
-+ Initial generation
+### How to enable
+
++ Not currently configurable
### Please click GoDocs chevron above to view current GoDoc information for this package
{{template "contributions"}}
diff --git a/tools/documentation/exchanges_templates/anx.tmpl b/tools/documentation/exchanges_templates/anx.tmpl
new file mode 100644
index 00000000..e2a4e4f9
--- /dev/null
+++ b/tools/documentation/exchanges_templates/anx.tmpl
@@ -0,0 +1,109 @@
+{{define "exchanges anx" -}}
+{{template "header" .}}
+## ANX Exchange
+
+### Current Features
+
++ REST functions
+
+### Features not yet included
+
++ Long polling streaming
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var a exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "ANX" {
+ a = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := a.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := a.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := a.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := a.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := a.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := a.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := a.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do LongPolling public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/binance.tmpl b/tools/documentation/exchanges_templates/binance.tmpl
new file mode 100644
index 00000000..492c33cc
--- /dev/null
+++ b/tools/documentation/exchanges_templates/binance.tmpl
@@ -0,0 +1,106 @@
+{{define "exchanges binance" -}}
+{{template "header" .}}
+## Binance Exchange
+
+### Current Features
+
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Binance" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/bitfinex.tmpl b/tools/documentation/exchanges_templates/bitfinex.tmpl
new file mode 100644
index 00000000..bad641ca
--- /dev/null
+++ b/tools/documentation/exchanges_templates/bitfinex.tmpl
@@ -0,0 +1,106 @@
+{{define "exchanges bitfinex" -}}
+{{template "header" .}}
+## Bitfinex Exchange
+
+### Current Features
+
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Bitfinex" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/bitflyer.tmpl b/tools/documentation/exchanges_templates/bitflyer.tmpl
new file mode 100644
index 00000000..e7b32d08
--- /dev/null
+++ b/tools/documentation/exchanges_templates/bitflyer.tmpl
@@ -0,0 +1,105 @@
+{{define "exchanges bitflyer" -}}
+{{template "header" .}}
+## Bitflyer Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Bitflyer" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/bithumb.tmpl b/tools/documentation/exchanges_templates/bithumb.tmpl
new file mode 100644
index 00000000..2e12de48
--- /dev/null
+++ b/tools/documentation/exchanges_templates/bithumb.tmpl
@@ -0,0 +1,98 @@
+{{define "exchanges bithumb" -}}
+{{template "header" .}}
+## Bithumb Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Bithumb" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/bitstamp.tmpl b/tools/documentation/exchanges_templates/bitstamp.tmpl
new file mode 100644
index 00000000..9affe03e
--- /dev/null
+++ b/tools/documentation/exchanges_templates/bitstamp.tmpl
@@ -0,0 +1,106 @@
+{{define "exchanges bitstamp" -}}
+{{template "header" .}}
+## Bitstamp Exchange
+
+### Current Features
+
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Bitstamp" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/bittrex.tmpl b/tools/documentation/exchanges_templates/bittrex.tmpl
new file mode 100644
index 00000000..a9313b5c
--- /dev/null
+++ b/tools/documentation/exchanges_templates/bittrex.tmpl
@@ -0,0 +1,98 @@
+{{define "exchanges bittrex" -}}
+{{template "header" .}}
+## Bittrex Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Bittrex" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/btcc.tmpl b/tools/documentation/exchanges_templates/btcc.tmpl
new file mode 100644
index 00000000..43fd48bf
--- /dev/null
+++ b/tools/documentation/exchanges_templates/btcc.tmpl
@@ -0,0 +1,106 @@
+{{define "exchanges btcc" -}}
+{{template "header" .}}
+## BTCC Exchange
+
+### Current Features
+
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "BTCC" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/btcmarkets.tmpl b/tools/documentation/exchanges_templates/btcmarkets.tmpl
new file mode 100644
index 00000000..940e02e1
--- /dev/null
+++ b/tools/documentation/exchanges_templates/btcmarkets.tmpl
@@ -0,0 +1,98 @@
+{{define "exchanges btcmarkets" -}}
+{{template "header" .}}
+## BTCMarkets Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var b exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "BTCMarkets" {
+ b = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := b.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := b.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := b.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := b.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := b.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := b.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/coinbasepro.tmpl b/tools/documentation/exchanges_templates/coinbasepro.tmpl
new file mode 100644
index 00000000..e2939ab3
--- /dev/null
+++ b/tools/documentation/exchanges_templates/coinbasepro.tmpl
@@ -0,0 +1,106 @@
+{{define "exchanges coinbasepro" -}}
+{{template "header" .}}
+## CoinbasePro Exchange
+
+### Current Features
+
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var c exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "CoinbasePro" {
+ c = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := c.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := c.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := c.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := c.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := c.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := c.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := c.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/coinut.tmpl b/tools/documentation/exchanges_templates/coinut.tmpl
new file mode 100644
index 00000000..c6916450
--- /dev/null
+++ b/tools/documentation/exchanges_templates/coinut.tmpl
@@ -0,0 +1,106 @@
+{{define "exchanges coinut" -}}
+{{template "header" .}}
+## Coinut Exchange
+
+### Current Features
+
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var c exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Coinut" {
+ c = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := c.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := c.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := c.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := c.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := c.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := c.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := c.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/exchanges_orderbook_readme.tmpl b/tools/documentation/exchanges_templates/exchanges_orderbook_readme.tmpl
new file mode 100644
index 00000000..93f6414b
--- /dev/null
+++ b/tools/documentation/exchanges_templates/exchanges_orderbook_readme.tmpl
@@ -0,0 +1,41 @@
+{{define "exchanges orderbook" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This package facilitates orderbook generation.
++ Attaches methods to an orderbook
+ - To Return total Bids
+ - To Return total Asks
+ - Update orderbooks
++ Gets a loaded orderbook by exchange, asset type and currency pair.
+
++ This package is primarily used in conjunction with but not limited to the
+exchange interface system set by exchange wrapper orderbook functions in
+"exchange"_wrapper.go.
+
+Examples below:
+
+```go
+ob, err := yobitExchange.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Find total asks which also returns total orderbook value
+totalAsks, totalOrderbookVal := ob.CalculateTotalAsks()
+```
+
++ or if you have a routine setting an exchange orderbook you can access it via
+the package itself.
+
+```go
+ob, err := orderbook.GetOrderbook(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/exchanges_readme.tmpl b/tools/documentation/exchanges_templates/exchanges_readme.tmpl
similarity index 78%
rename from tools/documentation/readme_templates/exchanges_readme.tmpl
rename to tools/documentation/exchanges_templates/exchanges_readme.tmpl
index f4f9cf77..5de95070 100644
--- a/tools/documentation/readme_templates/exchanges_readme.tmpl
+++ b/tools/documentation/exchanges_templates/exchanges_readme.tmpl
@@ -4,6 +4,9 @@
+ This package is used to connect and query data from supported exchanges.
++ Please checkout individual exchange README for more information on
+implementation
+
### Please click GoDocs chevron above to view current GoDoc information for this package
{{template "contributions"}}
{{template "donations"}}
diff --git a/tools/documentation/readme_templates/exchanges_stats_readme.tmpl b/tools/documentation/exchanges_templates/exchanges_stats_readme.tmpl
similarity index 56%
rename from tools/documentation/readme_templates/exchanges_stats_readme.tmpl
rename to tools/documentation/exchanges_templates/exchanges_stats_readme.tmpl
index f0bdc956..16dfdc12 100644
--- a/tools/documentation/readme_templates/exchanges_stats_readme.tmpl
+++ b/tools/documentation/exchanges_templates/exchanges_stats_readme.tmpl
@@ -2,7 +2,11 @@
{{template "header" .}}
## Current Features for {{.Name}}
-+ This package services the exchanges package.
++ This stats package services the exchanges package by providing stats on
+enabled exchanges i.e.
+ - Sort by largest volume
+ - Sort by best price for currency
+ - Others will be added soon
### Please click GoDocs chevron above to view current GoDoc information for this package
{{template "contributions"}}
diff --git a/tools/documentation/exchanges_templates/exchanges_ticker_readme.tmpl b/tools/documentation/exchanges_templates/exchanges_ticker_readme.tmpl
new file mode 100644
index 00000000..0f47ef6d
--- /dev/null
+++ b/tools/documentation/exchanges_templates/exchanges_ticker_readme.tmpl
@@ -0,0 +1,42 @@
+{{define "exchanges ticker" -}}
+{{template "header" .}}
+## Current Features for {{.Name}}
+
++ This services the exchanges package by ticker functions.
+
++ This package facilitates ticker generation.
++ Attaches methods to an ticker
+ - Returns a string of a value
+
++ Gets a loaded ticker by exchange, asset type and currency pair.
+
++ This package is primarily used in conjunction with but not limited to the
+exchange interface system set by exchange wrapper orderbook functions in
+"exchange"_wrapper.go.
+
+Examples below:
+
+```go
+tick, err := yobitExchange.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Converts ticker value to string
+tickerValString := tick.PriceToString(...)
+```
+
++ or if you have a routine setting an exchange orderbook you can access it via
+the package itself.
+
+```go
+tick, err := ticker.GetTicker(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/exmo.tmpl b/tools/documentation/exchanges_templates/exmo.tmpl
new file mode 100644
index 00000000..d4095426
--- /dev/null
+++ b/tools/documentation/exchanges_templates/exmo.tmpl
@@ -0,0 +1,98 @@
+{{define "exchanges exmo" -}}
+{{template "header" .}}
+## Exmo Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var e exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Exmo" {
+ e = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := e.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := e.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := e.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := e.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := e.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := e.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := e.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/gemini.tmpl b/tools/documentation/exchanges_templates/gemini.tmpl
new file mode 100644
index 00000000..621066c1
--- /dev/null
+++ b/tools/documentation/exchanges_templates/gemini.tmpl
@@ -0,0 +1,98 @@
+{{define "exchanges gemini" -}}
+{{template "header" .}}
+## Gemini Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var g exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Gemini" {
+ g = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := g.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := g.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := g.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := g.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := g.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := g.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := g.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/hitbtc.tmpl b/tools/documentation/exchanges_templates/hitbtc.tmpl
new file mode 100644
index 00000000..e4f18ce9
--- /dev/null
+++ b/tools/documentation/exchanges_templates/hitbtc.tmpl
@@ -0,0 +1,106 @@
+{{define "exchanges hitbtc" -}}
+{{template "header" .}}
+## HitBTC Exchange
+
+### Current Features
+
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var h exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "HitBTC" {
+ h = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := h.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := h.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := h.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := h.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := h.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := h.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := h.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/huobi.tmpl b/tools/documentation/exchanges_templates/huobi.tmpl
new file mode 100644
index 00000000..9688119b
--- /dev/null
+++ b/tools/documentation/exchanges_templates/huobi.tmpl
@@ -0,0 +1,105 @@
+{{define "exchanges huobi" -}}
+{{template "header" .}}
+## Huobi Exchange
+
+### Current Features
+
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var h exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Huobi" {
+ h = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := h.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := h.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := h.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := h.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := h.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := h.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := h.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/itbit.tmpl b/tools/documentation/exchanges_templates/itbit.tmpl
new file mode 100644
index 00000000..897ebae9
--- /dev/null
+++ b/tools/documentation/exchanges_templates/itbit.tmpl
@@ -0,0 +1,98 @@
+{{define "exchanges itbit" -}}
+{{template "header" .}}
+## Itbit Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var i exchange.IBotExchange
+
+for x := range bot.exchanges {
+ if bot.exchanges[x].GetName() == "Itbit" {
+ i = bot.exchanges[x]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := i.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := i.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := i.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := i.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := i.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := i.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := i.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/kraken.tmpl b/tools/documentation/exchanges_templates/kraken.tmpl
new file mode 100644
index 00000000..c1987823
--- /dev/null
+++ b/tools/documentation/exchanges_templates/kraken.tmpl
@@ -0,0 +1,98 @@
+{{define "exchanges kraken" -}}
+{{template "header" .}}
+## Kraken Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var k exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Kraken" {
+ k = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := k.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := k.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := k.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := k.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := k.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := k.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := k.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/lakebtc.tmpl b/tools/documentation/exchanges_templates/lakebtc.tmpl
new file mode 100644
index 00000000..cfebdc20
--- /dev/null
+++ b/tools/documentation/exchanges_templates/lakebtc.tmpl
@@ -0,0 +1,98 @@
+{{define "exchanges lakebtc" -}}
+{{template "header" .}}
+## LakeBTC Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var l exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "LakeBTC" {
+ l = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := l.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := l.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := l.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := l.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := l.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := l.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := l.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/liqui.tmpl b/tools/documentation/exchanges_templates/liqui.tmpl
new file mode 100644
index 00000000..f830658a
--- /dev/null
+++ b/tools/documentation/exchanges_templates/liqui.tmpl
@@ -0,0 +1,98 @@
+{{define "exchanges liqui" -}}
+{{template "header" .}}
+## Liqui Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var l exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Liqui" {
+ l = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := l.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := l.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := l.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := l.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := l.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := l.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := l.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/localbitcoins.tmpl b/tools/documentation/exchanges_templates/localbitcoins.tmpl
new file mode 100644
index 00000000..500023c6
--- /dev/null
+++ b/tools/documentation/exchanges_templates/localbitcoins.tmpl
@@ -0,0 +1,98 @@
+{{define "exchanges localbitcoins" -}}
+{{template "header" .}}
+## LocalBitcoins Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var l exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "LocalBitcoins" {
+ l = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := l.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := l.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := l.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := l.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := l.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := l.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := l.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/exchanges_nonce_readme.tmpl b/tools/documentation/exchanges_templates/nonce.tmpl
similarity index 100%
rename from tools/documentation/readme_templates/exchanges_nonce_readme.tmpl
rename to tools/documentation/exchanges_templates/nonce.tmpl
diff --git a/tools/documentation/exchanges_templates/okcoin.tmpl b/tools/documentation/exchanges_templates/okcoin.tmpl
new file mode 100644
index 00000000..25305645
--- /dev/null
+++ b/tools/documentation/exchanges_templates/okcoin.tmpl
@@ -0,0 +1,106 @@
+{{define "exchanges okcoin" -}}
+{{template "header" .}}
+## OKCoin Exchange
+
+### Current Features
+
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var o exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "OKCoin" {
+ y = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := o.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := o.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := o.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := o.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := o.GetOrderBook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetUserInfo returns account info
+accountInfo, err := o.GetUserInfo(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := o.Trade(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/okex.tmpl b/tools/documentation/exchanges_templates/okex.tmpl
new file mode 100644
index 00000000..3ffa1118
--- /dev/null
+++ b/tools/documentation/exchanges_templates/okex.tmpl
@@ -0,0 +1,98 @@
+{{define "exchanges okex" -}}
+{{template "header" .}}
+## OKex Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var o exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "OKex" {
+ y = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := o.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := o.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := o.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := o.GetSpotTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := o.GetSpotMarketDepth()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// GetContractPosition returns contract positioning
+accountInfo, err := o.GetContractPosition(...)
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := o.PlaceContractOrders(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/currency_readme.tmpl b/tools/documentation/exchanges_templates/orders.tmpl
similarity index 56%
rename from tools/documentation/readme_templates/currency_readme.tmpl
rename to tools/documentation/exchanges_templates/orders.tmpl
index 7cdf48ed..e593a6b3 100644
--- a/tools/documentation/readme_templates/currency_readme.tmpl
+++ b/tools/documentation/exchanges_templates/orders.tmpl
@@ -1,8 +1,11 @@
-{{define "currency" -}}
+{{define "exchanges orders" -}}
{{template "header" .}}
## Current Features for {{.Name}}
-+ Currency package deals with currency pair generation, manipulation and tracking.
++ This package services the exchanges package with order handling.
+ - Creation of order
+ - Deletion of order
+ - Order tracking
### Please click GoDocs chevron above to view current GoDoc information for this package
{{template "contributions"}}
diff --git a/tools/documentation/exchanges_templates/poloniex.tmpl b/tools/documentation/exchanges_templates/poloniex.tmpl
new file mode 100644
index 00000000..e1a9ca3c
--- /dev/null
+++ b/tools/documentation/exchanges_templates/poloniex.tmpl
@@ -0,0 +1,106 @@
+{{define "exchanges poloniex" -}}
+{{template "header" .}}
+## Poloniex Exchange
+
+### Current Features
+
++ REST Support
++ Websocket Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var p exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Poloniex" {
+ y = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := p.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := p.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := p.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := p.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := p.GetOrderbook()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// Cancels current account order
+accountInfo, err := p.CancelOrder()
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := p.PlaceOrder(...)
+if err != nil {
+ // Handle error
+}
+```
+
+### How to do Websocket public/private calls
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/currency_pair_readme.tmpl b/tools/documentation/exchanges_templates/request.tmpl
similarity index 57%
rename from tools/documentation/readme_templates/currency_pair_readme.tmpl
rename to tools/documentation/exchanges_templates/request.tmpl
index 042285ab..c1523dbf 100644
--- a/tools/documentation/readme_templates/currency_pair_readme.tmpl
+++ b/tools/documentation/exchanges_templates/request.tmpl
@@ -1,8 +1,9 @@
-{{define "currency pair" -}}
+{{define "exchanges request" -}}
{{template "header" .}}
## Current Features for {{.Name}}
-+ This package services the currency package.
++ This package services the exchanges package with request handling.
+ - Throttling of requests for an individual exchange
### Please click GoDocs chevron above to view current GoDoc information for this package
{{template "contributions"}}
diff --git a/tools/documentation/exchanges_templates/wex.tmpl b/tools/documentation/exchanges_templates/wex.tmpl
new file mode 100644
index 00000000..f81d7fdd
--- /dev/null
+++ b/tools/documentation/exchanges_templates/wex.tmpl
@@ -0,0 +1,98 @@
+{{define "exchanges wex" -}}
+{{template "header" .}}
+## Wex Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var w exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Wex" {
+ y = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := w.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := w.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := w.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := w.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := w.GetDepth()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := w.GetAccountInfo()
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := w.Trade("BTCUSD", "MARKET", 1, 2)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/exchanges_templates/yobit.tmpl b/tools/documentation/exchanges_templates/yobit.tmpl
new file mode 100644
index 00000000..16a2ecc4
--- /dev/null
+++ b/tools/documentation/exchanges_templates/yobit.tmpl
@@ -0,0 +1,98 @@
+{{define "exchanges yobit" -}}
+{{template "header" .}}
+## Yobit Exchange
+
+### Current Features
+
++ REST Support
+
+### How to enable
+
++ [Enable via configuration](https://github.com/thrasher-/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
+
++ Individual package example below:
+
+```go
+ // Exchanges will be abstracted out in further updates and examples will be
+ // supplied then
+```
+
+### How to do REST public/private calls
+
++ If enabled via "configuration".json file the exchange will be added to the
+IBotExchange array in the ```go var bot Bot``` and you will only be able to use
+the wrapper interface functions for accessing exchange data. View routines.go
+for an example of integration usage with GoCryptoTrader. Rudimentary example
+below:
+
+main.go
+```go
+var y exchange.IBotExchange
+
+for i := range bot.exchanges {
+ if bot.exchanges[i].GetName() == "Yobit" {
+ y = bot.exchanges[i]
+ }
+}
+
+// Public calls - wrapper functions
+
+// Fetches current ticker information
+tick, err := y.GetTickerPrice()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := y.GetOrderbookEx()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
+// set and AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := y.GetExchangeAccountInfo()
+if err != nil {
+ // Handle error
+}
+```
+
++ If enabled via individually importing package, rudimentary example below:
+
+```go
+// Public calls
+
+// Fetches current ticker information
+ticker, err := y.GetTicker()
+if err != nil {
+ // Handle error
+}
+
+// Fetches current orderbook information
+ob, err := y.GetDepth()
+if err != nil {
+ // Handle error
+}
+
+// Private calls - make sure your APIKEY and APISECRET are set and
+// AuthenticatedAPISupport is set to true
+
+// Fetches current account information
+accountInfo, err := y.GetAccountInfo()
+if err != nil {
+ // Handle error
+}
+
+// Submits an order and the exchange and returns its tradeID
+tradeID, err := y.Trade("BTCUSD", "MARKET", 1, 2)
+if err != nil {
+ // Handle error
+}
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/portfolio_readme.tmpl b/tools/documentation/portfolio_templates/portfolio_readme.tmpl
similarity index 100%
rename from tools/documentation/readme_templates/portfolio_readme.tmpl
rename to tools/documentation/portfolio_templates/portfolio_readme.tmpl
diff --git a/tools/documentation/readme_templates/currency_symbol_readme.tmpl b/tools/documentation/readme_templates/currency_symbol_readme.tmpl
deleted file mode 100644
index 424ad811..00000000
--- a/tools/documentation/readme_templates/currency_symbol_readme.tmpl
+++ /dev/null
@@ -1,10 +0,0 @@
-{{define "currency symbol" -}}
-{{template "header" .}}
-## Current Features for {{.Name}}
-
-+ This package services the currency package.
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/readme_templates/exchanges_orderbook_readme.tmpl b/tools/documentation/readme_templates/exchanges_orderbook_readme.tmpl
deleted file mode 100644
index ccb4d40b..00000000
--- a/tools/documentation/readme_templates/exchanges_orderbook_readme.tmpl
+++ /dev/null
@@ -1,10 +0,0 @@
-{{define "exchanges orderbook" -}}
-{{template "header" .}}
-## Current Features for {{.Name}}
-
-+ This package facilitates orderbook generation.
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/readme_templates/exchanges_ticker_readme.tmpl b/tools/documentation/readme_templates/exchanges_ticker_readme.tmpl
deleted file mode 100644
index c848e11f..00000000
--- a/tools/documentation/readme_templates/exchanges_ticker_readme.tmpl
+++ /dev/null
@@ -1,10 +0,0 @@
-{{define "exchanges ticker" -}}
-{{template "header" .}}
-## Current Features for {{.Name}}
-
-+ This services the exchanges package by ticker functions.
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/readme_templates/smsglobal_readme.tmpl b/tools/documentation/readme_templates/smsglobal_readme.tmpl
deleted file mode 100644
index 7b651e3a..00000000
--- a/tools/documentation/readme_templates/smsglobal_readme.tmpl
+++ /dev/null
@@ -1,10 +0,0 @@
-{{define "smsglobal" -}}
-{{template "header" .}}
-## Current Features for {{.Name}}
-
-+ This package allows for the messaging of events to a personal phone number or a group of phone numbers.
-
-### Please click GoDocs chevron above to view current GoDoc information for this package
-{{template "contributions"}}
-{{template "donations"}}
-{{end}}
diff --git a/tools/documentation/general_templates/CONTRIBUTORS b/tools/documentation/root_templates/CONTRIBUTORS
similarity index 100%
rename from tools/documentation/general_templates/CONTRIBUTORS
rename to tools/documentation/root_templates/CONTRIBUTORS
diff --git a/tools/documentation/general_templates/LICENSE b/tools/documentation/root_templates/LICENSE
similarity index 100%
rename from tools/documentation/general_templates/LICENSE
rename to tools/documentation/root_templates/LICENSE
diff --git a/tools/documentation/readme_templates/root_readme.tmpl b/tools/documentation/root_templates/root_readme.tmpl
similarity index 99%
rename from tools/documentation/readme_templates/root_readme.tmpl
rename to tools/documentation/root_templates/root_readme.tmpl
index 2d2776ad..61ae691c 100644
--- a/tools/documentation/readme_templates/root_readme.tmpl
+++ b/tools/documentation/root_templates/root_readme.tmpl
@@ -21,7 +21,7 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
|----------|------|-----------|-----|
| Alphapoint | Yes | Yes | NA |
| ANXPRO | Yes | No | NA |
-| Binance| Yes | No | NA |
+| Binance| Yes | Yes | NA |
| Bitfinex | Yes | Yes | NA |
| Bitflyer | Yes | No | NA |
| Bithumb | Yes | NA | NA |
diff --git a/tools/documentation/readme_templates/testdata_readme.tmpl b/tools/documentation/testdata_templates/testdata_readme.tmpl
similarity index 100%
rename from tools/documentation/readme_templates/testdata_readme.tmpl
rename to tools/documentation/testdata_templates/testdata_readme.tmpl
diff --git a/tools/documentation/tools_templates/config_tool.tmpl b/tools/documentation/tools_templates/config_tool.tmpl
new file mode 100644
index 00000000..17a3c8f4
--- /dev/null
+++ b/tools/documentation/tools_templates/config_tool.tmpl
@@ -0,0 +1,20 @@
+{{define "tools config" -}}
+{{template "header" .}}
+## Configuration management tool
+
+### Current Features
+
++ The configuration management tool takes in a "configuration".json file and
+writes to an output file while validating the inputting data.
+
+Example usage:
+
+```bash
+cd $GOPATH/src/github.com/thrasher-/gocryptotrader/tools/config/
+go run ./config.go -infile path/of/config.json -outfile path/of/new/config.json -encrypt falseOrTrue -key KEYHERE
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/tools_templates/documentation_tool.tmpl b/tools/documentation/tools_templates/documentation_tool.tmpl
new file mode 100644
index 00000000..50159e82
--- /dev/null
+++ b/tools/documentation/tools_templates/documentation_tool.tmpl
@@ -0,0 +1,23 @@
+{{define "tools documentation" -}}
+{{template "header" .}}
+## Documentation Management Tool
+
+### Current Features
+
++ Retrieves contribution activity via github API
++ Regenerates and updates documentation across the entire code base for each individual package
++ Allows for a documentation standard across this codebase
+
+#### How to example
+
++ This will update the entire codebase when a change is made in the documentation templates
+
+```sh
+cd $GOPATH/src/github.com/thrasher-/gocryptotrader/tools/documentation/
+go run gocryptotrader.go -r
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/tools_templates/exchange_tool.tmpl b/tools/documentation/tools_templates/exchange_tool.tmpl
new file mode 100644
index 00000000..d90a5c9e
--- /dev/null
+++ b/tools/documentation/tools_templates/exchange_tool.tmpl
@@ -0,0 +1,23 @@
+{{define "tools exchange" -}}
+{{template "header" .}}
+## Exchange Template Management Tool
+
+### Current Features
+
++ Generates a basic template for incorporating a new exchange in the codebase
+
+#### How to example
+
++ This will update the entire codebase when a change is made in the documentation templates
++ add -name flag to generate an exchange e.g -name yobit
++ add supporting request protocols by adding either -rest, -ws and or -fix
+
+```sh
+cd $GOPATH/src/github.com/thrasher-/gocryptotrader/tools/exchange_template/
+go run exchange_template.go -name Bitmex -ws -rest
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/tools_templates/huobi_auth_tool.tmpl b/tools/documentation/tools_templates/huobi_auth_tool.tmpl
new file mode 100644
index 00000000..0415a208
--- /dev/null
+++ b/tools/documentation/tools_templates/huobi_auth_tool.tmpl
@@ -0,0 +1,20 @@
+{{define "tools huobiauth" -}}
+{{template "header" .}}
+## Huobi Authentication Management Tool
+
+### Current Features
+
++ Generates a public and private key from a private key provided by Huobi for
+API Authentication.
++ Move your file into the same folder as the Huobi auth tool
+
+ Generate Keys:
+ ```bash
+cd $GOPATH/src/github.com/thrasher-/gocryptotrader/tools/huobi_auth/
+go run main.go
+ ```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/tools_templates/portfolio_tool.tmpl b/tools/documentation/tools_templates/portfolio_tool.tmpl
new file mode 100644
index 00000000..12e456cc
--- /dev/null
+++ b/tools/documentation/tools_templates/portfolio_tool.tmpl
@@ -0,0 +1,18 @@
+{{define "tools portfolio" -}}
+{{template "header" .}}
+## Portfolio Retrievement Tool
+
+### Current Features
+
++ Fetches portfolio details
+
+Example:
+```bash
+cd $GOPATH/src/github.com/thrasher-/gocryptotrader/tools/portfolio/
+go run portfolio.go -infile path/to/config.json -key AESDecryptionKey
+```
+
+### Please click GoDocs chevron above to view current GoDoc information for this package
+{{template "contributions"}}
+{{template "donations"}}
+{{end}}
diff --git a/tools/documentation/readme_templates/tools_readme.tmpl b/tools/documentation/tools_templates/tools.tmpl
similarity index 56%
rename from tools/documentation/readme_templates/tools_readme.tmpl
rename to tools/documentation/tools_templates/tools.tmpl
index 6789effa..69463c6c 100644
--- a/tools/documentation/readme_templates/tools_readme.tmpl
+++ b/tools/documentation/tools_templates/tools.tmpl
@@ -10,18 +10,7 @@ This folder contains an assortment of tools.
+ Exchange deployment
+ Websocket client
-
-Example Run for documentation generation - flags -v Verbose & -r Replace files
-```sh
-cd documentation/
-go run documentation.go -v
-```
-OR for full replacement.
-
-```sh
-cd documentation/
-go run documentation.go -v -r
-```
+Please see individual tool's README file
{{template "contributions"}}
{{template "donations"}}
{{end}}
diff --git a/tools/documentation/exchange_readme_templates/binance.tmpl b/tools/documentation/tools_templates/websocket_client_tool.tmpl
similarity index 50%
rename from tools/documentation/exchange_readme_templates/binance.tmpl
rename to tools/documentation/tools_templates/websocket_client_tool.tmpl
index f3b832c7..bd49bfc6 100644
--- a/tools/documentation/exchange_readme_templates/binance.tmpl
+++ b/tools/documentation/tools_templates/websocket_client_tool.tmpl
@@ -1,10 +1,16 @@
-{{define "exchanges binance" -}}
+{{define "tools websocket" -}}
{{template "header" .}}
-## Binance Exchange
+## Websocket Client Tool
### Current Features
-+ Initial generation
++ Starts a websocket client
+
+Example:
+```bash
+cd $GOPATH/src/github.com/thrasher-/gocryptotrader/tools/websocket_client/
+go run main.go
+```
### Please click GoDocs chevron above to view current GoDoc information for this package
{{template "contributions"}}
diff --git a/tools/documentation/readme_templates/web_readme.tmpl b/tools/documentation/web_templates/web_readme.tmpl
similarity index 97%
rename from tools/documentation/readme_templates/web_readme.tmpl
rename to tools/documentation/web_templates/web_readme.tmpl
index 57715cdc..3d9f9484 100644
--- a/tools/documentation/readme_templates/web_readme.tmpl
+++ b/tools/documentation/web_templates/web_readme.tmpl
@@ -30,9 +30,9 @@ npm run start:web
Currently runs with:
-- Angular v5.2.5
-- Angular-CLI v1.6.4
-- Electron v1.8.2
+- Angular v6.0.9
+- Angular-CLI v6.0.8
+- Electron v1.8.7
- Electron Builder v20.0.4
diff --git a/web/README.md b/web/README.md
index 3aa3722c..4cb8c5ff 100644
--- a/web/README.md
+++ b/web/README.md
@@ -48,8 +48,8 @@ npm run start:web
Currently runs with:
-- Angular v5.2.5
-- Angular-CLI v1.6.4
+- Angular v6.0.9
+- Angular-CLI v6.0.8
- Electron v1.8.7
- Electron Builder v20.0.4