Coinguide Update: A cryptocurrency trade guide
Project Overview
COINGUIDE : a webapp that aims to guide crypto traders on the most popular Cryptocurrencies. It achieves this by fetching records from poloniex using their api, rating these records according to their buy orders.
Coinguide aims to keep traders informed about the popular coins (coins which the highest number of buy orders within a specific time range). A future goal of the project is to become a reliable platform that accurately ranks coins/tokens based on how much traders and buying a selling using a mathematical algorithms. Coinguide isn't a website that gives investors financial advise on which coin to buy or not, it simply gets the required data from poloniex api processes the data using an algorithm and tells users the coins gaining popularity and those loosing popularity.
Previous Update
Link to first update here
Link to second update here
New Features:
Coinguide nows has a new logo. To make this more of a standard project, i decided to design a logo for the web app. May not be the perfect logo but it stands out.
Coinguide now has a new homepage that gives traders the option of selecting which exchange market data to view. So like i said in my former post, i will be adding market data from other exchanges after succesfully adding and process market data from poloniex. So this new home page makes it easy for traders to select which market data they will like to view.
Coinguide now has market data from coinexchange. So the big update is coinexchange market data is now available on coinguide. Traders can now view coinexchange market data on coinguide as well as market data from poloniex. As expected, market data from coinexchange is totally different from that of poloniex so i had to analyse and process it different from the way poloniex's was done. Coinexchange also seem to have trice as much coin as poloniex, so again analysis was carefully done.
Coinexchange data
Poloniex data
So poloniex gives an option of getting data within a specific time frame while coinexchange doesn't, so i will have to work more on the time frame for getting data from coinexchange.
How I implemented this.
I started by fetching all available coins from coinexchange using the endpoint
/api/v1/getmarkets
, then i got the market summary for each for the coins using the endpointapi/v1/getmarketsummary?market_id='.$market_id
I analyzed and processed the data to produce the table above.
include '../function/coinexchange.php'; $check = selectMarketID(); if (empty($check)) { $records = file_get_contents('https://www.coinexchange.io/api/v1/getmarkets'); $records = json_decode($records , true); $records = $records['result']; $date_saved = time(); foreach ($records as $key => $record) { $market_id = $record['MarketID']; $coin = $record['MarketAssetName']; $currencypair = $record['MarketAssetCode']; // We can now save records to database $save = save ($coin, $currencypair, $market_id, $date_saved); } } $all = allEmptyBuys (); $n = count($all); for ($i=0; $i < $n; $i++) { if (empty($all[$i]['buy'])) { $market_id = $all[$i]['market_id']; $url = 'https://www.coinexchange.io/api/v1/getmarketsummary?market_id='.$market_id; $market_summary = file_get_contents($url); $market_summary = json_decode($market_summary , true); $market_summary = $market_summary['result']; $buy = $market_summary['BuyOrderCount']; $market_id = $market_id; $change = $market_summary['Change']; $update = updatebuy ($buy, $change, $market_id); if ($update) { echo "succesful"; }else { echo "failed"; } }else { } } foreach ($check as $key => $market_id) { $market_id = $market_id['market_id']; $url = 'https://www.coinexchange.io/api/v1/getmarketsummary?market_id='.$market_id; $market_summary = file_get_contents($url); $market_summary = json_decode($market_summary , true); $market_summary = $market_summary['result']; $buy = $market_summary['BuyOrderCount']; $market_id = $market_id; $change = $market_summary['Change']; $update = updatebuy ($buy, $change, $market_id); if ($update) { echo "succesful"; }else { echo "failed"; } } ?>
Links to commits:
Website can be accessed temporarily here
Please i will gladly welcome your suggestions and idea, or even an algorithm you think will suit this webapp better. I will be adding data soon from other exchanges like kraken and coinexchange. I will have to check the algorithm again to see if it will be efficient enough to provide the right results when data comes in from other exchanges. Your suggestions are highly valued.
Posted on Utopian.io - Rewarding Open Source Contributors