Skip to content

A great companion for finding key support and resistance levels on financial charts, cryptocurrencies.

License

Notifications You must be signed in to change notification settings

arabacibahadir/sup-res

Repository files navigation

Sup-Res 📈

For online demonstration -> https://arabacibahadir.github.io/sup-res/

Sup-Res is mobile-ready, offline-storage compatible and a great companion for finding liquidity pools, support and resistance levels with a scalable chart.

ezgif com-gif-maker

Features 🌟

  • Easily find support-resistance and liquidity levels on the chart
  • Using it in almost any time series with sensitivity adjustment
  • Export documents as HTML, PDF, .jpeg, .png
  • Automatically share to your twitter followers with an image and text of support-resistance levels
  • Supports Tradingview Pine Script
  • Manageable via Telegram
  • WebUI

git

Installation 🛠️

Sup-Res requires Python 3.10+ to run. Use the package manager pip to install libraries. This process may take a long time.

pip install -r requirements.txt

Usage 💻

This tool allows you to generate charts for different cryptocurrencies and time frames using the Binance API. When you run the code, main function will ask ticker and time frame and then the local web page will open where you can see the support-resistance levels, RSI, SMA, MACD, Fibonacci and candlestick patterns.

You can run the script with arguments for the ticker and time frame you want to generate a chart for. To do this, enter the following command:

python main.py <ticker> <timeframe>

For example, to generate a chart for the BTCUSDT ticker with a 1-hour time frame, you would enter:

python main.py BTCUSDT 1H

You can also run the script without any arguments and then enter the ticker and time frame in the command line when prompted. To do this, enter the following command:

python main.py 

If you want to generate charts for multiple pairs at once, you can use the multiple_run.py script located in the miniscripts directory. This script will generate charts for all the pairs listed in the coin_list.csv file. To run this script, enter the following command:

python miniscripts/multiple_run.py
Supported Tickers: 
All Binance tickers
Supported Time Frames: 
1M, 3M, 5M, 15M, 30M, 1H, 2H, 4H, 6H, 8H, 12H, 1D, 3D, 1W (M: Minute, H: Hour, D: Day, W: Week)

If you want to share as a tweet, change api keys with yours in git_tw_access.py file, and change your user handle name. Twitter API guide. Then uncomment save and twitter functions in main.py.

# Twitter api keys -> https://developer.twitter.com/en/docs/twitter-api
twitter_api = 'YOUR-API'
twitter_key_secret = 'API-SECRET'
twitter_token = 'TOKEN'
twitter_token_secret = 'TOKEN-SECRET'
user_handle = '@HANDLE-NAME'

Pine Script file will be created after run successfully main function.

Your python alias might be different like "py, python3", you should change your alias if you are using telegram-bot if your python alias is different.

By adjusting the sensitivity of the data in the code, you can obtain lines that are more precise.

chart

Main Motivation 📚

Those who are new to investing do so without any technical expertise. Additionally, individuals who have limited experience make their buys and sells in accordance with various charts and follow the price actions. The main focus of this work is technical analysis.

I worked on a piece of code that could be useful for users with little prior knowledge of price action. Don't invest if you really have no idea what you're doing. You should keep an eye on market trends before investing and try not to feel FOMO.

Zones rather than just lines typically represent supports and resistances. Markets push you toward points where you can stop your position, particularly in cryptocurrencies. Keep an eye out for breakouts with high volume, sudden price changes, and trend reversals. It is extremely risky to trade on new coin charts without support and resistance levels if you are investing in low volume coins.

image

Support-Resistance Lines 📉

You can draw a trustworthy line at a point where a pair has repeatedly failed to break it or has advanced by tapping it. The consensus is that this price should be touched at least twice and ideally three times. Reliability rises as the number of touches increases. If the price moves below the support line, this support will act as resistance. The opposite is also true. If the price breaks the resistance, it can work as support, but these situations should be fully supported by volume.

28sep

28 September 2021 BTCUSDT Binance

Indicators 📊

MA, RSI, MACD, Fibonacci Retracement Levels, Candlestick Patterns

Never rely solely on a single piece of information or indicator as this can be deceptive. Fundamental analysis should always be combined with technical analysis.

legend

Pine Script 📑

Sup-Res supports Pine Script scripting language. Just run main.py file, then copy "./pinescript.txt" and paste Tradingview Pine Script section. Also telegram bot works with Pine Script.

Here is the example Pine Script code:

//@version=5
indicator('Sup-Res BTCUSDT 1d', overlay=true)
plot(ta.sma(close, 50), title='50 SMA', color=color.new(color.blue, 0), linewidth=1)
plot(ta.sma(close, 100), title='100 SMA', color=color.new(color.purple, 0), linewidth=1)
plot(ta.sma(close, 200), title='200 SMA', color=color.new(color.red, 0), linewidth=1)
hline(18626.0, title="Lines", color=color.red, linestyle=hline.style_solid, linewidth=1)
hline(18910.94, title="Lines", color=color.red, linestyle=hline.style_solid, linewidth=1)
hline(19706.66, title="Lines", color=color.red, linestyle=hline.style_solid, linewidth=1)
hline(20111.62, title="Lines", color=color.red, linestyle=hline.style_solid, linewidth=1)
hline(21888.0, title="Lines", color=color.red, linestyle=hline.style_solid, linewidth=1)
hline(22799.0, title="Lines", color=color.red, linestyle=hline.style_solid, linewidth=1)
hline(24668.0, title="Lines", color=color.red, linestyle=hline.style_solid, linewidth=1)

Contributing 🤝

Pull requests are welcome, any contributions you make are greatly appreciated. Please open an issue with what you want changed before submitting a PR.

Follow PEP 8 Coding Style guidelines.

  • Fork the Project
  • Create your Feature Branch git checkout -b feature/NewFeature
  • Commit your Changes git commit -m 'Add some NewFeature'
  • Push to the Branch git push origin feature/NewFeature
  • Open a Pull Request

License 📃

Sup-Res is licensed under the GNU General Public License v3.0