aremesh / finvizLinkage

// ==UserScript==
// @name         finvizLinkage
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  LinkToTradingView and Robinhood
// @author       You
// @match        https://finviz.com/*
// @grant        none
// @require      https://code.jquery.com/jquery-3.3.1.slim.js
// @require      https://openuserjs.org/src/libs/aremesh/External_Lib.js
// @license      MIT
// ==/UserScript==

(function () {

  'use strict';
  AddTopLinks()
  AddIndLinks();
  AddPortfolioLinks();
  //DetectAjaxChanges();
  AddLinksToAll();
  Add_to_tradingview_watchList();
  // Your code here...
})();

function AddLinksToAll() {
  if (window.location.href.search("screener.ashx") <= 0) {
      var newall = $("a[href*='quote.ashx']");

      newall.each(function (x) {
          var stockName = $(this).html();

          var existing = $(this).parents("td").html();
          var finalLink1 = GenerateSimpleLinks(stockName, existing)

          $(this).parent("td").html(finalLink1)

        
      })}
  }

  function AddTopLinks() {
    var bullbearChart = `<td><a target='_blank' class='nav-link' href='https://bullbearcharts.blogspot.com/' class='tab-link'>Bull Bear Chart</a></td>
   <td><a target='_blank' class='nav-link' href='https://lowfloat.com/' class='tab-link'>Low Float</a></td>
   <td><a target='_blank' class='nav-link' href='https://www.highshortinterest.com/' class='tab-link'>High Short Interest</a></td>
   <td><a target='_blank' class='nav-link' href='https://www.fdatracker.com/fda-calendar/' class='tab-link'>FDA Tracker</a></td>
   <td><a target='_blank' class='nav-link' href='https://3xetf.com/' class='tab-link'>3x ETF</a></td>
   <td><a target='_blank' class='nav-link' href='http://thepatternsite.com/' class='tab-link'>thepatternsite</a></td>
   <td><a target='_blank' class='nav-link' href='   https://www.stockmonitor.com/stock-screener/macd-cross-and-rsi-above-55/' class='tab-link'>Stock Monitor</a></td>

  <td><a target='_blank' class='nav-link' href='https://www.businessofapps.com/data/' class='tab-link'>App Usage</a></td>
  </td><td><a target='_blank' class='nav-link' href='http://insiderbuyingselling.com' class='tab-link'>Insider Buying</a> </td><td><a target='_blank' class='nav-link' href='https://etfdb.com' class='tab-link'>ETF DB</a> </td>`
   $(".navbar .header-container td:eq(11)").append(bullbearChart)
  }

  function AddIndLinks() {
    var stockName = window.location.search.split("&")[0].split("=")[1]
    var existing = $(".ta-settings-button").html()
    var finalLink = GenerateLinks(stockName, "", false)
    $(".ta-settings-button").html(finalLink)
    $(".content").append(finalLink)
  }

  function AddPortfolioLinks() {

    var all = $("div#body-table-portfolio a.tab-link");

    if (all.length === 0) {
      all = $("#body-table-portfolio td[title] a b")
    }
    all.each(function (x) {
      var stockName = $(this).html();
      var existing = $(this).parents("td").html();
      var finalLink = GenerateLinks(stockName, existing)
      $(this).parent("a").parent("td").removeAttr("onclick").parent("tr").removeAttr("onclick");
      $(this).parent("a").parent("td").html(finalLink)
    

    })
  }

  function DetectAjaxChanges() {
    var _send = XMLHttpRequest.prototype.send;
    XMLHttpRequest.prototype.send = function () {

      /* Wrap onreadystaechange callback */
      var callback = this.onreadystatechange;
      this.onreadystatechange = function () {
        if (this.readyState == 4) {

          /* We are in response; do something,
             like logging or anything you want */
        }
        callback.apply(this, arguments);
        AddPortfolioLinks();
      }

      _send.apply(this, arguments);

    }
  }

  function Add_to_tradingview_watchList() {
    var newall = $(".screener-link-primary");
    var allLink = ""
    var stockName = []
    newall.each(function (x) {

      stockName.push($(this).html())

    })

    $(".fullview-links").each(function () {
      if ($(this).html().indexOf("save as portfolio") > 0) {
        $(this).prepend("<a class='tab-link'   href='https://www.tradingview.com/symbols/F/?" + stockName.join(",") + "'>Add to tradingview watchlist</a> | ")
      }
    })
  }