def tech(): id_focus = input("ID action > ") symbol = input("entreprise symbole > ") exchange = input("place bourisère > ") country = input("pays > ") print("Analyse technique :") try: _object = TA_Handler() _object.set_symbol_as(symbol) _object.set_exchange_as_crypto_or_stock(exchange) _object.set_screener_as_stock(country) _object.set_interval_as(Interval.INTERVAL_1_DAY) tradingview_result = _object.get_analysis().summary print("1 jour >", tradingview_result) _object.set_interval_as(Interval.INTERVAL_1_WEEK) tradingview_result = _object.get_analysis().summary print("1 sem >", tradingview_result) _object.set_interval_as(Interval.INTERVAL_1_MONTH) tradingview_result = _object.get_analysis().summary print("1 mois >", tradingview_result) print("Infos ajoutée en DB") with connexion: c.execute( f"UPDATE ACTIONS SET tec_exchange = '{exchange}', tec_country = '{country}' WHERE id = {id_focus};" ) except: print("ERREUR > une ou plusieures données sont érronées.")
def t_infos(): symbol = input("entreprise symbole :\n> ") exchange = input("place bourisère :\n> ") country = input("pays: \n> ") print("Résultats analyses techniques", symbol, ":") try: _object = TA_Handler() _object.set_symbol_as(symbol) _object.set_exchange_as_crypto_or_stock(exchange) _object.set_screener_as_stock(country) _object.set_interval_as(Interval.INTERVAL_1_DAY) test = _object.get_analysis().summary print("1 jour >", test) _object.set_interval_as(Interval.INTERVAL_1_WEEK) test = _object.get_analysis().summary print("1 sem >", test) _object.set_interval_as(Interval.INTERVAL_1_MONTH) test = _object.get_analysis().summary print("1 mois >", test) print("-" * 100) except: print("ERREUR > une ou plusieures données sont érronées.")
def get_data_from_tradingView(self): # dataframeSPY = pd.read_csv("data/SPY.csv") # dataframeSPY['time'] = pd.to_datetime(dataframeSPY['time'], unit='s') # print(dataframeSPY.tail()) tesla = TA_Handler() tesla.set_symbol_as("TSLA") tesla.set_exchange_as_crypto_or_stock("NASDAQ") tesla.set_screener_as_stock("america") tesla.set_interval_as(Interval.INTERVAL_1_DAY) print(tesla.get_analysis().summary)
def get_stock_indicators_list( lista=list ): #Get sell/buy indicators for multiple stocks from a list, and print the results handler = TA_Handler() for i in range(len(lista)): handler.set_symbol_as(lista[i][0]) handler.set_exchange_as_crypto_or_stock("NASDAQ") handler.set_screener_as_stock("america") handler.set_interval_as(Interval.INTERVAL_1_HOUR) stock = handler.get_analysis().summary stock_table = [] for b in stock.items(): stock_table.append(b) stock_table.insert(0, ["Company: " + lista[i][0].upper(), "Result"]) stock_table = AsciiTable(stock_table) print(stock_table.table)
def root(): if request.method == "GET": return render_template("index.html", version=tradingview_ta.__version__, captcha_sitekey=hcaptcha_sitekey) elif request.method == "POST": try: # hCaptcha hcaptcha_response = request.form["h-captcha-response"] captchaReq = requests.post("https://hcaptcha.com/siteverify", data={ "secret": hcaptcha_secret, "response": hcaptcha_response }) if captchaReq.json()["success"] == False: return render_template("error.html", version=tradingview_ta.__version__, error="Error: Invalid captcha", captcha_sitekey=hcaptcha_sitekey) # TradingView Technical Analysis handler = TA_Handler() handler.set_symbol_as(request.form["symbol"]) handler.set_exchange_as_crypto_or_stock(request.form["exchange"]) handler.set_screener_as_stock(request.form["screener"]) handler.set_interval_as(request.form["interval"]) analysis = handler.get_analysis() return render_template("success.html", version=tradingview_ta.__version__, symbol=analysis.symbol, exchange=analysis.exchange, screener=analysis.screener, interval=analysis.interval, time=analysis.time.astimezone(timezone.utc), summary=analysis.summary, oscillators=analysis.oscillators, moving_averages=analysis.moving_averages, indicators=analysis.indicators, captcha_sitekey=hcaptcha_sitekey) except Exception as e: return render_template("error.html", version=tradingview_ta.__version__, error=e, captcha_sitekey=hcaptcha_sitekey)
def get_stock_indicators_manual( ): #Get sell/buy indicators from tradingview_ta for one stock, with user input and print the result handler = TA_Handler() symbol = loop_simples_de_coleta(configleng[4], configleng[0], configleng[2]) handler.set_symbol_as(symbol) exchange = loop_simples_de_coleta(configleng[5], configleng[0], configleng[2]) handler.set_exchange_as_crypto_or_stock(exchange) handler.set_screener_as_stock( loop_simples_de_coleta(configleng[8], configleng[0], configleng[2])) r = str(interval_options()) handler.set_interval_as(r) stock = handler.get_analysis().summary stock_table = [] for i in stock.items(): stock_table.append(i) stock_table.insert(0, ["Company: " + symbol.upper(), "Result"]) stock_table = AsciiTable(stock_table) print(stock_table.table)
from django.contrib.auth.decorators import login_required from django.db.models import F from django.shortcuts import render, redirect from django.http import HttpResponse from .models import Shares from .forms import SharesForm from django.contrib import messages from django.core.paginator import Paginator from tradingview_ta import TA_Handler, Interval tesla = TA_Handler() tesla.set_symbol_as("TSLA") tesla.set_exchange_as_crypto_or_stock("NASDAQ") tesla.set_screener_as_stock("america") tesla.set_interval_as(Interval.INTERVAL_1_DAY) print(tesla.get_analysis().summary) # Example output: {"RECOMMENDATION": "BUY", "BUY": 8, "NEUTRAL": 6, "SELL": 3} @login_required def index(request, message=messages): all_shares = Shares.objects.filter() paginator = Paginator(all_shares, 10) page = request.GET.get('pg') all_shares = paginator.get_page(page) return render(request, 'index.html', {'all_shares': all_shares}) @login_required def add_shares(request):
# In[ ]: import pandas as pd from tradingview_ta import TA_Handler, Interval from tqdm import trange import time import datetime as dt ######### tickers = pd.read_csv('dataset/ind_nifty50list.csv') tickers = pd.DataFrame(tickers.Symbol) ######## dictionary = {'-': '_', '&': '_'} tickers.replace(dictionary, regex=True, inplace=True) Stock = {} handler = TA_Handler() handler.set_exchange_as_crypto_or_stock("NSE") handler.set_screener_as_stock("india") tickers['Strength'] = 0 while True: handler.set_interval_as(Interval.INTERVAL_1_HOUR) # tickers.shape[0] for i in trange(tickers.shape[0]): try: handler.set_symbol_as(tickers.Symbol[i]) Stock[tickers.Symbol[i]] = [ handler.get_analysis().summary['RECOMMENDATION'], handler.get_analysis().indicators['close'] ] #print([i],tickers[i],handler.get_analysis().summary['RECOMMENDATION']) except: print("An exception occurred", tickers[i])
cls() print("Bienvenue sur Tradyglo v.BETA") while i == 0: symbol = input("entreprise symbole > ") exchange = input("place bourisère > ") country = input("pays > ") print("-" * 100) print("Résultats analyses techniques", symbol, ":") _object = TA_Handler() _object.set_symbol_as(symbol) _object.set_exchange_as_crypto_or_stock(exchange) _object.set_screener_as_stock(country) _object.set_interval_as(Interval.INTERVAL_1_DAY) test = _object.get_analysis().summary print("1 jour >", test) _object.set_interval_as(Interval.INTERVAL_1_WEEK) test = _object.get_analysis().summary print("1 sem >", test) _object.set_interval_as(Interval.INTERVAL_1_MONTH) test = _object.get_analysis().summary print("1 mois >", test) print("\n") #cls()
def analyse_technique(id_infos): print("Analyse technique :") try: with connexion: c.execute( f"SELECT tec_symbol, tec_exchange, tec_country FROM actions where id = {id_infos};" ) result = c.fetchone() tec_symbol = result[0] tec_exchange = result[1] tec_country = result[2] try: #1- on tente avec ce qui est stocké en db _object = TA_Handler() _object.set_symbol_as(tec_symbol) _object.set_exchange_as_crypto_or_stock(tec_exchange) _object.set_screener_as_stock(tec_country) _object.set_interval_as(Interval.INTERVAL_1_DAY) tradingview_result = _object.get_analysis().summary _object.set_interval_as(Interval.INTERVAL_1_WEEK) tradingview_result2 = _object.get_analysis().summary _object.set_interval_as(Interval.INTERVAL_1_MONTH) tradingview_result3 = _object.get_analysis().summary c.execute( f"UPDATE ACTIONS SET tec_exchange = '{tec_exchange}', tec_country = '{tec_country}' WHERE id = {id_infos};" ) print("1 jour >", tradingview_result) print("1 sem >", tradingview_result2) print("1 mois >", tradingview_result3) except: tec_country = "AMERICA" tec_exchange = "NYSE" try: _object = TA_Handler() _object.set_symbol_as(tec_symbol) _object.set_exchange_as_crypto_or_stock(tec_exchange) _object.set_screener_as_stock(tec_country) _object.set_interval_as(Interval.INTERVAL_1_DAY) tradingview_result = _object.get_analysis().summary _object.set_interval_as(Interval.INTERVAL_1_WEEK) tradingview_result2 = _object.get_analysis().summary _object.set_interval_as(Interval.INTERVAL_1_MONTH) tradingview_result3 = _object.get_analysis().summary c.execute( f"UPDATE ACTIONS SET tec_exchange = '{tec_exchange}', tec_country = '{tec_country}' WHERE id = {id_infos};" ) print("1 jour >", tradingview_result) print("1 sem >", tradingview_result2) print("1 mois >", tradingview_result3) except: tec_country = "AMERICA" tec_exchange = "NASDAQ" try: _object = TA_Handler() _object.set_symbol_as(tec_symbol) _object.set_exchange_as_crypto_or_stock(tec_exchange) _object.set_screener_as_stock(tec_country) _object.set_interval_as(Interval.INTERVAL_1_DAY) tradingview_result = _object.get_analysis().summary _object.set_interval_as(Interval.INTERVAL_1_WEEK) tradingview_result2 = _object.get_analysis().summary _object.set_interval_as(Interval.INTERVAL_1_MONTH) tradingview_result3 = _object.get_analysis().summary c.execute( f"UPDATE ACTIONS SET tec_exchange = '{tec_exchange}', tec_country = '{tec_country}' WHERE id = {id_infos};" ) print("1 jour >", tradingview_result) print("1 sem >", tradingview_result2) print("1 mois >", tradingview_result3) except: print( "Aucune donnée d'analyse technique, utilisez .tech" ) except: print("ERROR 14")