tradingview chart assistant

insert a link go finviz chart link

  1. // ==UserScript==
  2. // @name tradingview chart assistant
  3. // @namespace http://tampermonkey.net/
  4. // @version 2024-09-25.3
  5. // @description insert a link go finviz chart link
  6. // @author goodzhuwang
  7. // @match https://*.tradingview.com/chart/*/?symbol=*
  8. // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13. function findElementsByClassRegex(classNameRegex) {
  14. const selector = `*[class*="${classNameRegex.source}"]`;
  15. return document.querySelectorAll(selector);
  16. }
  17.  
  18. (function () {
  19. "use strict";
  20.  
  21. const ext_name = "tradingview_chart_assistant";
  22.  
  23. console.debug(`${ext_name} running`);
  24.  
  25. let max_times = 10;
  26. let times = 0;
  27. let _interval = setInterval(function () {
  28. // 达到最大次数,就算了。
  29. if (times >= max_times) {
  30. console.debug(`${ext_name}达到最大检测次数,算了`);
  31. if (_interval) {
  32. clearInterval(_interval);
  33. _interval = null;
  34. }
  35. }
  36. let symbol = document.querySelector(".js-button-text")?.textContent;
  37. if (!symbol) {
  38. console.debug(`没有找到股票代码`);
  39. return;
  40. }
  41.  
  42. // 在特定的的位置插入一个a
  43. const targets = findElementsByClassRegex(/filler-/);
  44. const domElement = targets && targets.length && targets[0];
  45.  
  46. if (!domElement) {
  47. console.debug(`没有找到插入位置`);
  48. } else {
  49. let finviz_link_url = `https://finviz.com/quote.ashx?t=${symbol}&ty=c&ta=1&p=d`;
  50.  
  51. let finvize_link = document.querySelector("._TCA_finviz-link");
  52. if (!finvize_link) {
  53. const aTag = document.createElement("a");
  54. aTag.href = finviz_link_url;
  55. aTag.textContent = "F";
  56. aTag.classList.add("button-I_wb5FjE");
  57. aTag.classList.add("_TCA_finviz-link");
  58. aTag.style.cursor = "pointer";
  59. aTag.title = "点击查看finviz图表";
  60. aTag.target = "_blank";
  61. domElement.insertBefore(aTag, domElement.firstChild);
  62. }
  63. }
  64.  
  65. times++;
  66. }, 5000);
  67. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址