Vincent Sima a987b6d75a working on db 6 lat temu
.idea alphavantage working 6 lat temu
1.1.1 working on db 6 lat temu
UI Ionic working on db 6 lat temu
UMLs Ionic UI 1.0 6 lat temu
.DS_Store working on db 6 lat temu
readme.md ui 1.0 6 lat temu

readme.md


Objective


1.0 To create a fully autonomous cryptocurrency and foreign exchange currency pairs trading algorithm using Java, JavaScript, mySQL, and Vue.js. The goal of the project is to deliver a functioning product utilizing live BTC/Ethereum accounts, live trading data and technical analysis algorithms. The finished project will live on a server and will have a browser-based UI.


Structure


The project will utilize Java for all trading logic and algorithm development. Data regarding all trading activity will be stored in a SQL database. UI will be a desktop, browser-based interface coded in JavaScript with Vue.js framework.


Data Sourcing


All market data will be acquired from freely available trading APIs, including AlphaVantage.com and IEX.com.


Trading


Overview All trading will be conducted through one of the established cryptocurrency exchanges offering a trading API. Trading algorithms are going to be entirely written by me, in Java. Algorithms will utilize established technical analysis strategies and indicators including Moving Averages, Relative Strength Index, Momentum, Volume, and likely many more.

The goal will be to produce ~100 trades per month, triggered by a combination of one or several buy/short signals from the indicators above. Whether a trade is to be triggered by a simple binary buy/sell signal on one or many indicators, or if an overall weighted "buy/sell score" meets a threshold is still to be determined. Trades will have predetermined Stop-Losses and Take-Profit levels calculated prior to entering a trade.

Trade Strategies

  • K39 - Slow Stochastic

Interface


1.0 The user will be able to interact with the product via an online interface. User will interface with the data housed in database through data modeling, charting and graphing, etc. User will be able to view completed trades by criteria in any of the fields in database schema, and new information synthesized from this data.

2.0 User should be able to interact with the algorithm from the UI. Perhaps switch overall strategies (Bull/Bear) based on more fundamental analysis not accounted for in algorithm.

Completed trades will be posted to a dedicated Twitter Account.


Instructor Interaction


Should an instructor wish to interact with this product on an ongoing basis, in the main method within the java root folder there will be an App.java file demonstrating some of the latest development in the product.


Resources


Vue.js

https://github.com/vuejs

https://github.com/vuejs/vue-router

https://github.com/vuejs/awesome-vue

SQLite

https://www.sqlite.org/

Twitter API

https://github.com/yusuke/twitter4j

Chart.js

https://github.com/chartjs/Chart.js

TradingView Charting API

https://www.tradingview.com/HTML5-stock-forex-bitcoin-charting-library/

AlphaVantage Resources

http://www.alphavantage.co

https://github.com/patriques82/alphavantage4j

IEX API

http://www.iextrading.com

https://github.com/WojciechZankowski/iextrading4j/wiki

FINVIZ

https://github.com/redklouds/Finviz-API (Python Only)

Quandl

https://www.quandl.com/account (Python Only)

Kraken API

https://github.com/nyg/kraken-api-java


To Do


  • Will I be able to utilize Python APIs? Will it be beneficial?

  • Is Chart.js the best charting tool to use?

  • Is SQLite the best db manager to use?

  • Is Vue.js the best front end framework to use? Is a framework necessary for this application?