Постов с тегом "tradingview": 1005

tradingview


TradingView Технический анализ js-snippet to update data in browser

ru.tradingview.com/symbols/MOEX-SBER/technicals/

js-snippet to update data in browser

Click tabs in loop every 3 seconds 

1 минута 5 минут 15 минут 1 час 4 часа 1 день

var radiobuttons = $('.tab-1Yr0rq0J').slice(0,5);
var i = 0;
var rollDemRadios = setInterval(function() {
var currentbutton = radiobuttons[i];
currentbutton.click();
i = (i + 1) % radiobuttons.length; 
}, 3000);


TradingView technical analysis API wrapper

An unofficial python API wrapper to retrieve technical analysis from TradingView.
ru.tradingview.com/symbols/MOEX-SBER/technicals/

from tradingview_ta import TA_Handler, Interval, Exchange

sber = TA_Handler(
    symbol="SBER",
    screener="russia",
    exchange="MOEX",
    interval=Interval.INTERVAL_1_DAY
)
print(sber.get_analysis().summary)
# Example output: {"RECOMMENDATION": "BUY", "BUY": 8, "NEUTRAL": 6, "SELL": 3}
Interval.INTERVAL_1_MINUTE
Interval.INTERVAL_5_MINUTES
Interval.INTERVAL_15_MINUTES
INTERVAL_1_HOUR
Interval.INTERVAL_4_HOURS
Interval.INTERVAL_1_DAY
Interval.INTERVAL_1_WEEK
Interval.INTERVAL_1_MONTH


Documentation
python-tradingview-ta.readthedocs.io/en/latest/overview.html


Автоматизация сигналов из TradingView за 2 минуты. Websockets Python

from websocket import create_connection
import json
import random
import string
import re
import pandas as pd
import csv
from datetime import datetime
from time import sleep

def filter_raw_message(text):
    try:
        found = re.search('"m":"(.+?)",', text).group(1)
        found2 = re.search('"p":(.+?"}"])}', text).group(1)
        print(found)
        print(found2)
        return found1, found2
    except AttributeError:
        print("error")
    

def generateSession():
    stringLength=12
    letters = string.ascii_lowercase
    random_string= ''.join(random.choice(letters) for i in range(stringLength))
    return "qs_" +random_string

def generateChartSession():
    stringLength=12
    letters = string.ascii_lowercase
    random_string= ''.join(random.choice(letters) for i in range(stringLength))
    return "cs_" +random_string

def prependHeader(st):
    return "~m~" + str(len(st)) + "~m~" + st

def constructMessage(func, paramList):
    #json_mylist = json.dumps(mylist, separators=(',', ':'))
    return json.dumps({
        "m":func,
        "p":paramList
        }, separators=(',', ':'))

def createMessage(func, paramList):
    return prependHeader(constructMessage(func, paramList))

def sendRawMessage(ws, message):
    ws.send(prependHeader(message))

def sendMessage(ws, func, args):
    ws.send(createMessage(func, args))

def generate_csv(a):
    out= re.search('"s":\[(.+?)\}\]', a).group(1)
    x=out.split(',{\"')
    
    with open('data_file.csv', mode='w', newline='') as data_file:
        employee_writer = csv.writer(data_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    
        employee_writer.writerow(['index', 'date', 'open', 'high', 'low', 'close', 'volume'])
        
        for xi in x:
            xi= re.split('\[|:|,|\]', xi)
            print(xi)
            ind= int(xi[1])
            ts= datetime.fromtimestamp(float(xi[4])).strftime("%Y/%m/%d, %H:%M:%S")
            employee_writer.writerow([ind, ts, float(xi[5]), float(xi[6]), float(xi[7]), float(xi[8]), float(xi[9])])
            


# Initialize the headers needed for the websocket connection
headers = json.dumps({
    # 'Connection': 'upgrade',
    # 'Host': 'data.tradingview.com',
    'Origin': 'https://data.tradingview.com'
    # 'Cache-Control': 'no-cache',
    # 'Upgrade': 'websocket',
    # 'Sec-WebSocket-Extensions': 'permessage-deflate; client_max_window_bits',
    # 'Sec-WebSocket-Key': '2C08Ri6FwFQw2p4198F/TA==',
    # 'Sec-WebSocket-Version': '13',
    # 'User-Agent': 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.56',
    # 'Pragma': 'no-cache',
    # 'Upgrade': 'websocket'
})

    
# Then create a connection to the tunnel
ws = create_connection(
    'wss://data.tradingview.com/socket.io/websocket',headers=headers)

session= generateSession()
print("session generated {}".format(session))

chart_session= generateChartSession()
print("chart_session generated {}".format(chart_session))

# Then send a message through the tunnel 
sendMessage(ws, "set_auth_token", ["unauthorized_user_token"])
sendMessage(ws, "chart_create_session", [chart_session, ""])
sendMessage(ws, "quote_create_session", [session])
sendMessage(ws,"quote_set_fields", [session,"ch","chp","current_session","description","local_description","language","exchange","fractional","is_tradable","lp","lp_time","minmov","minmove2","original_name","pricescale","pro_name","short_name","type","update_mode","volume","currency_code","rchp","rtc"])
sendMessage(ws, "quote_add_symbols",[session, "BINANCE:BTCUSDT", {"flags":['force_permission']}])

sendMessage(ws, "resolve_symbol", [chart_session, "symbol_1","={\"symbol\":\"BINANCE:BTCUSDT\",\"adjustment\":\"splits\"}"])
sendMessage(ws, "create_series", [chart_session,"s1","s1","symbol_1","1",300])

sendMessage(ws, "quote_fast_symbols", [session,"BINANCE:BTCUSDT"])

sendMessage(ws, "create_study", [chart_session,"st1","st1","s1","Volume@tv-basicstudies-118",{"length":20,"col_prev_close":"false"}])
sendMessage(ws, "quote_hibernate_all", [session])

#st='~m~140~m~{"m":"resolve_symbol","p":}'
#p1, p2 = filter_raw_message(st)
#sendMessage(ws, "resolve_symbol", [chart_session,"symbol_1","={\"symbol\":\"BINANCE:BTCUSDT\",\"adjustment\":\"splits\",\"session\":\"extended\"}"])
#sendMessage(ws, "create_series", [chart_session, "s1", "s1", "symbol_1", "1", 2])
#sendMessage(ws, "create_study", [chart_session,"st4","st1","s1","ESD@tv-scripting-101!",{"text":"BNEhyMp2zcJFvntl+CdKjA==_DkJH8pNTUOoUT2BnMT6NHSuLIuKni9D9SDMm1UOm/vLtzAhPVypsvWlzDDenSfeyoFHLhX7G61HDlNHwqt/czTEwncKBDNi1b3fj26V54CkMKtrI21tXW7OQD/OSYxxd6SzPtFwiCVAoPbF2Y1lBIg/YE9nGDkr6jeDdPwF0d2bC+yN8lhBm03WYMOyrr6wFST+P/38BoSeZvMXI1Xfw84rnntV9+MDVxV8L19OE/0K/NBRvYpxgWMGCqH79/sHMrCsF6uOpIIgF8bEVQFGBKDSxbNa0nc+npqK5vPdHwvQuy5XuMnGIqsjR4sIMml2lJGi/XqzfU/L9Wj9xfuNNB2ty5PhxgzWiJU1Z1JTzsDsth2PyP29q8a91MQrmpZ9GwHnJdLjbzUv3vbOm9R4/u9K2lwhcBrqrLsj/VfVWMSBP","pineId":"TV_SPLITS","pineVersion":"8.0"}])


# Printing all the result
a=""
while True:
    try:
        sleep(1)
        result = ws.recv()
        pattern = re.compile("~m~\d+~m~~h~\d+$")
        if pattern.match(result):
            ws.recv()
            ws.send(result)
            print("\n\n\n hhhhhhhhhhhhhhhhhhhhhh "+ str(result) + "\n\n")
        print(result)
        a=a+result+"\n"
    except Exception as e:
        print(e)
        break
    
generate_csv(a)
'https://github.com/rushic24/tradingview-scraper'

Без воды. Автоматизация сигналов из TradingView за 3 минуты

Небольшое видео на тему автоматизации торговли с использованием сигналов из TradingView:

Tradingview запилили терминал для компов! Кто-то уже себе поставил?

Я конечно уже так привык пользоваться мобильной версией и броузером терминала Tradingview, что даже не представляю, какие еще мои потребности может решить десктопная версия терминала.

Скачал себе дистрибутив (80Мб) для Windows10, но не смог никак открыть файл .msix.
Попробуйте может у вас получится.
Вернусь домой из офиса, надо будет на Маке хоть протестировать.
хз, какой-то квест для гиков наверное

Скачайте с сайта Tradingview, протестируйте, расскажите про впечатления.
Кстати, заодно скажите дураку, чем открыть MSIX файл😁😁😁

Неправильные объёмы в tradingview

Всем привет! Недавно заметил, что tradingview показывает неверные значения объёмов. К примеру возьмём график акции эпл. Объём за 6 января 2021 года ~155 млн. акций.

Неправильные объёмы в tradingview


Переходим на часовой таймфрейм и видим, что максимальное значение объёма за этот день равнялось всего лишь ~1.2 млн. акций, а 1.2 млн. * 7 часов = 8.4 млн., что далеко не 155 млн.
Неправильные объёмы в tradingview



( Читать дальше )

Premium tradingview за 149 р в месяц

Premium tradingview за 149 р в месяц
Дорогие трейдеры! 
Предлагаю Вам доступ к Premium tradingview
за 149 рублей (350 рублей) за 1 месяц («Демо» подписку)

Вам будут доступны:
1. Горизонтальные объёмы;
2. Сетка графиков;
3. «Алерты» без ограничений;
4.  Тиковый тренд;
Premium tradingview за 149 р в месяц

( Читать дальше )

Кто может поднатаскать в TradingView? Или порекомендуйте спеца

Я понял, что мне нужен TradingView для построения спредовых графиков, в частности. С удовольствием воспользовался услугами специалиста, который объяснил инструментарий и поднатаскал. Сам найти не смог.

....все тэги
UPDONW
Новый дизайн