yura505 / robinbot

Robinhood API based swing trading bot
134 stars 35 forks source link

All improvements are welcome! #7

Open yura505 opened 6 years ago

yura505 commented 6 years ago

This project is looking for new ideas, new pull requests, any improvements. Everything for make it better. Robinbot wants to be more flexible and configurable, go beyond the limited functionality. Also nobody knows how it works on Windows platform. Let's create free trading bot together.

Geczy commented 6 years ago

Works fine in Windows Why do you suggest only running it at end of market? What if it's ran twice a day, beginning and end?

yura505 commented 6 years ago

@Geczy It because the bot takes into account current day OHLC, however "close" of current day is not defined until market closed. The bot uses last trade price as "close", so as near to market end as accurate technical analysis will be. If you run the bot in the middle of day, there can be repaint effect or wrong signal taken. The bot created for swing and position trading, not for day trading. So, if run it in the beginning of day, you can take wrong signal (ex. BUY), but at the end of the day signal could be changed to SELL. As result you can loose money and this trade will be considered as "day". 3 day trades / week = block your account until you deposit $25k.

zerowebcorp commented 6 years ago

Is it possible to adjust this to use daily 1d1m chart for day trading?

yura505 commented 6 years ago

@getvivekv Yes, it possible to adjust it, but need to have 1m data source for it, as I know it's expensive. However it you have data source, we can discuss code changes.

zerowebcorp commented 6 years ago

@yura505 Real-time free data.

https://www.google.com/finance/getprices?i=30&p=1d&f=d,o,h,l,c,v&df=cpct&q=AMD

There is also a Price History api from TDAmeritrade that I am currently evalulating to see if it is real time or not. https://developer.tdameritrade.com/price-history/apis/get/marketdata/%7Bsymbol%7D/pricehistory

yura505 commented 6 years ago

@getvivekv Google finance is too unstable data source, I tried it before. They discontinued this service in 2011, it still works, but it's not good for use. The same with Yahoo finance.

zerowebcorp commented 6 years ago

Alright, fair enough. I have a source from where we can get 5 minutes data, not 1minutes. Also, I am waiting for a response from TDAmeritrade to see if theirs returns live data or not. Will let you know soon.

yura505 commented 6 years ago

@getvivekv 5 min data is not a problem, it can be taken from Robinhood, but need for check that there real-time data:

GET /quotes/historicals/?symbols=$csv_symbols&interval=$i[&span=$s&bounds=$b] interval=week|day|10minute|5minute span=day(default)|week|year|5year|all bounds=extended|regular|trading(default)

From here: https://github.com/sanko/Robinhood/blob/master/Quote.md

zerowebcorp commented 6 years ago

That's great. I do believe this is realtime. But yes, agreed, we need to check.

If those are real-time data, how much effort would there be for code adjustment? I am myself a developer, but not familiar with nodejs, otherwise I would have submitted a pull request. But anything I can be of help, let me know

yura505 commented 6 years ago

@getvivekv I think need just make some changes only in quotes.js, by default it downloads 2 years daily data from iextrading.com, but it's possible to rework it to make it configureable through conf.js for day trading too.

zerowebcorp commented 6 years ago

TDAmeritrade confirmed that the data they are reporting is live/realtime if you have a live account with them.

zerowebcorp commented 6 years ago

@yura505 There is also CNBC

https://ts-api.cnbc.com/harmony/app/bars/JDST/1M/20180509000000/20180612000000/adjusted/EST5EDT.json

You can see this in the xhr tab of the page https://www.cnbc.com/quotes/?symbol=JDST

tuner562 commented 6 years ago

I use Interactive Brokers with a data subscription, is it possible to use them as my source for rt data?

Nick8197 commented 6 years ago

Have you looked into adding options trading on this bot?