获取TradingView数字货币技术分析结果

本文介绍如何利用TradingView对数字货币进行技术分析,包括基本面与技术面,如波动性和趋势指标。同时,详细讲解如何使用Python3来获取这些分析数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 TradingView的技术分析

TradingView对数字货币的分析和传统证券一样,分为基本面和技术面。
基本面则包括数字货币的基本表现
在这里插入图片描述
以及最近一段时间的波动性
在这里插入图片描述
技术分析包括振荡指标和趋势指标,可以帮助您确定趋势方向,并了解当前的市场情况。

振荡指标
在这里插入图片描述

趋势指标
在这里插入图片描述

二、使用Python3获取分析数据

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import hashlib, hmac
import urllib.request, urllib.parse
import time, datetime
import json
import random
import re
import numpy as np

class TradingView:

    def __init__(self):
        self.__url = 'https://scanner.tradingview.com/crypto/scan'
        
    # 概览
    def Overview(self, filter = None):
        if filter:
            params = filter
        else:
            params = '{"filter":[{"left":"market_cap_calc","operation":"nempty"},{"left":"sector","operation":"nempty","right":null},{"left":"market_cap_calc","operation":"egreater","right":500000000},{"left":"name","operation":"match","right":"USD$"}],"symbols":{"query":{"types":[]}},"columns":["sector","market_cap_calc","market_cap_diluted_calc","close","total_shares_outstanding","total_shares_diluted","total_value_traded","change"],"sort":{"sortBy":"market_cap_calc","sortOrder":"desc"},"options":{"lang":"zh"},"range":[0,50]}'
        url = self.__url
        return self.http_request(url, params)
        
    # 表现
    def Performance(self, filter = None):
        if filter:
            params = filter
        else:
            params = '{"filter":[{"left":"market_cap_calc","operation":"nempty"},{"left":"sector","operation":"nempty","right":null},{"left":"market_cap_calc","operation":"egreater","right":500000000},{"left":"name","operation":"match","right":"USD$"}],"symbols":{"query":{"types":[]}},"columns":["sector","change","Perf.W","Perf.1M","Perf.3M","Perf.6M","Perf.YTD","Perf.Y","Volatility.D"],"sort":{"sortBy":"market_cap_calc","sortOrder":"desc"},"options":{"lang":"en"},"range":[0,50]}'
        url = self.__url
        return self.http_request(url, params)
        
    # 振荡指标
    def Oscillatiors(self, filter = None):
        if filter:
            params = filter
        else:
            params = '{"filter":[{"left":"market_cap_calc","operation":"nempty"},{"left":"sector","operation":"nempty","right":null},{"left":"market_cap_calc","operation":"egreater","right":500000000},{"left":"name","operation":"match","right":"USD$"}],"symbols":{"query":{"types":[]}},"columns":["sector","Recommend.Other","ADX","AO","ATR","CCI20","MACD.macd","MACD.signal","Mom","RSI","Stoch.K","Stoch.D","ADX","ADX+DI","ADX-DI","ADX+DI[1]","ADX-DI[1]","AO","AO[1]","CCI20","CCI20[1]","MACD.macd","MACD.signal","Mom","Mom[1]","RSI","RSI[1]","Stoch.K","Stoch.D","Stoch.K[1]","Stoch.D[1]"],"sort":{"sortBy":"market_cap_calc","sortOrder":"desc"},"options":{"lang":"zh"},"range":[0,50]}'
        url = self.__url
        return self.http_request(url, params)

    # 趋势跟踪
    def TrendFollowing(self, filter = None):
        if filter:
            params = filter
        else:
            params = '{"filter":[{"left":"market_cap_calc","operation":"nempty"},{"left":"sector","operation":"nempty","right":null},{"left":"market_cap_calc","operation":"egreater","right":500000000},{"left":"name","operation":"match","right":"USD$"}],"symbols":{"query":{"types":[]}},"columns":["sector","Recommend.MA","close","SMA20","SMA50","SMA200","BB.upper","BB.lower","SMA20","close","SMA50","SMA200","BB.upper","BB.lower"],"sort":{"sortBy":"market_cap_calc","sortOrder":"desc"},"options":{"lang":"zh"},"range":[0,50]}'
        url = self.__url
        return self.http_request(url, params)
        
    # HTTP 请求
    def http_request(self, url, params = None):
        req = urllib.request.Request(url)
        req.add_header('User-Agent', "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36")
       
        # 是否携带参数 params
        if params:
            # data = json.dumps(params).encode('utf8')
            data = params.encode('utf8')
            # print(data)
            f = urllib.request.urlopen(req, data)
        else:
            f = urllib.request.urlopen(req)

        # return f.read().decode('utf-8')
        return json.loads(f.read().decode('utf-8'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

比特量化

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值