I’ve made a couple of significant updates since my last post (link here) where I introduced the project objective and gave an overview of the work done to date. I also included a link to the dashboard and the project GitHub repository I am using (brophymj/bitgeek).
Key Update
I have added the first technical analysis indicator, the Moving Average Convergence Divergence (MACD) which can be viewed graphically (over 2 graphs) for any of the 25 currencies in the database.
A detailed description of the MACD is outside the scope of this post but there are many resources available to get familiar with MACD. Investopedia is a useful resource for those who would like to get a flavour for what it involves. You can also visit one of my recent reports where I discuss what the MACD is and how to interpret it. MACD
How to Access the Update
Click on the link http://35.229.125.96/ and enter the login details:
- Username: Matt
- Password: m@tt!
The home screen has been updated to include a new menu item where you can generate the MACD graph (see screenshot below).
If you click on “Graph Generator”, it will bring you to the page in the screenshot below:
Here, you can enter the start & end period, the coin you want to view the MACD for and select the MACD parameters you want.
The MACD parameters are set at default values of (12, 26, 9) as these are the most common setting for the MACD.
After entering the required information, click “Submit” to view the graph (see screenshot below)
Code to Create Updates
The code is available in the project GitHub repository (brophymj/bitgeek).
The code to create the MACD graph can be viewed in “helpers.py” file. An extract of the code is shown below:
First, the data is summarized, then the MACD paramters are set:
alphafast = Decimal(2.0 / (1.0 + float(fast)))
alphaslow = Decimal(2.0 / (1.0 + float(slow)))
alphasignal = Decimal(2.0 / (1.0 + float(signal)))
alphafast_1 = Decimal(1.0) - alphafast
alphaslow_1 = Decimal(1.0) - alphaslow
alphasignal_1 = Decimal(1.0) - alphasignal
The code to create the graphs is too long to include in this update but you can view the entire code in the repository.
A short extract is shown below...
def summarize(fromdate, todate, coin, fast, slow, signal):
"""Get the graph generated."""
coin = 'BTC-' + coin
pipeline =\
[{"$match":
{'TimeStamp':
{"$gt":
datetime.strptime(fromdate,
'%m/%d/%Y %I:%M %p'
).strftime('%Y-%m-%dT%H:%M'),
"$lt":
(datetime.strptime(todate,
'%m/%d/%Y %I:%M %p'
) + timedelta(minutes=1)
).strftime('%Y-%m-%dT%H:%M')},
'Pair': coin
}
},
{"$group":
{"_id":
{'datehours':
Next Steps
- Improve the formatting in the MACD graph
- Allow user to select interval when viewing graph i.e. 5-minute, 1-hour etc.
- Add more technical analysis indicators
- Allow users to specify intervals of past experience analyze (currently, the MACD can be *viewed for the latest 100 observations)
- Customize the graphs to the users requirements
How to Get Involved
I would be delighted to get your feedback or input into this project. Please comment or message me if you want further clarification on anything.
Thanks, and I’m already working on the next update!
Dashboard picture source: https://pixabay.com/
Posted on Utopian.io - Rewarding Open Source Contributors
moving average convergence divergence, one of my favorite indicators indeed
cheers
@itsdanmark
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hey @bitgeek I am @utopian-io. I have just upvoted you!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Great post. Up Voted early and haven’t got a chance to go to the link and use the data but I trust it will be extremely useful.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Great post , thanks for sharing :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Wow, thank you for all the work you do here in Steemit. I go try it out right now.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit