cryptosignal / crypto-signal Goto Github PK
View Code? Open in Web Editor NEWGithub.com/CryptoSignal - Trading & Technical Analysis Bot - 4,100+ stars, 1,100+ forks
Home Page: https://www.linkedin.com/in/AbenezerMamo
License: MIT License
Github.com/CryptoSignal - Trading & Technical Analysis Bot - 4,100+ stars, 1,100+ forks
Home Page: https://www.linkedin.com/in/AbenezerMamo
License: MIT License
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/ccxt/base/exchange.py", line 345, in fetch_requests
response.raise_for_status()
File "/usr/local/lib/python3.6/dist-packages/requests/models.py", line 935, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.binance.com/api/v1/klines?symbol=ETHBTC&interval=1d&limit=500&startTime=1507246156330.2341 << Remove decimals and will work!
Hello, I would like to ask you all if you have any ideas on how we can use the calculateRSI function to calculate the RSI of a few minutes ago. For example, I want to get the 30 min RSI of 5mins earlier and get the RSI of now, to find out if it is curving up or down.
Apparently without a pro account, LinkedIn won't let me friend request or message you.
This is Dan, from ConsenSys & MetaMask, we met at CalHacks on Friday night. I hope you had fun at the hackathon. Maybe you won?
Anyways, send me an email or something, so we have a communication channel. [email protected]
Want to know about MACD implementation
I kind of ran a bot, and he even in the console sends information about the coins. A couple of questions, how many coins does the bot analyze? We run the app.py file, and we do not touch the bittrex.py file, right? The program shows the pairs in the console window, is this correct? In advance, I apologize for the questions. I'm completely new to programming.
I have experience writing asynchronous code and was wondering if you guys would allow me to implement asynchronous processing w/ ccxt.
python app.py
Traceback (most recent call last):
File "app.py", line 9, in
secrets = json.load(secrets_file)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py", line 290, in load
**kw)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py", line 338, in loads
return _default_decoder.decode(s)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 381, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 4 column 1 (char 117)
Could you please advise, thnx
Awesome bot :)
How about Telegram notifications?
There are a lot of tg libs like python-telegram-bot, Telepot
Traceback (most recent call last):
File "app.py", line 83, in
main()
File "app.py", line 61, in main
get_signal(coin_pairs, strategy_analyzer, notifier)
File "app.py", line 70, in get_signal
notifier.notify_all(message="{} is breaking out!".format(coin_pair))
File "/app/notification.py", line 53, in notify_all
self.notify_gmail(message)
File "/app/notification.py", line 75, in notify_gmail
self.gmail_client.notify(message)
File "/app/notifiers/gmail.py", line 31, in notify
self.smtp_handler.starttls()
File "/usr/local/lib/python3.6/smtplib.py", line 749, in starttls
self.ehlo_or_helo_if_needed()
File "/usr/local/lib/python3.6/smtplib.py", line 600, in ehlo_or_helo_if_needed
if not (200 <= self.ehlo()[0] <= 299):
File "/usr/local/lib/python3.6/smtplib.py", line 440, in ehlo
self.putcmd(self.ehlo_msg, name or self.local_hostname)
File "/usr/local/lib/python3.6/smtplib.py", line 367, in putcmd
self.send(str)
File "/usr/local/lib/python3.6/smtplib.py", line 359, in send
raise SMTPServerDisconnected('please run connect() first')
smtplib.SMTPServerDisconnected: please run connect() first
after make build
which gives no errors I try to run the app using 'make run', unfortunately theres no .env folder generated, how can I do this / whats wrong with the install process?
docker run -it --rm --env-file .env crypto-signal
docker: open .env: no such file or directory.
where is that secret.json file??
where can i get BITTREX_API_KEY,BITTREX_SECRET,TWILIO_API_KEY,TWILIO_SECRET??
{
"bittrex_key" : "BITTREX_API_KEY",
"bittrex_secret" : "BITTREX_SECRET",
"twilio_key": "TWILIO_API_KEY",
"twilio_secret": "TWILIO_SECRET",
"twilio_number": "TWILIO_PHONE_NUMBER",
"my_number": "YOUR_PHONE_NUMBER"
}
Trying to figure out why get_historical_data Is returning this error:
bittrex does not have market symbol BTC-XRP
historical_data = self.exchange_interface.get_historical_data( market_pair='BTC-XRP', period_count=period_count, time_unit=time_unit )
Their platform does indeed have that symbol. Am I missing something here?
Script stops at:
BTC-XMR: Breakout: #Bagholding RSI: 46.1423413592
Is it normal ?
RSI is off on every pair, on both the 5m and 30m calculations (haven't checked the other timeframes).
I am comparing the data with TradingView and Cryptowat.ch.
I changed "market_pairs": [] at "default-config.json" to "market_pairs": ["BSD/BTC"] and a lot of combinations of symbols, with double q and without it, etc.. I can't get it working with just 1 symbol..
The error using the combination above:
Traceback (most recent call last):
File "app.py", line 31, in
main()
File "app.py", line 27, in main
behaviour.run(settings['market_pairs'])
File "/root/Downloads/crypto-signal-master/app/behaviours/default.py", line 16, in run
market_data = self.exchange_interface.get_symbol_markets(market_pairs)
File "/root/Downloads/crypto-signal-master/app/exchange.py", line 106, in get_symbol_markets
market_pair]
KeyError: 'BSD/BTC'
Instead of putting your env into the project, you should consider adding a requirements.txt
to the project root instead, so people can build their own env with all the required packages.
The link that is supposed to describe how to setup trading pairs in the settings is broken, need to know what the proper format of trading pairs is.
Hi, my petition is scan % price variations at diferent timeframes (1m, 3m, 5m, 1h) on all coins/exchanges and send notifications to telegram group with all info and link to the exchange coin for example when a coin is going above or below this %. We could configure the +/- % and timeframe in the config files.
An example: http://www.cryptomarketscanner.com/
Thanks for all.
Hi guys,
I'm getting alot of time-out and then de app stops:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 387, in _make_request
six.raise_from(e, None)
File "", line 2, in raise_from
File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 383, in _make_request
httplib_response = conn.getresponse()
File "/usr/local/lib/python3.6/http/client.py", line 1331, in getresponse
response.begin()
File "/usr/local/lib/python3.6/http/client.py", line 297, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.6/http/client.py", line 258, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.6/socket.py", line 586, in readinto
return self._sock.recv_into(b)
File "/usr/local/lib/python3.6/site-packages/urllib3/contrib/pyopenssl.py", line 294, in recv_into
raise timeout('The read operation timed out')
socket.timeout: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 440, in send
timeout=timeout
File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 639, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/local/lib/python3.6/site-packages/urllib3/util/retry.py", line 357, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/local/lib/python3.6/site-packages/urllib3/packages/six.py", line 686, in reraise
raise value
File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 601, in urlopen
chunked=chunked)
File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 389, in _make_request
self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 309, in _raise_timeout
raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value)
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='bittrex.com', port=443): Read timed out. (read timeout=10)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/ccxt/base/exchange.py", line 342, in fetch_requests
proxies=self.proxies
File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 618, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 521, in send
raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='bittrex.com', port=443): Read timed out. (read timeout=10)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "app.py", line 83, in
main()
File "app.py", line 61, in main
get_signal(coin_pairs, strategy_analyzer, notifier)
File "app.py", line 68, in get_signal
ichimoku_span_a, ichimoku_span_b = strategy_analyzer.analyze_ichimoku_cloud(coin_pair)
File "/app/analysis.py", line 56, in analyze_ichimoku_cloud
time_unit='1d'
File "/app/exchange.py", line 33, in get_historical_data
limit=period_count))
File "/usr/local/lib/python3.6/site-packages/ccxt/bittrex.py", line 389, in fetch_ohlcv
response = self.v2GetMarketGetTicks(self.extend(request, params))
File "/usr/local/lib/python3.6/site-packages/ccxt/bittrex.py", line 618, in request
response = self.fetch2(path, api, method, params, headers, body)
File "/usr/local/lib/python3.6/site-packages/ccxt/base/exchange.py", line 290, in fetch2
return self.fetch_requests(request['url'], request['method'], request['headers'], request['body'])
File "/usr/local/lib/python3.6/site-packages/ccxt/base/exchange.py", line 348, in fetch_requests
raise RequestTimeout(' '.join([self.id, method, url, 'request timeout']))
ccxt.base.errors.RequestTimeout: bittrex GET https://bittrex.com/api/v2.0/pub/market/GetTicks?tickInterval=day&marketName=BTC-STEEM request timeout
It would be great if the web client can be built using React. I would be able to contribute. I have seen some great projects already which can do candle graphs etc to visualize things in react.
File "app.py", line 21, in <module> with open(SECRETS_FILE_PATH) as secrets_file: TypeError: coercing to Unicode: need string or buffer, PosixPath found
Fixed by changing to:
with open(str(SECRETS_FILE_PATH)) as secrets_file:
Jesse can take this on. This helps us define upper and lower bounds for positions.
Hi! thanks for work!
I get a
“ImportError: No module named twilio.rest”
and renamed the twilio.py file
https://stackoverflow.com/questions/35180322/importerror-no-module-named-twilio-rest
also to use on python 2.7
changed urllib.request to urllib2 in integram.py
Hi all
Great project!
I've cloned it to my Windows machine, installed requirements, configured .env
(bittrex + integram) and default-config.json
and when I try to run it locally, I'll get following error:
Traceback (most recent call last):
File ".\app.py", line 12, in <module>
from behaviour import Behaviour
File "...\app\behaviour.py", line 5, in <module>
from notification import Notifier
File "...\app\notification.py", line 10, in <module>
from notifiers.integram_client import IntegramNotifier
File "...\app\notifiers\integram_client.py", line 2, in <module>
import urllib.request
ImportError: No module named request
Thank you!
Seems like Bittrex API no longer supports 1 week and 1 month historical prices.
Error:
return historicalData['result'][-period:]
TypeError: 'NoneType' object is not subscriptable
Writing feature requests and then connecting them to Github Project cards. This one is for creating stop losses within the bot.
Context:
When entering a position into a coin that's increasing in BTC value, it's hard to not ride the "FOMO" wave and stay in the position for too long.
In some instances, some coins pump really hard and dump with a 50% correction. Being apart of the pump is great - not so much for the dump. This is where stop losses can come in.
Example Use Case:
Imagine you entered a BTC/NEO position at 630k sats and it started increasing to 650k sats. The price will go up and down, so it's best to make sure we leave the position if it gets below 640k sats. Maybe based on previous supports (this can be inferred with Ichmoku Cloud), we can determine that 637k is the best price to leave the position so we're not being prematurely stopped out.
To break that down, imagine the following variables over time
Start
Trade: BTC/NEO
Entry Position: 650k sats
Initial Stop Loss (5%): 617.5k sats
Increase by 5% from original entry
Current Position: 682.5k sats
Current Stop Loss (2.5%): 665.435 sats
Decrease by 2% from previous position
Current Position: 668.85
Current Stop Loss (taken from previous b/c of drop): 665.435 sats
At this point, we should hold the stop loss to be valid so we're still taking a profit. If we want to re-enter the position, we can enter again at a certain percentage above our previous stop loss (to make sure it's not a fake pump)
The goal of trailing stop losses is to let you lock in your gains instead of just riding the wave like a normal investor #bagolding
Rules:
Significance:
It's difficult to predict price movements in crypto but it's easy to ride the waves, as long as you're able to enter and leave cleanly. Beyond any trading strategy, knowing when to leave a trade before a major loss occurs is critical.
Share feedback/thoughts/questions below!
Hi there, how does this bot exactly work? When i start it, it goes through my currency pairs (i entered all btc/currency pairs that are availabe in bittrex). How do i read the results? It scans every currency and then starts over. Is there supposed to be some extra signal when the bot suggests to take action? Or do i have to read the lines and consider what to make out of it? Also, gmail notification does not work correctly, it only sends 1 mail and then the tool crashes back to command line.
hello I get this error in terminal then I try to run:
Traceback (most recent call last): File "app.py", line 1, in <module> from bittrex import Bittrex File "/Users/deniz/Downloads/crypto-signal-master/bittrex.py", line 18, in <module> import requests ImportError: No module named requests
Any idea why I might be getting this?
PS C:\Users\Username\Documents\cryptosignals\crypto-signal> docker build -t cs .
Sending build context to Docker daemon 3.836MB
Step 1/5 : FROM python:3.6
---> c1e459c00dc3
Step 2/5 : ADD app/ /app
---> Using cache
---> dd3131901afb
Step 3/5 : WORKDIR /app
---> Using cache
---> d401ea36bbfb
Step 4/5 : RUN pip install -r requirements.txt
---> Running in 238d1cd4f7af
Collecting asn1crypto==0.22.0 (from -r requirements.txt (line 1))
Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out. (read timeout=15)",)': /simple/asn1crypto/
Retrying (Retry(total=3, connect=None, read=None, redirect=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out. (read timeout=15)",)': /simple/asn1crypto/
Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out. (read timeout=15)",)': /simple/asn1crypto/
Retrying (Retry(total=1, connect=None, read=None, redirect=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out. (read timeout=15)",)': /simple/asn1crypto/
Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out. (read timeout=15)",)': /simple/asn1crypto/
Could not find a version that satisfies the requirement asn1crypto==0.22.0 (from -r requirements.txt (line 1)) (from versions: )
No matching distribution found for asn1crypto==0.22.0 (from -r requirements.txt (line 1))
The command '/bin/sh -c pip install -r requirements.txt' returned a non-zero code: 1
Docker is Version 17.12.0-ce-rc4-win44 (14896), running on Windows 10. This is the first time I've ever tried to 'build' an image, but I've pulled and run other images successfully before.
Hi,
first of all thank you for giving this code to public.
I have converted your code to PHP because I'm expirienced on PHP coding.
I found some issues on calculateEMA function
a) constant = (2 / (period + 1)) not used in the function, have you missed to included it on summaring variables?
b) closing_prices[-1] is underfined, do you mean closing_prices[1]?
Also I have a question about getHistoricalData function, you return historicalData['result'][-period:]
I don't actually understand in PY what you mean (minus-) period and : . I have found that is substracting a part of array, can you explain the minus?
I have "transcoded" to PHP to return return array_slice(historicalData['result'],$period);
Raw Result of historicalData['result']
Array
(
[0] => Array
(
[O] => 0.051085
[H] => 0.05120246
[L] => 0.051005
[C] => 0.05120246
[V] => 478.1481531
[T] => 2017-10-27T21:30:00
[BV] => 24.42278885
)
[1] => Array
(
[O] => 0.05120201
[H] => 0.05144221
[L] => 0.051202
[C] => 0.05143804
[V] => 649.60716864
[T] => 2017-10-27T22:00:00
[BV] => 33.28065136
)
[2] => Array
(
[O] => 0.05139
[H] => 0.05151505
[L] => 0.05128999
[C] => 0.051295
[V] => 404.79272826
[T] => 2017-10-27T22:30:00
[BV] => 20.8108504
)
)
Hi guys,
I tried to run it on a raspberry pi.
following error message
Traceback (most recent call last):
File "app.py", line 14, in
from notification import Notifier
File "/crypto-signal-master/app/notification.py", line 6, in
from notifiers.twilio import TwilioNotifier
File "/crypto-signal-master/app/notifiers/twilio.py", line 7, in
ImportError: No module named rest
I just installed all requirements, it looks like a problem with twilio,
http://twilio-python.readthedocs.io/en/latest/faq.html
Any idea or thoughts?
Many thanks in advance.
Hi,
I am getting this error: What should I do ?
Details:
#Make sure that this matches bittrex format of BTC-XXX
MARKET_PAIRS=BTC-LTC, BTC-ETH
Successfully built f3e1d05ed345
Successfully tagged cryptosignal_app:latest
Creating cryptosignal_app_1 ...
Creating cryptosignal_app_1 ... done
Attaching to cryptosignal_app_1
app_1 | Traceback (most recent call last):
app_1 | File "app.py", line 83, in <module>
app_1 | main()
app_1 | File "app.py", line 61, in main
app_1 | get_signal(coin_pairs, strategy_analyzer, notifier)
app_1 | File "app.py", line 65, in get_signal
app_1 | rsi_value = strategy_analyzer.analyze_rsi(coin_pair)
app_1 | File "/app/analysis.py", line 35, in analyze_rsi
app_1 | time_unit=time_unit
app_1 | File "/app/exchange.py", line 33, in get_historical_data
app_1 | limit=period_count))
app_1 | File "/usr/local/lib/python3.6/site-packages/ccxt/bittrex.py", line 384, in fetch_ohlcv
app_1 | market = self.market(symbol)
app_1 | File "/usr/local/lib/python3.6/site-packages/ccxt/base/exchange.py", line 1011, in market
app_1 | raise ExchangeError(self.id + ' does not have market symbol ' + str(symbol))
app_1 | ccxt.base.errors.ExchangeError: bittrex does not have market symbol BTC-LTC
Hi, Thanks for creating such a technical analysis.
I am unable to execute the script. README doesn't have the steps to execute the script.
bin/python ../app.py
Traceback (most recent call last):
File "../app.py", line 5, in
from twilio.rest import Client
ImportError: No module named twilio.rest
bin/pip install twilio
-bash: bin/pip: /Users/Mamo/Desktop/crypto-signal/env/bin/python: bad interpreter: No such file or directory
grep -r Mamo .
./bin/activate:VIRTUAL_ENV="/Users/Mamo/Desktop/crypto-signal/env"
./bin/activate.csh:setenv VIRTUAL_ENV "/Users/Mamo/Desktop/crypto-signal/env"
./bin/activate.fish:set -gx VIRTUAL_ENV "/Users/Mamo/Desktop/crypto-signal/env"
./bin/chardetect:#!/Users/Mamo/Desktop/crypto-signal/env/bin/python
./bin/easy_install:#!/Users/Mamo/Desktop/crypto-signal/env/bin/python
./bin/easy_install-2.7:#!/Users/Mamo/Desktop/crypto-signal/env/bin/python
./bin/pip:#!/Users/Mamo/Desktop/crypto-signal/env/bin/python
./bin/pip2:#!/Users/Mamo/Desktop/crypto-signal/env/bin/python
./bin/pip2.7:#!/Users/Mamo/Desktop/crypto-signal/env/bin/python
./bin/python-config:#!/Users/Mamo/Desktop/crypto-signal/env/bin/python
./bin/wheel:#!/Users/Mamo/Desktop/crypto-signal/env/bin/python
Binary file ./lib/python2.7/distutils/init.pyc matches
Binary file ./lib/python2.7/fnmatch.pyc matches
./lib/python2.7/site-packages/pip-9.0.1.dist-info/RECORD:/Users/Mamo/Desktop/crypto-signal/env/bin/pip,sha256=r13MeYbKxv_jJRBJpEUD1wPa6i5XEM3i2BIkvWFAfbA,237
./lib/python2.7/site-packages/pip-9.0.1.dist-info/RECORD:/Users/Mamo/Desktop/crypto-signal/env/bin/pip2,sha256=r13MeYbKxv_jJRBJpEUD1wPa6i5XEM3i2BIkvWFAfbA,237
./lib/python2.7/site-packages/pip-9.0.1.dist-info/RECORD:/Users/Mamo/Desktop/crypto-signal/env/bin/pip2.7,sha256=r13MeYbKxv_jJRBJpEUD1wPa6i5XEM3i2BIkvWFAfbA,237
./lib/python2.7/site-packages/pip-9.0.1.dist-info/RECORD:/Users/Mamo/Desktop/crypto-signal/env/lib/python2.7/site-packages/pip-9.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
./lib/python2.7/site-packages/setuptools-36.5.0.dist-info/RECORD:/Users/Mamo/Desktop/crypto-signal/env/bin/easy_install,sha256=lN7Gzsg-FasNmVvS9uvHjUzwCgKxJ9Q4UEd3a4tU3Hs,265
./lib/python2.7/site-packages/setuptools-36.5.0.dist-info/RECORD:/Users/Mamo/Desktop/crypto-signal/env/bin/easy_install-2.7,sha256=lN7Gzsg-FasNmVvS9uvHjUzwCgKxJ9Q4UEd3a4tU3Hs,265
./lib/python2.7/site-packages/setuptools-36.5.0.dist-info/RECORD:/Users/Mamo/Desktop/crypto-signal/env/lib/python2.7/site-packages/setuptools-36.5.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
./lib/python2.7/site-packages/wheel-0.30.0.dist-info/RECORD:/Users/Mamo/Desktop/crypto-signal/env/bin/wheel,sha256=F7UXKQdMLDVmEBgOF_E_eaGoD2TBlc__eALGxnt0lK0,244
./lib/python2.7/site-packages/wheel-0.30.0.dist-info/RECORD:/Users/Mamo/Desktop/crypto-signal/env/lib/python2.7/site-packages/wheel-0.30.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
Would be cool if ccxt was used, this way you could support most, if not all, exchanges and pair at once.
Does it work with binance? Made a short test and changed bittrex in "exchanges" but I still receive USDT/BTC and such which isn't available on binance. I guess it would have to be implemented first?
Hey,
Great job on the signal. How sure are you of your breakout algo? Seems really simplistic i.e. does not take into consideration channels, triangles, etc. Do you see this being a viable signal? Sorry for the noobish questions.
seems to me the RSI displayed is very wrong from bittrex charts. I changed unit to thirtyMin to match it but its still off.
First of all thanks, this is a cool application, if only i could get it to work reliably!
every time i run the app i get different errors, is there something i am doing wrong?
Thanks,
BTC-ETH: Breakout: None RSI: 18.419935880075528
BTC-OMG: Breakout: None RSI: 21.50681271707181
BTC-GNT: Breakout: None RSI: 21.246537396121866
BTC-CVC: Breakout: None RSI: 46.46287403029179
Traceback (most recent call last):
File "app.py", line 145, in <module>
get_signal()
File "app.py", line 140, in get_signal
breakout = findBreakout(coin_pair=i, period=5, unit="fiveMin")
File "app.py", line 132, in findBreakout
historical_data = my_bittrex.getHistoricalData(coin_pair, period, unit)
File "C:\PROJECTS\crypto-signal-master\bittrex.py", line 134, in getHistoricalData
headers={"apisign": hmac.new(self.api_secret.encode(), request_url.encode(), hashlib.sha512).hexdigest()}
File "C:\Program Files\Anaconda3\lib\site-packages\requests\models.py", line 885, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Program Files\Anaconda3\lib\json\__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "C:\Program Files\Anaconda3\lib\json\decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Program Files\Anaconda3\lib\json\decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
second time..
BTC-ETH: Breakout: None RSI: 53.86451742552738
BTC-OMG: Breakout: None RSI: 21.589990345141373
Traceback (most recent call last):
File "app.py", line 145, in <module>
get_signal()
File "app.py", line 140, in get_signal
breakout = findBreakout(coin_pair=i, period=5, unit="fiveMin")
File "app.py", line 132, in findBreakout
historical_data = my_bittrex.getHistoricalData(coin_pair, period, unit)
File "C:\PROJECTS\crypto-signal-master\bittrex.py", line 137, in getHistoricalData
return historicalData['result'][-period:]
TypeError: 'NoneType' object is not subscriptable
third time...
Traceback (most recent call last):
File "app.py", line 145, in <module>
get_signal()
File "app.py", line 141, in get_signal
rsi = calculateRSI(coin_pair=i, period=14, unit="thirtyMin")
File "app.py", line 77, in calculateRSI
relative_strength = (average_gain / average_loss)
ZeroDivisionError: float division by zero
Hi,
I'm a Binance user, don't have Bittrex account, and seems it's no longer open for register.
Any chance or how to only use Binance API for this Application in .env file?
Also, what's is following?
TWILIO_REQUIRED_KEY=TWILIO_API_KEY
TWILIO_REQUIRED_SECRET=TWILIO_SECRET
TWILIO_REQUIRED_PHONE_NUMBER=TWILIO_PHONE_NUMBER
TWILIO_REQUIRED_MY_NUMBER=YOUR_PHONE_NUMBER
with GMAIL information, I've put in correct value, however, it returns me:
smtplib.SMTPAuthenticationError: (534, b'5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbsw\n5.7.14 Zevx3WtOnX8Ak3dOIi-3yKnVE07SN5-GW8CtRhLEUh4jAeR5Xz8L8LaaqTQi61VFPUVbFx\n5.7.14 8q6XNQyzyIOb7qX8eHRTaCVRI0cOsDqOQH5R1HJ-bKIpcYNaA8Hq0cMI5EqO77S-WwHxUv\n5.7.14 7dRLFYEL4CPKB2IA0fTcHYdrFCYugKVZkzm43iz1OgHkVfK53L_WESKvE_RVJJQpemXk30\n5.7.14 OIv2H2Ewg2-D_ID59ZiGInARbOjcs> Please log in via your web browser and\n5.7.14 then try again.\n5.7.14 Learn more at\n5.7.14 https://support.google.com/mail/answer/78754 b8sm3600499pgt.14 - gsmtp')
Not too sure how to progress further.
Thanks
River
This is the message.
Traceback (most recent call last):
File "/home/osboxes/crypto-signal/app.py", line 232, in
get_signal()
File "/home/osboxes/crypto-signal/app.py", line 183, in get_signal
breakout = findBreakout(coin_pair=i, period=5, unit="fiveMin")
File "/home/osboxes/crypto-signal/app.py", line 157, in findBreakout
rsi = calculateRSI(coin_pair=i, period=14, unit="thirtyMin")
File "/home/osboxes/crypto-signal/app.py", line 63, in calculateRSI
closing_prices = getClosingPrices(coin_pair, period * 3, unit)
File "/home/osboxes/crypto-signal/app.py", line 31, in getClosingPrices
historical_data = my_bittrex.getHistoricalData(coin_pair, period, unit)
File "/home/osboxes/crypto-signal/bittrex.py", line 137, in getHistoricalData
return historicalData['result'][-period:]
TypeError: 'NoneType' object has no attribute 'getitem'
Any suggestions? Nice script!
I was wondering why some of the cryptocurrencies are not mine (from my wallet): you hardcoded the values.
I think you should propose: or to use the default values or to use the one from our wallet.
$ docker-compose up
Starting cryptosignal_app_1 ... done
Attaching to cryptosignal_app_1
app_1 | Traceback (most recent call last):
app_1 | File "app.py", line 31, in <module>
app_1 | main()
app_1 | File "app.py", line 27, in main
app_1 | behaviour.run(settings['market_pairs'])
app_1 | File "/app/behaviours/default.py", line 20, in run
app_1 | self.test_strategies(market_data)
app_1 | File "/app/behaviours/default.py", line 67, in test_strategies
app_1 | message="{} is breaking out!".format(market_pair)
app_1 | File "/app/notification.py", line 61, in notify_all
app_1 | self.notify_integram(message)
app_1 | File "/app/notification.py", line 90, in notify_integram
app_1 | self.integram_client.notify(message)
app_1 | File "/app/notifiers/integram_client.py", line 18, in notify
app_1 | req = urllib.request.Request(self.url)
app_1 | File "/usr/local/lib/python3.6/urllib/request.py", line 329, in __init__
app_1 | self.full_url = url
app_1 | File "/usr/local/lib/python3.6/urllib/request.py", line 355, in full_url
app_1 | self._parse()
app_1 | File "/usr/local/lib/python3.6/urllib/request.py", line 384, in _parse
app_1 | raise ValueError("unknown url type: %r" % self.full_url)
app_1 | ValueError: unknown url type: 'INTEGRAM_URL'
FYI I also requested a docker image in the Integram repository so we can use that in our docker-compose setup. requilence/integram#52
Is there any way to run without integram support for now?
The updated market_pairs i'd like to monitor within app/default-config.json, does not seem to work.
The line I put in:
"market_pairs": ["BTC/ETH" , "1ST/BTC"]
still all pairs are scanned
please advise
it's running fine for me, thank you.
Can an option be added to send the alerts via email please?
Thanks for creating this.
I'm new to python. What is that I have to do to run it? I've tried the following:
python app.py
Traceback (most recent call last):
File "crypto-signal-master/app.py", line 1, in <module>
from bittrex import Bittrex
File "/Users/bernat/Desktop/crypto-signal-master/bittrex.py", line 18, in <module>
import requests
ImportError: No module named requests
python crypto-signal-master
/usr/bin/python: can't find '__main__' module in 'crypto-signal-master'
I try to put period from Bittrex to 18 to match strategy from the source code but it still gives the different result.
So I make another test is to increase the period to 100 from source code and Bittrex, what I expect is RSI should around 45~55 but it doesn't.
i am trying to enter the pair list in to the json file like this
"settings": {
"app_mode": "user",
"symbol_pairs": "USDT/ETH",
"loglevel": "",
"update_interval": 300,
"selected_task": "default"
},
but when i run with docker i get
Traceback (most recent call last):
File "app.py", line 43, in
main()
File "app.py", line 40, in main
notifier)
File "/app/behaviours/default.py", line 9, in run
market_data = exchange_interface.get_symbol_markets(symbol_pairs)
File "/app/exchange.py", line 70, in get_symbol_markets
symbol_markets[exchange.id][symbol_pair] = exchange.markets[symbol_pair]
KeyError: 'U'
wonder if anyone can see the obvious mistake i am probably making!!!
thanks
C:\Python27\signal\app>python app.py
t File "app.py", line 8, in
from pathlib import Path
ImportError: No module named pathlib
Hey. Can you help.?
What is the problem ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.