windowdog 2 mesiacov pred
rodič
commit
987139c013

+ 359 - 0
src/code/tamper_get_holders_sol_gmgn_nowuse.js

@@ -0,0 +1,359 @@
+// ==UserScript==
+// @name         GMGN-Get-Holders
+// @namespace    http://tampermonkey.net/
+// @version      2024-10-19
+// @description  try to take over the world!
+// @author       You
+// @match        https://gmgn.ai/sol/token/*
+// @icon         https://www.google.com/s2/favicons?sz=64&domain=gmgn.ai
+// @grant        none
+// ==/UserScript==
+
+
+function funcDownload(content, filename) {
+    console.log('begin download');
+    // 创建隐藏的可下载链接
+    let eleLink = document.createElement('a');
+    eleLink.download = filename;
+    eleLink.style.display = 'none';
+    // 字符内容转变成blob地址
+    let blob = new Blob([content]);
+    eleLink.href = URL.createObjectURL(blob);
+    // 触发点击
+    document.body.appendChild(eleLink);
+    eleLink.click();
+    // 然后移除
+    document.body.removeChild(eleLink);
+}
+
+
+function sleep(sleepdelay) {
+    return new Promise((resolve, reject) => {
+        setTimeout(() => {
+            resolve(sleepdelay);
+        }, sleepdelay);
+    })
+}
+
+var number_chars_obj = {
+    "k": 3,
+    "m": 6,
+    "b": 9,
+    "t": 12,
+    "p": 15
+};
+
+var number_chars_arr = ["k", "m", "b", "t", "p"];
+function get_float_number(str_number) {
+    let float_number = parseFloat(str_number);
+    for (let number_char of number_chars_arr) {
+        if (str_number.indexOf(number_char) != -1) {
+            float_number = parseFloat(str_number) * 10 ** number_chars_obj[number_char];
+        }
+    }
+    return float_number;
+}
+
+function getCurrentTime() {
+    const zeroFill = (i) => {
+        if (i >= 0 && i <= 9) {
+            return "0" + i;
+        } else {
+            return '' + i;
+        }
+
+    }
+    let date = new Date();//当前时间
+    let year = date.getFullYear();
+    let month = zeroFill(date.getMonth() + 1);//月
+    let day = zeroFill(date.getDate());//日
+    let hour = zeroFill(date.getHours());//时
+    let minute = zeroFill(date.getMinutes());//分
+    let second = zeroFill(date.getSeconds());//秒
+
+    //当前时间
+    var curTime =  month + day + '_' + hour + minute ;
+    return curTime;
+}
+
+
+function get_thead_arr_holders() {
+
+    // let titlearr = _thead.innerText.trim().split(/\r?\n/);
+    let titlearr = ['Maker', 'Owned_per',  'SOL','inflow_usd', 'Owned_amount',  
+    //  'avg_buy','avg_sell',
+      'Buy_counts', 'Sell_counts'];
+    return titlearr;
+}
+
+async function get_tbody_data_holders() {
+    let div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
+    let tbody = div_has_tran_table.querySelector("div.ag-body.ag-layout-normal div.ag-center-cols-viewport div.ag-center-cols-container");
+
+    let arr_tbody_trs;
+    arr_tbody_trs = Array.from(tbody.children);
+    let last_tr = arr_tbody_trs[arr_tbody_trs.length - 1];
+    let last_row_id = parseInt(last_tr.getAttribute('row-id'));
+    if (arr_res_data_toptrader.length - 1 >= last_row_id + 1) {
+        // 这批已经全部获取了 
+        return false;
+    }
+
+
+    for (let i = 0; i < arr_tbody_trs.length; i++) {
+
+        let cur_row_id = parseInt(arr_tbody_trs[i].getAttribute('row-id'));
+        if (arr_res_data_toptrader.length - 1 >= cur_row_id + 1) {
+            continue;
+        }
+
+        let arr_tds;
+        arr_tds = Array.from(arr_tbody_trs[i].children);
+
+        let tdtexts = [];
+        for (let i = 0; i < arr_tds.length; i++) {
+            if (i == 0) {
+                // trader
+                let a_element = arr_tds[i].querySelector("a");
+                let str_trader = a_element.href.split('/').pop();
+                tdtexts.push( str_trader);
+
+            }
+        else if (i == 1) {
+                // Owned%
+
+                let str_owned = "0";
+                let float_sol = 0;
+
+                let arr_owned_sol = arr_tds[i].children[0].children;
+
+                str_owned = arr_owned_sol[0].innerText.trim().toLowerCase();
+                str_owned = str_owned.replace(/[%]/g, "").trim();
+
+                float_sol = parseFloat(str_owned);
+                tdtexts.push(float_sol);
+
+            } else if (i == 2) {
+                //sol balance   
+
+                let str_balance = arr_tds[i].children[0].innerText.trim().replace(/[,]/g, "").trim();
+                str_balance = str_balance.replace(/\s+/g, "");
+                console.log("str_balance=",str_balance);
+
+                str_balance = str_balance.toLowerCase();
+                let float_balance = get_float_number(str_balance);
+                tdtexts.push(float_balance) ;
+
+
+            } else if (i == 3) {
+
+                // source/tf time
+            } else if (i == 4) {
+                // inflow/Amount
+                let str_token_amount = "0";
+             
+
+                let arr_sol_amount = arr_tds[i].children[0].children;
+              let  str_inflow_amount = arr_sol_amount[0].innerText.trim().toLowerCase();
+              str_inflow_amount = str_inflow_amount.replace(/[sol$,%\+><]/g, "").trim();
+
+
+                str_token_amount = arr_sol_amount[1].innerText.trim().toLowerCase();
+                // if (str_token_amount == "--") {
+                //     str_token_amount = "0";
+                // }
+                console.log("str_token_amount=",str_token_amount);
+
+              let  float_token_amount =  get_float_number(str_token_amount);
+        
+                tdtexts.push(str_inflow_amount);
+                tdtexts.push(float_token_amount/1e6);
+
+            } else if (i == 5) {
+                // pnl
+                continue;
+
+
+
+            } else if (i == 6) {
+                // holding duration
+                continue;
+            }else if (i == 7) {
+                // Avg Cost/Sold
+
+                continue;
+            }
+            else if (i == 8) {
+                // Buy/Sell
+                let str_buysell_counts = arr_tds[i].innerText.trim().toLowerCase();
+                str_buysell_counts = str_buysell_counts.replace(/[\s+]/g, "").trim();
+
+                let arr_buysell_counts = str_buysell_counts.split("/");
+
+                let str_buy_counts = arr_buysell_counts[0];
+                let str_sell_counts = arr_buysell_counts[1];
+
+                console.log("str_buy_counts=",str_buy_counts);
+                console.log("str_sell_counts=",str_sell_counts);
+
+                let float_buy_counts =  get_float_number(str_buy_counts) ;    
+                let float_sell_counts = get_float_number(str_sell_counts) ;    
+
+                tdtexts.push( float_buy_counts);
+                tdtexts.push(float_sell_counts);
+
+                continue
+
+            } else if (i == 9) {
+                // Last Active
+                continue
+
+            }
+
+        }
+        arr_res_data_toptrader.push(tdtexts);
+
+    }
+    return true
+
+}
+
+
+function save_resdata_holders() {
+    console.log("enter save_resdata_holders");
+    arr_res_data_toptrader.forEach((val, index, arr) => { arr[index] = val.join() + "\n" });
+    let urlpathname = window.location.pathname.slice(1).split('/');
+    urlpathname = urlpathname.pop()
+
+    funcDownload(arr_res_data_toptrader.join(""), urlpathname + "_holder_gmgn_sol" + "_" + getCurrentTime() + ".csv");
+    arr_res_data_toptrader = [];
+
+}
+
+
+function autoScroll_holders() {
+    console.log("enter autoScroll_holders");
+
+    let interval;
+    let scroll_times = 15;
+
+    let div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
+    let tbody = div_has_tran_table.querySelector("div.ag-body.ag-layout-normal div.ag-center-cols-viewport div.ag-center-cols-container");
+
+
+    async function down() {
+        interval = setInterval(async () => {
+
+            let tbodytrs;
+            console.log("scroll_times=", scroll_times);
+
+            if (scroll_times > 0) {
+
+                await sleep(150);
+                tbodytrs = tbody.children;
+                tbodytrs[tbodytrs.length - 1].scrollIntoView({ behavior: "smooth", block: "center" });
+                let bool_get_tbody = await get_tbody_data_holders();
+                if (bool_get_tbody == false) {
+                    scroll_times = 0;
+                }
+
+
+            } else {
+                clearInterval(interval);
+                await get_tbody_data_holders();
+                save_resdata_holders();
+                return;
+
+            }
+            scroll_times--;
+
+
+            // tbodytrs = tbody.children;
+            if (arr_res_data_toptrader.length == 101) {
+                clearInterval(interval);
+                await get_tbody_data_holders();
+                save_resdata_holders();
+                return;
+
+            }
+
+            await sleep(300);
+        }, 1200)
+
+    }
+
+    down()
+
+}
+
+
+var arr_res_data_toptrader = [];
+var res_data_toptrader = [];
+// window.addEventListener('load', async () => {
+
+(async function () {
+    console.log("enter load");
+    await sleep(6000);
+    console.log("create button");
+
+    var mydivbox = document.createElement("div");
+
+    var button_holders = document.createElement("button");//创建 获取 holders 一个按钮
+    button_holders.className = "tam-mybutton-gettran"
+    button_holders.textContent = "holder"; //按钮内容
+    button_holders.style.width = "90px"; //按钮宽度
+    button_holders.style.height = "20px"; //按钮高度
+    button_holders.style.align = "center"; //文本居中
+    button_holders.style.color = "blue"; //按钮文字颜色
+    button_holders.style.background = "#045710"; //按钮底色
+    button_holders.style.border = "1px solid #045710"; //边框属性
+
+
+    mydivbox.appendChild(button_holders);
+
+    mydivbox.style.position = "fixed";
+    mydivbox.style.top = "200px";
+    mydivbox.style.right = "40px";
+    document.body.appendChild(mydivbox);
+
+    button_holders.addEventListener("click", clickButton_get_holders); //监听按钮点击事件
+
+
+
+})();
+
+async function clickButton_get_holders() {
+    arr_res_data_toptrader = [];
+
+    console.log("enter clickButton_get_holders arr_res_data_toptrader=", arr_res_data_toptrader);
+    let div_chakra_tabs = document.querySelector('[role="tablist"]');
+    let arr_buttons_chakra = Array.from(div_chakra_tabs.querySelectorAll("button"));
+    let tab_holders_click = undefined;
+    for (let button of arr_buttons_chakra) {
+        if (button.innerText.includes("Holders")) {
+            tab_holders_click = button;
+            break;
+        }
+    }
+    if (tab_holders_click == undefined) {
+        console.log("no tab_holders_click");
+        return;
+    }
+    await tab_holders_click.click();
+    await sleep(7000);
+    let div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
+    let _thead = div_has_tran_table.querySelector("div.css-c6kdal div.ag-header-row.ag-header-row-column");
+    let arr_th = _thead.children;
+    let tab_click_USD_holder = arr_th[5].querySelector("div.css-1szs8yo");
+    if (tab_click_USD_holder.innerText.includes("USD")) {
+        await tab_click_USD_holder.click();
+        await sleep(4000);
+    }
+
+    let titlearr = get_thead_arr_holders();
+    arr_res_data_toptrader.push(titlearr);
+    autoScroll_holders();
+
+}
+
+

+ 0 - 637
src/code/tamper_get_topAholders_sol_gmgn_nowuse.js

@@ -1,637 +0,0 @@
-// ==UserScript==
-// @name         GMGN-Get-TopAndHolders
-// @namespace    http://tampermonkey.net/
-// @version      2024-10-19
-// @description  try to take over the world!
-// @author       You
-// @match        https://gmgn.ai/sol/token/*
-// @icon         https://www.google.com/s2/favicons?sz=64&domain=gmgn.ai
-// @grant        none
-// ==/UserScript==
-
-
-function funcDownload(content, filename) {
-    console.log('begin download');
-    // 创建隐藏的可下载链接
-    let eleLink = document.createElement('a');
-    eleLink.download = filename;
-    eleLink.style.display = 'none';
-    // 字符内容转变成blob地址
-    let blob = new Blob([content]);
-    eleLink.href = URL.createObjectURL(blob);
-    // 触发点击
-    document.body.appendChild(eleLink);
-    eleLink.click();
-    // 然后移除
-    document.body.removeChild(eleLink);
-}
-
-
-function sleep(sleepdelay) {
-    return new Promise((resolve, reject) => {
-        setTimeout(() => {
-            resolve(sleepdelay);
-        }, sleepdelay);
-    })
-}
-var number_chars_obj = {
-    "k": 3,
-    "m": 6,
-    "b": 9,
-    "t": 12,
-    "p": 15
-};
-
-
-var number_chars_arr = ["k", "m", "b", "t", "p"];
-
-function get_thead_arr_holders() {
-
-    // let titlearr = _thead.innerText.trim().split(/\r?\n/);
-    let titlearr = ['Maker', 'SOL', 'Owned_per', 'Owned_amount_simple', 'Owned_amount', 'Buy_counts', 'Sell_counts'];
-    return titlearr;
-}
-
-
-function get_thead_arr_toptrader() {
-
-    // let titlearr = _thead.innerText.trim().split(/\r?\n/);
-    let titlearr = ['Maker', 'SOL', 'Buy_sol', 'Sell_sol', 'Pnl_sol', 'Pnl_per'];
-    return titlearr;
-}
-
-
-async function get_tbody_data_toptrader() {
-
-    let div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
-    let tbody = div_has_tran_table.querySelector("tbody.g-table-tbody");
-
-    let arr_tbody_trs;
-    arr_tbody_trs = Array.from(tbody.children);
-    arr_tbody_trs.shift();
-
-
-    for (let i = 0; i < arr_tbody_trs.length; i++) {
-
-        let arr_tds;
-        arr_tds = Array.from(arr_tbody_trs[i].children);
-
-        let tdtexts = [];
-        for (let i = 0; i < arr_tds.length; i++) {
-            if (i == 0) {
-                // trader
-                let a_element = arr_tds[i].querySelector("a");
-                let str_trader = a_element.href.split('/').pop();
-                tdtexts.push(str_trader);
-
-            }
-            else if (i == 1) {
-                //sol balance   
-
-                let str_balance = arr_tds[i].innerText.trim().replace(/[,]/g, "").trim();
-                str_balance = str_balance.replace(/\s+/g, "");
-
-                str_balance = str_balance.toLowerCase();
-                let float_balance;
-
-                float_balance = parseFloat(str_balance);
-                for (let number_char of number_chars_arr) {
-                    if (str_balance.indexOf(number_char) != -1) {
-                        float_balance = parseFloat(str_balance) * 10 ** number_chars_obj[number_char];
-                    }
-                }
-                tdtexts.push(float_balance);
-
-            } else if (i == 2) {
-                // bought
-
-
-                let str_sol = "0";
-                let str_token_amount = "0";
-                let float_sol;
-
-                let arr_sol_amount = arr_tds[i].children[0].children;
-                if (arr_sol_amount.length == 1) {
-                    tdtexts.push(0);
-                    continue;
-                }
-
-                str_sol = arr_sol_amount[0].innerText.trim().toLowerCase();
-                str_sol = str_sol.replace(/[sol,%\+><]/g, "").trim();
-                if (str_sol == "--") {
-                    str_sol = "0";
-                }
-
-                float_sol = parseFloat(str_sol);
-                for (let number_char of number_chars_arr) {
-                    if (str_sol.indexOf(number_char) != -1) {
-                        float_sol = parseFloat(str_sol) * 10 ** number_chars_obj[number_char];
-                    }
-                }
-                tdtexts.push(float_sol);
-
-            } else if (i == 3) {
-                // sold
-                let str_sol = "0";
-                let str_token_amount = "0";
-                let float_sol;
-
-                let arr_sol_amount = arr_tds[i].children[0].children;
-                if (arr_sol_amount.length == 1) {
-                    tdtexts.push(0);
-                    continue;
-                }
-
-                str_sol = arr_sol_amount[0].innerText.trim().toLowerCase();
-                str_sol = str_sol.replace(/[sol,%\+><]/g, "").trim();
-                if (str_sol == "--") {
-                    str_sol = "0";
-                }
-
-                float_sol = parseFloat(str_sol);
-                for (let number_char of number_chars_arr) {
-                    if (str_sol.indexOf(number_char) != -1) {
-                        float_sol = parseFloat(str_sol) * 10 ** number_chars_obj[number_char];
-                    }
-                }
-                tdtexts.push(float_sol);
-
-
-
-
-            } else if (i == 4) {
-                // pnl
-
-                let str_sol = "0";
-                let str_percent = "0";
-                let float_sol = 0;
-                let float_percent = 0;
-
-                let arr_sol_percent = arr_tds[i].children[0].children;
-
-
-                str_sol = arr_sol_percent[0].innerText.trim().toLowerCase();
-                str_sol = str_sol.replace(/[sol,%\+><]/g, "").trim();
-                str_percent = arr_sol_percent[1].innerText.trim().toLowerCase();
-                str_percent = str_percent.replace(/[sol,%\+><]/g, "").trim();
-
-                if (str_sol == "--") {
-                    str_sol = "0";
-                }
-
-                if (str_percent == "--") {
-                    str_percent = "999999";
-                }
-
-
-                float_sol = parseFloat(str_sol);
-                float_percent = parseFloat(str_percent);
-                for (let number_char of number_chars_arr) {
-                    if (str_sol.indexOf(number_char) != -1) {
-                        float_sol = parseFloat(str_sol) * 10 ** number_chars_obj[number_char];
-                    }
-                    if (str_percent.indexOf(number_char) != -1) {
-                        float_percent = parseFloat(str_percent) * 10 ** number_chars_obj[number_char];
-                    }
-
-                }
-                tdtexts.push(float_sol);
-                tdtexts.push(float_percent);
-
-            } else if (i == 5) {
-                // Realized
-                continue;
-            }
-            else if (i == 6) {
-                // UnRealized
-                continue
-
-            } else if (i == 7) {
-                // Avg Cost/Sold
-
-            } else if (i == 8) {
-                // TXs
-
-            } else if (i == 9) {
-                // Last Active
-
-            }
-
-        }
-        res_data_toptrader.push(tdtexts);
-
-    }
-
-
-}
-
-
-async function get_tbody_data_holders() {
-
-    let div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
-    let tbody = div_has_tran_table.querySelector("tbody.g-table-tbody");
-
-    let arr_tbody_trs;
-    arr_tbody_trs = Array.from(tbody.children);
-    arr_tbody_trs.shift();
-
-
-    for (let i = 0; i < arr_tbody_trs.length; i++) {
-
-        let arr_tds;
-        arr_tds = Array.from(arr_tbody_trs[i].children);
-
-        let tdtexts = [];
-        // if (arr_tds.length != 10) {
-        //     continue;
-        // }
-        for (let i = 0; i < arr_tds.length; i++) {
-            if (i == 0) {
-                // trader
-                let a_element = arr_tds[i].querySelector("a");
-                let str_trader = a_element.href.split('/').pop();
-                tdtexts[0] = str_trader;
-
-
-            }
-            else if (i == 1) {
-                //sol balance   
-
-                let str_balance = arr_tds[i].innerText.trim().replace(/[,]/g, "").trim();
-                str_balance = str_balance.replace(/\s+/g, "");
-
-                str_balance = str_balance.toLowerCase();
-                let float_balance;
-
-                float_balance = parseFloat(str_balance);
-                for (let number_char of number_chars_arr) {
-                    if (str_balance.indexOf(number_char) != -1) {
-                        float_balance = parseFloat(str_balance) * 10 ** number_chars_obj[number_char];
-                    }
-                }
-
-                tdtexts[1] = float_balance;
-
-
-            } else if (i == 2) {
-
-                // Owned%
-
-                let str_owned = "0";
-
-                let float_sol = 0;
-
-                let arr_owned_sol = arr_tds[i].children[0].children;
-
-                str_owned = arr_owned_sol[0].innerText.trim().toLowerCase();
-                str_owned = str_owned.replace(/[%]/g, "").trim();
-
-                float_sol = parseFloat(str_owned);
-                tdtexts[2] = float_sol;
-
-
-
-
-            } else if (i == 3) {
-                // sold
-                // inflow/Amount
-
-                let str_token_amount = "0";
-                let float_token_amount = 0;
-
-                let arr_sol_amount = arr_tds[i].children[0].children;
-
-                str_token_amount = arr_sol_amount[1].innerText.trim().toLowerCase();
-                if (str_token_amount == "--") {
-                    str_token_amount = "0";
-
-                }
-
-                float_token_amount = parseFloat(str_token_amount);
-                for (let number_char of number_chars_arr) {
-                    if (str_token_amount.indexOf(number_char) != -1) {
-                        float_token_amount = parseFloat(str_token_amount) * 10 ** number_chars_obj[number_char];
-                    }
-                }
-                tdtexts[3] = str_token_amount;
-                tdtexts[4] = float_token_amount;
-
-
-
-
-
-            } else if (i == 4) {
-                // pnl
-                continue;
-
-
-
-            } else if (i == 5) {
-                // Avg Cost/Sold
-                continue;
-            }
-            else if (i == 6) {
-                // Buy/Sell
-
-
-
-
-                let str_buysell_counts = arr_tds[i].innerText.trim().toLowerCase();
-                str_buysell_counts = str_buysell_counts.replace(/[\s+]/g, "").trim();
-
-                let arr_buysell_counts = str_buysell_counts.split("/");
-
-                let str_buy_counts = arr_buysell_counts[0];
-                let str_sell_counts = arr_buysell_counts[1];
-
-                let float_buy_counts = parseFloat(str_buy_counts);
-                let float_sell_counts = parseFloat(str_sell_counts);
-
-                for (let number_char of number_chars_arr) {
-                    if (str_buy_counts.indexOf(number_char) != -1) {
-                        float_buy_counts = parseFloat(str_buy_counts) * 10 ** number_chars_obj[number_char];
-                    }
-                    if (str_sell_counts.indexOf(number_char) != -1) {
-                        float_sell_counts = parseFloat(str_sell_counts) * 10 ** number_chars_obj[number_char];
-                    }
-
-                }
-
-                tdtexts[5] = float_buy_counts;
-                tdtexts[6] = float_sell_counts;
-
-                continue
-
-            } else if (i == 7) {
-                // Last Active
-                continue
-
-            }
-
-        }
-        res_data_get_holders.push(tdtexts);
-
-    }
-
-
-}
-
-
-function save_resdata_toptrader() {
-    console.log("enter save_resdata_toptrader");
-    res_data_toptrader.forEach((val, index, arr) => { arr[index] = val.join() + "\n" });
-    let urlpathname = window.location.pathname.slice(1).split('/');
-    urlpathname = urlpathname.pop()
-
-    funcDownload(res_data_toptrader.join(""), urlpathname + "_top_gmgn_sol" + "_" + parseInt(Date.now() / 1000) + ".csv");
-    res_data_toptrader = [];
-
-}
-
-function save_resdata_holders() {
-    console.log("enter save_resdata_holders");
-    res_data_get_holders.forEach((val, index, arr) => { arr[index] = val.join() + "\n" });
-    let urlpathname = window.location.pathname.slice(1).split('/');
-    urlpathname = urlpathname.pop()
-
-    funcDownload(res_data_get_holders.join(""), urlpathname + "_holder_gmgn_sol" + "_" + parseInt(Date.now() / 1000) + ".csv");
-    res_data_get_holders = [];
-
-}
-
-function autoScroll_toptrader() {
-    console.log("enter autoScroll_toptrader");
-
-    let interval;
-    let scroll_times = 15;
-
-    let div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
-    let tbody = div_has_tran_table.querySelector("div.css-1o2kb31 tbody.g-table-tbody");
-
-
-    async function down() {
-        interval = setInterval(async () => {
-
-            let tbodytrs;
-
-            if (scroll_times > 0) {
-
-                await sleep(150);
-                tbodytrs = tbody.children;
-                tbodytrs[tbodytrs.length - 1].scrollIntoView({ behavior: "smooth", block: "start" });
-
-
-            } else {
-                clearInterval(interval);
-                await get_tbody_data_toptrader();
-                save_resdata_toptrader();
-                return;
-
-            }
-            scroll_times--;
-
-
-            tbodytrs = tbody.children;
-            if (tbodytrs.length == 101) {
-                clearInterval(interval);
-                await get_tbody_data_toptrader();
-                save_resdata_toptrader();
-                return;
-
-            }
-
-            await sleep(300);
-        }, 1200)
-
-    }
-
-    down()
-
-}
-
-
-
-function autoScroll_holders() {
-    console.log("enter autoScroll_holders");
-
-    let interval;
-    let scroll_times = 15;
-
-    let div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
-    let tbody = div_has_tran_table.querySelector("div.css-1o2kb31 tbody.g-table-tbody");
-
-
-    async function down() {
-        interval = setInterval(async () => {
-
-            let tbodytrs;
-
-            if (scroll_times > 0) {
-
-                await sleep(150);
-                tbodytrs = tbody.children;
-                tbodytrs[tbodytrs.length - 1].scrollIntoView({ behavior: "smooth", block: "start" });
-
-
-            } else {
-                clearInterval(interval);
-                await get_tbody_data_holders();
-                save_resdata_holders();
-                return;
-
-            }
-            scroll_times--;
-
-
-            tbodytrs = tbody.children;
-            if (tbodytrs.length == 101) {
-                clearInterval(interval);
-                await get_tbody_data_holders();
-                save_resdata_holders();
-                return;
-
-            }
-
-            await sleep(300);
-        }, 1200)
-
-    }
-
-    down()
-
-}
-
-
-
-var res_data_get_holders = [];
-var sTop = 0;
-var res_data_toptrader = [];
-// window.addEventListener('load', async () => {
-
-(async function () {
-    console.log("enter load");
-    await sleep(6000);
-    console.log("create button");
-
-    var mydivbox = document.createElement("div");
-
-    var button_holders = document.createElement("button");//创建 获取 holders 一个按钮
-    button_holders.className = "tam-mybutton-gettran"
-    button_holders.textContent = "holder"; //按钮内容
-    button_holders.style.width = "90px"; //按钮宽度
-    button_holders.style.height = "30px"; //按钮高度
-    button_holders.style.align = "center"; //文本居中
-    button_holders.style.color = "blue"; //按钮文字颜色
-    button_holders.style.background = "#045710"; //按钮底色
-    button_holders.style.border = "1px solid #045710"; //边框属性
-
-
-    var button_get_toptrader = document.createElement("button");//创建 获取 top trader 一个按钮
-    button_get_toptrader.className = "tam-mybutton-gettran"
-    button_get_toptrader.textContent = "top"; //按钮内容
-    button_get_toptrader.style.width = "90px"; //按钮宽度
-    button_get_toptrader.style.height = "30px"; //按钮高度
-    button_get_toptrader.style.align = "center"; //文本居中
-    button_get_toptrader.style.color = "blue"; //按钮文字颜色
-    button_get_toptrader.style.background = "#717171"; //按钮底色
-    button_get_toptrader.style.border = "1px solid #717171"; //边框属性
-
-    mydivbox.appendChild(button_get_toptrader);
-    mydivbox.appendChild(button_holders);
-
-    mydivbox.style.position = "fixed";
-    mydivbox.style.top = "180px";
-    mydivbox.style.right = "40px";
-    document.body.appendChild(mydivbox);
-
-    button_holders.addEventListener("click", clickButton_get_holders); //监听按钮点击事件
-    button_get_toptrader.addEventListener("click", clickButton_get_toptrader); //监听按钮点击事件
-
-
-
-})();
-
-async function clickButton_get_toptrader() {
-    res_data_toptrader = [];
-
-    console.log("enter clickButton_toptrader res_data_toptrader=", res_data_toptrader);
-    let div_chakra_tabs = document.querySelector('[role="tablist"]');
-    let arr_buttons_chakra = Array.from(div_chakra_tabs.querySelectorAll("button"));
-    let tab_top_trader_click = undefined;
-    for (let button of arr_buttons_chakra) {
-        if (button.innerText.includes("Top Traders")) {
-            tab_top_trader_click = button;
-            break;
-        }
-    }
-    if (tab_top_trader_click == undefined) {
-        console.log("no tab_top_trader_click");
-        return;
-    }
-    console.log("  tab_top_trader_click click=");
-    await tab_top_trader_click.click();
-    await sleep(7000);
-
-    let div_has_tran_table;
-
-    let _thead;
-
-    // chakra-tabs__tablist css-1p75jc5
-    div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
-    _thead = div_has_tran_table.querySelector("div.css-1o2kb31 thead.g-table-thead");
-    let arr_th = _thead.querySelectorAll("th");
-    let tab_click_USD_toptrader = arr_th[1].querySelector("div.css-1vimx2u");
-    if (tab_click_USD_toptrader.innerText.includes("USD")) {
-        await tab_click_USD_toptrader.click();
-        await sleep(4000);
-    }
-
-    let titlearr = get_thead_arr_toptrader();
-    res_data_toptrader.push(titlearr);
-    autoScroll_toptrader();
-
-}
-
-
-async function clickButton_get_holders() {
-    res_data_get_holders = [];
-
-    console.log("enter clickButton_get_holders res_data_get_holders=", res_data_get_holders);
-    let div_chakra_tabs = document.querySelector('[role="tablist"]');
-    let arr_buttons_chakra = Array.from(div_chakra_tabs.querySelectorAll("button"));
-    let tab_holders_click = undefined;
-    for (let button of arr_buttons_chakra) {
-        if (button.innerText.includes("Holders")) {
-            tab_holders_click = button;
-            break;
-        }
-    }
-    if (tab_holders_click == undefined) {
-        console.log("no tab_holders_click");
-        return;
-    }
-    await tab_holders_click.click();
-    await sleep(7000);
-
-    let div_has_tran_table;
-    let _thead;
-
-    div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
-    _thead = div_has_tran_table.querySelector("div.css-1o2kb31 thead.g-table-thead");
-
-    let arr_th = _thead.querySelectorAll("th");
-    let tab_click_USD_holder = arr_th[1].querySelector("div.css-1szs8yo");
-    if (tab_click_USD_holder.innerText.includes("USD")) {
-        await tab_click_USD_holder.click();
-        await sleep(4000);
-    }
-
-
-    let titlearr = get_thead_arr_holders();
-    res_data_get_holders.push(titlearr);
-    autoScroll_holders();
-
-}
-
-
-

+ 453 - 0
src/code/tamper_get_top_sol_gmgn_nowuse.js

@@ -0,0 +1,453 @@
+// ==UserScript==
+// @name         GMGN-Get-Top
+// @namespace    http://tampermonkey.net/
+// @version      2024-10-19
+// @description  try to take over the world!
+// @author       You
+// @match        https://gmgn.ai/sol/token/*
+// @icon         https://www.google.com/s2/favicons?sz=64&domain=gmgn.ai
+// @grant        none
+// ==/UserScript==
+
+
+function funcDownload(content, filename) {
+    console.log('begin download');
+    // 创建隐藏的可下载链接
+    let eleLink = document.createElement('a');
+    eleLink.download = filename;
+    eleLink.style.display = 'none';
+    // 字符内容转变成blob地址
+    let blob = new Blob([content]);
+    eleLink.href = URL.createObjectURL(blob);
+    // 触发点击
+    document.body.appendChild(eleLink);
+    eleLink.click();
+    // 然后移除
+    document.body.removeChild(eleLink);
+}
+
+
+function sleep(sleepdelay) {
+    return new Promise((resolve, reject) => {
+        setTimeout(() => {
+            resolve(sleepdelay);
+        }, sleepdelay);
+    })
+}
+
+var number_chars_obj = {
+    "k": 3,
+    "m": 6,
+    "b": 9,
+    "t": 12,
+    "p": 15
+};
+
+var number_chars_arr = ["k", "m", "b", "t", "p"];
+function get_float_number(str_number) {
+    let float_number = parseFloat(str_number);
+    for (let number_char of number_chars_arr) {
+        if (str_number.indexOf(number_char) != -1) {
+            float_number = parseFloat(str_number) * 10 ** number_chars_obj[number_char];
+        }
+    }
+    return float_number;
+}
+
+function getCurrentTime() {
+    const zeroFill = (i) => {
+        if (i >= 0 && i <= 9) {
+            return "0" + i;
+        } else {
+            return '' + i;
+        }
+
+    }
+    let date = new Date();//当前时间
+    let year = date.getFullYear();
+    let month = zeroFill(date.getMonth() + 1);//月
+    let day = zeroFill(date.getDate());//日
+    let hour = zeroFill(date.getHours());//时
+    let minute = zeroFill(date.getMinutes());//分
+    let second = zeroFill(date.getSeconds());//秒
+
+    //当前时间
+    var curTime =  month + day + '_' + hour + minute ;
+    return curTime;
+}
+
+
+function get_thead_arr_toptrader() {
+
+    // let titlearr = _thead.innerText.trim().split(/\r?\n/);
+    let titlearr = ['Maker', 'SOL', 'Buy_sol', 'Buy_token_M', 'Sell_sol', 'Sell_token_M', 'Pnl_sol', 'Pnl_per', 'buy_cout', 'sell_cout'];
+    return titlearr;
+}
+
+async function get_tbody_data_toptrader() {
+
+    let div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
+    let tbody = div_has_tran_table.querySelector("div.ag-body.ag-layout-normal div.ag-center-cols-viewport div.ag-center-cols-container");
+
+    let arr_tbody_trs;
+    arr_tbody_trs = Array.from(tbody.children);
+    let last_tr = arr_tbody_trs[arr_tbody_trs.length - 1];
+    let last_row_id = parseInt(last_tr.getAttribute('row-id'));
+    if (arr_res_data_toptrader.length - 1 >= last_row_id + 1) {
+        // 这批已经全部获取了 
+        return false;
+    }
+
+
+    for (let i = 0; i < arr_tbody_trs.length; i++) {
+
+        let cur_row_id = parseInt(arr_tbody_trs[i].getAttribute('row-id'));
+        if (arr_res_data_toptrader.length - 1 >= cur_row_id + 1) {
+            continue;
+        }
+
+        let arr_tds;
+        arr_tds = Array.from(arr_tbody_trs[i].children);
+
+        let tdtexts = [];
+        for (let i = 0; i < arr_tds.length; i++) {
+            if (i == 0) {
+                // trader
+                let a_element = arr_tds[i].querySelector("a");
+                let str_trader = a_element.href.split('/').pop();
+                tdtexts.push(str_trader);
+
+            }
+            else if (i == 1) {
+                //sol balance   
+
+                let str_balance = arr_tds[i].innerText.trim().replace(/[,]/g, "").trim();
+                str_balance = str_balance.replace(/\s+/g, "");
+
+                str_balance = str_balance.toLowerCase();
+                let float_balance;
+
+                float_balance = get_float_number(str_balance);
+                // for (let number_char of number_chars_arr) {
+                //     if (str_balance.indexOf(number_char) != -1) {
+                //         float_balance = parseFloat(str_balance) * 10 ** number_chars_obj[number_char];
+                //     }
+                // }
+                tdtexts.push(float_balance);
+
+            } else if (i == 2) {
+                continue;
+            }
+
+            else if (i == 3) {
+                // bought
+                let arr_sol_amount = arr_tds[i].children[0].children;
+                if (arr_sol_amount.length == 1) {
+                    // 为 --
+                    tdtexts.push(0);
+                    tdtexts.push(0);
+                    continue;
+                }
+
+
+                let str_sol = "0";
+                let float_sol;
+                str_sol = arr_sol_amount[0].innerText.trim().toLowerCase();
+                str_sol = str_sol.replace(/[sol$,%\+><]/g, "").trim();
+                // if (str_sol == "--") {
+                //     str_sol = "0";
+                // }
+
+                let str_token_amount = "0";
+                let float_token_amount;
+
+                
+                str_token_amount = arr_sol_amount[1].innerText.trim().toLowerCase();
+                // if (str_token_amount == "--") {
+                //     str_token_amount = "0";
+                // }
+
+
+
+                float_sol = get_float_number(str_sol);
+                // for (let number_char of number_chars_arr) {
+                //     if (str_sol.indexOf(number_char) != -1) {
+                //         float_sol = parseFloat(str_sol) * 10 ** number_chars_obj[number_char];
+                //     }
+                // }
+                tdtexts.push(float_sol);
+
+
+                float_token_amount = get_float_number(str_token_amount);
+                // for (let number_char of number_chars_arr) {
+                //     if (str_token_amount.indexOf(number_char) != -1) {
+                //         float_token_amount = parseFloat(str_token_amount) * 10 ** number_chars_obj[number_char];
+                //     }
+                // }
+                tdtexts.push(float_token_amount/1e6);
+
+            } else if (i == 4) {
+                // sold
+
+                let arr_sol_amount = arr_tds[i].children[0].children;
+                if (arr_sol_amount.length == 1) {
+                    tdtexts.push(0);
+                    tdtexts.push(0);
+                    continue;
+                }
+
+                let str_sol = "0";
+                let float_sol;
+                str_sol = arr_sol_amount[0].innerText.trim().toLowerCase();
+                str_sol = str_sol.replace(/[sol$,%\+><]/g, "").trim();
+                // if (str_sol == "--") {
+                //     str_sol = "0";
+                // }
+
+                let str_token_amount = "0";
+                let float_token_amount;
+                str_token_amount = arr_sol_amount[1].innerText.trim().toLowerCase();
+                // if (str_token_amount == "--") {
+                //     str_token_amount = "0";
+                // }
+
+
+
+                float_sol = get_float_number(str_sol);
+
+                tdtexts.push(float_sol);
+
+                float_token_amount = get_float_number(str_token_amount);
+                tdtexts.push(float_token_amount/1e6);
+
+
+            } else if (i == 5) {
+                // pnl
+
+                let str_sol = "0";
+                let str_percent = "0";
+                let float_sol = 0;
+                let float_percent = 0;
+
+                let arr_sol_percent = arr_tds[i].children[0].children;
+
+
+                str_sol = arr_sol_percent[0].innerText.trim().toLowerCase();
+                str_sol = str_sol.replace(/[sol$,%\+><]/g, "").trim();
+                str_percent = arr_sol_percent[1].innerText.trim().toLowerCase();
+                str_percent = str_percent.replace(/[sol$,%\+><]/g, "").trim();
+
+                if (str_sol == "--") {
+                    str_sol = "0";
+                }
+
+                if (str_percent == "--") {
+                    str_percent = "999999";
+                }
+
+
+                float_sol = parseFloat(str_sol);
+                float_percent = parseFloat(str_percent);
+                for (let number_char of number_chars_arr) {
+                    if (str_sol.indexOf(number_char) != -1) {
+                        float_sol = parseFloat(str_sol) * 10 ** number_chars_obj[number_char];
+                    }
+                    if (str_percent.indexOf(number_char) != -1) {
+                        float_percent = parseFloat(str_percent) * 10 ** number_chars_obj[number_char];
+                    }
+
+                }
+                tdtexts.push(float_sol);
+                tdtexts.push(float_percent);
+
+            } else if (i == 6) {
+                // Realized
+                continue;
+            }
+            else if (i == 7) {
+                // UnRealized
+                continue
+
+            } else if (i == 8) {
+                //Holding Duration
+                continue
+
+            }
+            else if (i == 9) {
+                // Avg Cost/Sold
+                continue
+
+            } else if (i == 10) {
+                // TXs
+                let arr_buy_sell_cout = arr_tds[i].children[0].children;
+
+                let str_buy_cout = "0";
+                str_buy_cout = arr_buy_sell_cout[0].innerText.trim().toLowerCase();
+                str_buy_cout = str_buy_cout.replace(/[sol$,%\+><]/g, "").trim();
+
+                let str_sell_cout = "0";
+                str_sell_cout = arr_buy_sell_cout[1].innerText.trim().toLowerCase();
+                str_sell_cout = str_sell_cout.replace(/[sol$,%\+><]/g, "").trim();
+
+
+                let float_buy_cout = get_float_number(str_buy_cout);
+                tdtexts.push(float_buy_cout);
+
+                let float_sell_cout = get_float_number(str_sell_cout);
+                tdtexts.push(float_sell_cout);
+
+                continue
+
+            } else if (i == 11) {
+                // Last Active
+                continue
+
+            }
+
+        }
+        arr_res_data_toptrader.push(tdtexts);
+
+    }
+    return true
+
+}
+
+
+function save_resdata_toptrader() {
+    console.log("enter save_resdata_toptrader");
+    arr_res_data_toptrader.forEach((val, index, arr) => { arr[index] = val.join() + "\n" });
+    let urlpathname = window.location.pathname.slice(1).split('/');
+    urlpathname = urlpathname.pop()
+
+    funcDownload(arr_res_data_toptrader.join(""), urlpathname + "_top_gmgn_sol" + "_" + getCurrentTime() + ".csv");
+    arr_res_data_toptrader = [];
+
+}
+
+
+function autoScroll_toptrader() {
+    console.log("enter autoScroll_toptrader");
+
+    let interval;
+    let scroll_times = 15;
+
+    let div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
+    let tbody = div_has_tran_table.querySelector("div.ag-body.ag-layout-normal div.ag-center-cols-viewport div.ag-center-cols-container");
+
+
+    async function down() {
+        interval = setInterval(async () => {
+
+            let tbodytrs;
+            console.log("scroll_times=", scroll_times);
+
+            if (scroll_times > 0) {
+
+                await sleep(150);
+                tbodytrs = tbody.children;
+                tbodytrs[tbodytrs.length - 1].scrollIntoView({ behavior: "smooth", block: "center" });
+                let bool_get_tbody = await get_tbody_data_toptrader();
+                if (bool_get_tbody == false) {
+                    scroll_times = 0;
+                }
+
+
+            } else {
+                clearInterval(interval);
+                await get_tbody_data_toptrader();
+                save_resdata_toptrader();
+                return;
+
+            }
+            scroll_times--;
+
+
+            // tbodytrs = tbody.children;
+            if (arr_res_data_toptrader.length == 101) {
+                clearInterval(interval);
+                await get_tbody_data_toptrader();
+                save_resdata_toptrader();
+                return;
+
+            }
+
+            await sleep(300);
+        }, 1200)
+
+    }
+
+    down()
+
+}
+
+
+var arr_res_data_toptrader = [];
+// window.addEventListener('load', async () => {
+
+(async function () {
+    console.log("enter load");
+    await sleep(6000);
+    console.log("create button");
+
+    var mydivbox = document.createElement("div");
+
+    var button_get_toptrader = document.createElement("button");//创建 获取 top trader 一个按钮
+    button_get_toptrader.className = "tam-mybutton-gettran"
+    button_get_toptrader.textContent = "top_sol"; //按钮内容
+    button_get_toptrader.style.width = "90px"; //按钮宽度
+    button_get_toptrader.style.height = "20px"; //按钮高度
+    button_get_toptrader.style.align = "center"; //文本居中
+    button_get_toptrader.style.color = "blue"; //按钮文字颜色
+    button_get_toptrader.style.background = "#717171"; //按钮底色
+    button_get_toptrader.style.border = "1px solid #717171"; //边框属性
+
+    mydivbox.appendChild(button_get_toptrader);
+
+    mydivbox.style.position = "fixed";
+    mydivbox.style.top = "160px";
+    mydivbox.style.right = "40px";
+    document.body.appendChild(mydivbox);
+
+
+
+    button_get_toptrader.addEventListener("click", clickButton_get_toptrader); //监听按钮点击事件
+
+
+})();
+
+async function clickButton_get_toptrader() {
+    arr_res_data_toptrader = [];
+
+    console.log("enter clickButton_toptrader arr_res_data_toptrader=", arr_res_data_toptrader);
+    let div_chakra_tabs = document.querySelector('[role="tablist"]');
+    let arr_buttons_chakra = Array.from(div_chakra_tabs.querySelectorAll("button"));
+    let tab_top_trader_click = undefined;
+    for (let button of arr_buttons_chakra) {
+        if (button.innerText.includes("Traders")) {
+            tab_top_trader_click = button;
+            break;
+        }
+    }
+    if (tab_top_trader_click == undefined) {
+        console.log("no tab_top_trader_click");
+        return;
+    }
+    console.log("  tab_top_trader_click click=");
+    await tab_top_trader_click.click();
+    await sleep(7000);
+    let div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
+    let _thead = div_has_tran_table.querySelector("div.css-c6kdal div.ag-header-row.ag-header-row-column");
+    let arr_th = _thead.children;
+    let tab_click_USD_toptrader = arr_th[5].querySelector("div.css-1vimx2u");
+    if (tab_click_USD_toptrader.innerText.includes("USD")) {
+        await tab_click_USD_toptrader.click();
+        await sleep(4000);
+    }
+
+    let titlearr = get_thead_arr_toptrader();
+    arr_res_data_toptrader.push(titlearr);
+    autoScroll_toptrader();
+
+}
+
+

+ 196 - 0
src/code/tamper_test_scroll.js

@@ -0,0 +1,196 @@
+// ==UserScript==
+// @name         GMGN-Get-Top
+// @namespace    http://tampermonkey.net/
+// @version      2024-10-19
+// @description  try to take over the world!
+// @author       You
+// @match        https://gmgn.ai/sol/token/*
+// @icon         https://www.google.com/s2/favicons?sz=64&domain=gmgn.ai
+// @grant        none
+// ==/UserScript==
+
+
+function funcDownload(content, filename) {
+    console.log('begin download');
+    // 创建隐藏的可下载链接
+    let eleLink = document.createElement('a');
+    eleLink.download = filename;
+    eleLink.style.display = 'none';
+    // 字符内容转变成blob地址
+    let blob = new Blob([content]);
+    eleLink.href = URL.createObjectURL(blob);
+    // 触发点击
+    document.body.appendChild(eleLink);
+    eleLink.click();
+    // 然后移除
+    document.body.removeChild(eleLink);
+}
+
+
+function sleep(sleepdelay) {
+    return new Promise((resolve, reject) => {
+        setTimeout(() => {
+            resolve(sleepdelay);
+        }, sleepdelay);
+    })
+}
+var number_chars_obj = {
+    "k": 3,
+    "m": 6,
+    "b": 9,
+    "t": 12,
+    "p": 15
+};
+
+
+var number_chars_arr = ["k", "m", "b", "t", "p"];
+
+
+
+
+function get_thead_arr_toptrader() {
+
+    // let titlearr = _thead.innerText.trim().split(/\r?\n/);
+    let titlearr = ['Maker', 'SOL', 'Buy_sol','Buy_token', 'Sell_sol', 'Sell_token', 'Pnl_sol', 'Pnl_per'];
+    return titlearr;
+}
+
+ 
+ 
+
+function autoScroll_toptrader() {
+    console.log("enter autoScroll_toptrader");
+
+    let interval;
+    let scroll_times = 15;
+
+    // let div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
+    // let tbody = div_has_tran_table.querySelector("div.css-1o2kb31 tbody.g-table-tbody");
+
+    div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
+    tbody = div_has_tran_table.querySelector("div.ag-body.ag-layout-normal");
+
+
+    async function down() {
+        interval = setInterval(async () => {
+
+            let tbodytrs;
+
+            if (scroll_times > 0) {
+
+                await sleep(150);
+                tbodytrs = tbody.children;
+                tbodytrs[tbodytrs.length - 1].scrollIntoView({ behavior: "smooth", block: "center" });
+                await get_tbody_data_toptrader();
+
+
+            } else {
+                clearInterval(interval);
+                
+                return;
+
+            }
+            scroll_times--;
+
+
+        
+
+            await sleep(300);
+        }, 1200)
+
+    }
+
+    down()
+
+}
+
+
+
+
+
+var sTop = 0;
+var res_data_toptrader = [];
+// window.addEventListener('load', async () => {
+
+(async function () {
+    console.log("enter load");
+    await sleep(6000);
+    console.log("create button");
+
+    var mydivbox = document.createElement("div");
+
+
+    
+
+    var button_get_toptrader = document.createElement("button");//创建 获取 top trader 一个按钮
+    button_get_toptrader.className = "tam-mybutton-gettran"
+    button_get_toptrader.textContent = "top_sol"; //按钮内容
+    button_get_toptrader.style.width = "90px"; //按钮宽度
+    button_get_toptrader.style.height = "30px"; //按钮高度
+    button_get_toptrader.style.align = "center"; //文本居中
+    button_get_toptrader.style.color = "blue"; //按钮文字颜色
+    button_get_toptrader.style.background = "#717171"; //按钮底色
+    button_get_toptrader.style.border = "1px solid #717171"; //边框属性
+
+    mydivbox.appendChild(button_get_toptrader);
+
+    
+
+    mydivbox.style.position = "fixed";
+    mydivbox.style.top = "180px";
+    mydivbox.style.right = "40px";
+    document.body.appendChild(mydivbox);
+
+
+    
+    button_get_toptrader.addEventListener("click", clickButton_get_toptrader); //监听按钮点击事件
+
+
+
+})();
+
+async function clickButton_get_toptrader() {
+    res_data_toptrader = [];
+
+    console.log("enter clickButton_toptrader res_data_toptrader=", res_data_toptrader);
+    let div_chakra_tabs = document.querySelector('[role="tablist"]');
+    let arr_buttons_chakra = Array.from(div_chakra_tabs.querySelectorAll("button"));
+    let tab_top_trader_click = undefined;
+    for (let button of arr_buttons_chakra) {
+        if (button.innerText.includes("Traders")) {
+            tab_top_trader_click = button;
+            break;
+        }
+    }
+    if (tab_top_trader_click == undefined) {
+        console.log("no tab_top_trader_click");
+        return;
+    }
+    console.log("  tab_top_trader_click click=");
+    await tab_top_trader_click.click();
+    await sleep(7000);
+
+    let div_has_tran_table;
+
+    let _thead;
+
+ 
+    div_has_tran_table = document.querySelector("div.chakra-tabs__tab-panels.css-2zi8qu");
+    _thead = div_has_tran_table.querySelector("div.css-c6kdal div.ag-header-row.ag-header-row-column");
+    let arr_th = _thead.children;
+    let tab_click_USD_toptrader = arr_th[5].querySelector("div.css-1vimx2u");
+    if (tab_click_USD_toptrader.innerText.includes("USD")) {
+        await tab_click_USD_toptrader.click();
+        await sleep(4000);
+    }
+
+    let titlearr = get_thead_arr_toptrader();
+    res_data_toptrader.push(titlearr);
+    autoScroll_toptrader();
+
+}
+
+
+
+
+

+ 101 - 0
src/library/analysis_token/5puhwnyz2Tv8jSmmBD5DSqCwFVXwwPGZacymM7DQpump/01-09 04到01-10 22 低谷/5puhwnyz2Tv8jSmmBD5DSqCwFVXwwPGZacymM7DQpump_holder_gmgn_sol_0120_1703.csv

@@ -0,0 +1,101 @@
+Maker,Owned_per,SOL,inflow_usd,Owned_amount,Buy_counts,Sell_counts
+5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1,26.32,14.21,0,263.2,0,0
+Cet3TXGhtFcBo6vX9kfYjbtNyANbCWqwVC6G1QioKUhc,2.97,0.33609,4823.41,29.7,5,0
+APUnpSv4HDpNPfed4dPqAnz75REWYbM5vTHaTnApLe1P,2.89,19.8706,4547.88,29.2,12,0
+6Vekt69PBpCMvpR3Pv5dD3mHBm3bE5VFFp1BSfQv8v6V,2.81,0.00312,3087.68,28.1,5,0
+dR4GCDofsA6ZpBqzQpQJeob4msVspyASATbqW4sC4YM,2.8,0.76901,10.6k,28,16,0
+7m2XQP2NDebaEKDhegj7WYpZBmrKF5yhiVi1JZU8cwoj,2.42,0.16409,4168.4,49.5,2,0
+EbVyzNzNEZ2KABa6L18qxhxCJfPBXeJZKycmH7Z1oKf8,2,18.161,2825.22,20,4,0
+H3EGwFpRFWYyWPayyF94bgSXCHF9Yxk4ojyZNmY1oUvC,1.9,43.1104,2555.12,19,2,0
+4ttYJgVcZMMXFsTPBAEKVUEDUshvsXqgvfUv3W7bdv7e,1.87,0.08711,-4104.42,18.7,3,3
+9b7Zy3znakkcr9hGXsvjWnuEnSrLdMJSmrkbmtPyGYwX,1.85,29.7401,1667.82,18.5,4,0
+74F2yUFB6kQMmkW3NkXvw1uypwGTKT34PkYmvJLw31Fb,1.81,1.5403,7563.8,18.1,4,0
+H7Zp59zLC6yZKjUZF1UVXvHaLEqbKm5L2QSQ9F1ddCYV,1.67,0.00911,4978.08,16.7,16,9
+DNfuF1L62WWyW3pNakVkyGGFzVVhj4Yr52jSmdTyeBHm,1.64,909.8502,6811,16.4,1,0
+7V7BFFLNgHhrJq7Udm9Zi26Tbgvytg9GWKLdDLRzf4z6,1.54,0.16105,3047.15,15.4,3,0
+4WEJwCpdDWoQQMDT7ugqiX5VuE3KY3QeYpTTqRoKN9Ea,1.51,208.2407,9537.68,15.1,4,0
+9zBHzUmFgfH3oNN7q5KVX5gDtSgqs7N8kAKReZ3s8vjv,1.5,0.04901,7548.28,15,5,0
+14qLxu9XDQtc2pgnxX2SSdWPpnuVrEqccgwmATH1khcY,1.48,0,0,14.8,0,0
+Hh6XswyZK9WPUbb6csqi7YggDqYTstKkHFvvh7PFx7kw,1.4,1.2911,22.8k,29.3,35,0
+GPKdHRo8TJ39wWQyxJVAe4c8oQSP2vf5PcG6xzTDT7zD,1.23,0.0705,5002.13,12.3,2,0
+FHxcD173xz5PwwRLQJLz3YUdWNRQB2qSbh1umnneupym,1.2,28.5104,1223.85,12.1,1,0
+66VSSN5FiwkDXCSJ5ydNCZm8RD1DwVKXuwaeFBGJ5fKg,1.05,0.04903,3787.15,9.3,15,2
+2fnRmNSYMTuyGw58UdZTrEgb2NmjNXvyRzqU9FJG31Q6,1.02,0.25306,1640.83,10.3,2,0
+BC8yiFFQWFEKrEEj75zYsuK3ZDCfv6QEeMRif9oZZ9TW,1,0.07512,10.9k,10,1,0
+6QfdT1XZauUMCJU3SaN2d2aqdoFa4TDVNmxJig52ZGZT,0.99,0.3541,0,9.9,0,0
+6jCT7HrdVvgu1ahQEHJmYJ9nfDTY44fAUtjVSViPVjWD,0.98,0.003,0,9.8,0,0
+6xMPaDn8jZ1r68BzXAunvumU8BTG2vDbgemNkWwRd1Fo,0.92,0.1,0,9.2,0,0
+3UFHt8qqRtHM2hZaCYRGKaF1gYfePcRYZFo2CdaadfMa,0.92,96.4212,17.4k,9.2,13,0
+JD6GNPCYsrEe95dzbfvzWV548ATFBCiv1VpPTeivqtp,0.82,0.93109,4536.81,8.2,2,0
+8ZU3wLGDAzaLQiJWo1b3WkHiYovDju4kC53hJWpYJTfv,0.82,71.7803,6563.48,8.6,19,5
+3Q7bWprdJZ5JUDoy2wBAcoKzgp7mZ3ChPaR8o3SUf7EN,0.8,0.15,0,8,0,0
+E9EpirpCKqJKnUTfhpUKzDKKFzVd7Q8RjjbdRVjPxXWX,0.8,0.2,0,8,0,0
+GE5PnwZTgWw1YqVGno2QPWqie6aLjswNeGFhiF1nDg3k,0.68,0.012,0,6.8,0,0
+C1ABbnAejwYk8DPLYiiy7GBKepUVL8Ubf2Ra9jTFzZpe,0.54,1.3603,1663.69,5.4,4,0
+9wNu1SLCfouEsR4B8PCck6p15mcSgun7k5KEKDw43Cyu,0.53,0.11101,-4883.21,5.3,6,8
+3TetJRhvXYebFW65i9rh7swY7ZRpPZFifqKaPebxzWbi,0.53,0.00311,1090,5.3,11,7
+43TMSiFPiw721VP6ue58Kc4cPocFuU1qju1ok9ibDsS6,0.51,280.7101,2795.95,5.1,2,0
+4uVGAGRALyaKsftNP4mgeUhiK6ko1WwFF4zwqMoK8UmW,0.5,0.03611,-183.56,5,15,6
+3qTNSWq6o7hfb7RgSz6GzxDMNLgrjVuwKqFD2kJznuRB,0.48,10.2611,6938.91,4.8,3,0
+25mYnjJ2MXHZH6NvTTdA63JvjgRVcuiaj6MRiEQNs1Dq,0.45,15060,0,4.5,0,0
+DuDEvMussH5iKvBPaa6mSVyJY39fPQKNEPUyT5c19S2x,0.43,72.4512,5034.24,4.3,3,0
+Hk7gzrcANZpqBnYCHeBEuxFk18HLu9Tey7TrNroyPVK7,0.41,0.38312,8555.8,4.1,2,0
+A3wcLYiBQdW5Uf5TXxbvuueJYh8pfAy57cbuE5fQJBeS,0.41,86.9205,546.07,4.1,1,0
+9uYqLcEsJo4B2m8Fg5DCcArH1dHKEDuXNX9bom6FHFY8,0.4,41.601,1892.5,4.1,2,0
+64Jt1UbeW6KrQKJGXdMAW3y5GeLqYXqXSi66gaLKfaXr,0.38,20.2101,1699.3,3.8,2,0
+BwgpyGwSjd6ZQa1f9EZ978i41Y6inyTSLpA4XQENJPoc,0.37,0,119.36,3.7,15,3
+9PuTeA9nA3RVcjaz5RGcNPX5FHUgb8Drjq7CjSbVXKMm,0.36,0.61503,3164.71,3.6,17,0
+GKLhasSdB3CdCPjMsycnEy7rP5cN73jMxguEpLk1vTGq,0.36,8.0908,627.93,3.6,3,2
+3ddwpbz7aXr6ZD7ybMZcUMTm76pgeszJekSkLdS931EH,0.36,0.21112,-2349.5,3.6,5,5
+EDbfpiD1vFBfTJdkoDWznJMJuud6wuYk4AVaB64u8XPc,0.33,0.02211,0,3.3,0,0
+8NgW4LgwnTL3mHZknDF9aP9mxApsP8WK566v4Cg9Xi3t,0.3,1157.1509,5676.2,3,3,0
+CGnKC5zME8G36ftGLq1wrmQxw3SUgzVojJmVNXpidC6k,0.3,0.2231,-1695.04,3,9,9
+5NU3CMUt2wMa1WYuRdNZfAvbN9FbeXJg1GdwsufuyKq5,0.3,14.6403,1953.85,3,2,0
+EgCngTfyvirngkeqkd9o8W1X3LdQr1n1A1wXeSPHp8To,0.3,6.511,104.21,2.8,16,3
+6aLLH8jjU4gJjZKNvigTYsdmSynbX746pKCGRbmEwx2w,0.27,61.7203,5000.67,2.7,2,0
+9aRAaT9HbxtFgjsMirRQfu1CZd6x31uyJdgFqnhFvfRh,0.27,17.4211,3636.07,2.7,2,0
+GuvWvDEoCfEZ6sdHh5XLC2Xw5NYhDGPhCSKq8zDeKFiz,0.26,0.01204,1522.92,2.6,37,4
+DsGdjJ5QTXfqVcRAeieRjptEczCnqTnNRFzACiwd1qpi,0.25,1.812,1899.77,2.5,3,1
+BjacFCswdQdkJWaGkgfnoowXPtxjhnX15AHSi7A4rx76,0.25,0.01601,1580.9,2.5,7,3
+G525nGc16U7J7VBCWSYtEQVWz4KzWX3rXAiqX6yGYySk,0.24,0.13611,1170.03,2.4,7,0
+77RWuJjzTgswsgUafvhSNDAbGxHcUHQPZ3ogpvNr3eB,0.23,272.2707,-8370.41,14.2,4,12
+AWPSBJefjqfwjhKLGj7YFXn8ZTZBbGpA5LwaMBqyb64V,0.22,1.9611,1000.29,2.2,2,0
+72yFFbEHgv2rAwQLXtupYdqoMtyPiC2zMtL8Tq44rybq,0.19,57.5901,1302.83,1.9,2,0
+41vcPafWmZ8TntWHV32VQvgbbMZFG8iL28iNTeaR7H5B,0.18,0.35312,458.66,1.8,1,0
+Bf2Naz7ZohQkuAJSB6fAGrUD3mgyNxTuqY7XPdraGqv1,0.17,12.7412,207.61,1.7,1,0
+2HJkHq8FBzgCwBbkLm8PLPvkpourUV4DxjBdsYTasVqZ,0.17,0.01107,-162.71,1.7,1,1
+HsSKGwxJsDFtBC7kcitXkxgbZC5Q6C3sh1hMvp7tAMg1,0.16,0.60901,-1565.94,1.6,1,7
+2xk8cNxt89guchaqGYxUkUSkFyfa7KFKdoPQLsAAwna9,0.16,7.2911,-2340.89,1.6,1,2
+EH86DxerLp8fZA62JRujResyuN6yR7av21sxofBXYTp8,0.16,0.011,688.99,1.6,42,30
+CTTHhSXyH3aeEMtWqosbuCQnpzpGLbaxREcbRdwjKHQc,0.16,0.25112,1219.62,1.6,9,2
+H2uFapaw5xurFsJk8ADZ7yMSEV6sRX6yBQ5Ds3fvePLq,0.15,0.0107,463.7,1.5,2,0
+H4KYDBj6LYdDw4mdoVwo2nLajQ2RxrqHrHSqw1B9w8rF,0.15,7.5903,-668.83,1.5,1,1
+8FYGDPVLFWaX6nB7m3Stwybcnyyg2Qj193jUnkBWk8CB,0.15,1.4811,964.68,1.5,3,0
+AHb8EtBaMH4WiuA2srvh7UmDRMMNSgqSjYVndHyWBigv,0.15,0.00805,1303.32,1.5,6,1
+FqQDqvVEiLexfxzQqK88QP84F475MBvH6UxYB1rQCgKb,0.15,14.8711,1998.03,1.5,1,0
+4V5JVy2dje5c13FrfKpzJxjezZXZ4FaRhwskN7baKLHc,0.14,0.39611,1376.49,1.4,18,0
+6Z2PA883MWkVQNLW7xefSGGrELWAfcyHrcKUBbzzLuF3,0.14,0.0081,2483.3,1.4,4,0
+3MmqmP1gRRKGyHDtHTzGfSCDwqBThD9bTtsyJ2xnzXQ1,0.14,0.07101,664.84,1.4,7,1
+BqycKnwmGXs9im6tArnG26RPiVcMwS23k5SASej7AMYs,0.13,48.4703,665.52,1.3,1,0
+BUqPcdsH9fCvASHt7aymMbeTJaS8kC8K9yhc8AUWAHMS,0.13,111.7311,207.93,1.3,1,0
+493ZSidFDsKheTRq3RmwrS3FMtAPxmYkTZ3Ndc5TdvPG,0.13,0.02311,427.5,1.3,1,0
+B5cTo1EHq5DsAMCsFVPQBp1BrKmZKozJ3vpCYJdPdZmt,0.12,0.36602,1857.53,1.2,2,0
+5sGZJgxvqnTBf1XSck6rQUbR1rqNRodcCKBqUaPg7Efn,0.12,3.9201,461.59,1.2,6,0
+AgSoGadgUtEuo5VUQJBWu3F4SaUVSR3evLPAURU4d2Fi,0.12,52.2203,207.87,1.2,1,0
+GQiy9jXE8v4WXpuHwe489AuA6siBPCpHQQBufDS37gRr,0.12,0.24311,1016.25,2.9,8,5
+FU72cx8SLVEnC3UxurHhwf7tQHBrJsi3G3TWccUJtin5,0.12,0.11107,1291.18,1.2,2,0
+62DMQxaWgaiUuA9UqDfmq2Ry9m9oPQEq3EaiL1TDeDwf,0.12,0.19612,933.55,1.2,1,0
+G3S3FzBc13iTLzoFxv71pJhte1qPNGsqaMGj3npD46qH,0.12,84.4811,205.76,1.2,1,0
+MJ4BXAtTHDV7DSkcftiXQ1B1cdfxn1UzFCCibSweixc,0.12,5.4612,-996.59,1.2,3,4
+222ENnLAfy9LVxyZaCY87QKNurAGzZgu9a3MG4rqUF2D,0.11,0.72812,199.81,1.1,1,0
+9on3cjrrEkvVnRCJTeF6TXS3RRkVN9fFFB9VktvEUPYA,0.11,0.01201,19.93,1.1,17,14
+FxVQYq4Mc3QwaND8DnZs8fWdUWo7FCKwtRTcVkAJNidb,0.11,0.00511,-149.63,1.1,2,2
+Aynhinv3LPn8FrP5N6JUeLwR4JPwk9CRhPtGo67q3wDg,0.11,6.841,495.87,1.1,1,0
+7Bjpe1MGndMsQJDyxBfak8WKED7WsHiuYB4vXaZTvnSe,0.11,0.26,0,1.1,0,0
+FpBtuVvYGAYp6FJ3bV9yzGiJyXbvrf7rVkBRzNwMCFvv,0.11,0.56307,346.16,1.1,1,0
+BiNJu3d8uzS7XBRsEeuJBMj5Tzypdu7VhQNB7cWP97sU,0.11,3.711,97.17,1.1,1,0
+4qxXL3VVA5SqhsD88EXrQvygmB7FbEtXvKsoN8yN6AiV,0.11,1.7401,775.84,1.1,8,2
+DAzf5WMYoMqZ3zzj3CyBSBm2rBVorZePFQi9dMYLWR5H,0.1,0.01811,175.93,1.1,38,19
+A1TdMFMA9eZRpKy4y3YtFkw26HpssQUWrd31WkNsoEbG,0.1,0.26703,-1264.05,1,1,1
+9NoBkZK7JXXJuM8v9B49NdYiyjFLWyRja4mdBqnBh6D,0.1,0.00901,1255.14,1,4,1
+9RyjUMoSS2337cSGEdtiWs6zuCAgrk16Uazi1CV3Zjjj,0.1,0.37311,499.32,1,1,0

+ 101 - 0
src/library/analysis_token/5puhwnyz2Tv8jSmmBD5DSqCwFVXwwPGZacymM7DQpump/01-09 04到01-10 22 低谷/5puhwnyz2Tv8jSmmBD5DSqCwFVXwwPGZacymM7DQpump_top_gmgn_sol_0120_1527.csv

@@ -0,0 +1,101 @@
+Maker,SOL,Buy_sol,Buy_token,Sell_sol,Sell_token,Pnl_sol,Pnl_per,buy_cout,sell_cout
+HjUrUJi7zUCXu6NpXBUujYsoG5TJsXkPUrYJdWMKVtts,0.0191,41.61,26300000,108.15,23800000,70.89,190.28,18,38
+GD9Q87EY9guqAqkxgNwiqoqUKmBs958tcFEkQ8q1HD1N,0.09412,20.52,27400000,77.04,18100000,63.54,470.89,5,10
+4k22yKKbCsrq7QhCd89ZXFcxhSbGmszA92H2KhthpgKq,1,60.62,30100000,121.13,30200000,60.05,98.31,10,5
+CpVNBP8bbFvT7Yt3zwTnCaXt26XojQxduNXaMz57DGLf,0.70911,18.23,14600000,77.12,14500000,59.04,326.44,5,15
+CB3HH9v3aDZocy9npe7TyTKfDEBotBmcgPjPDF3ip4qK,8.6401,0.804,11500000,53.68,11500000,52.87,6576.36,1,12
+8Mnb87uUYXcqejP6RuUyDiX9Fd1unCA3YdM3zLGSVEPQ,1.1109,40.73,15900000,88.59,15900000,47.86,117.51,5,8
+EPS4j3XEBas8okzQCe2CeuwKf6w6aif5ED4GMj3mqv4r,1.902,38.71,21900000,84.83,21700000,46.75,122.78,13,16
+Fx3KTa8u96kpvVzHZwevrvKL1DLPxtUtmcsN8B84WbYU,0.3071,54.07,34100000,94.85,34100000,40.78,75.42,33,12
+77RWuJjzTgswsgUafvhSNDAbGxHcUHQPZ3ogpvNr3eB,272.2707,6.15,32400000,38.63,18200000,37.22,1407.3,4,12
+6b3NQ5tryoKDHjJZzxKM9QY2nkzCShNVZrQ6a7Jf9rtD,0.00702,6.44,10000000,39.85,10000000,33.41,519.16,3,2
+98oWTwQBBEyhhLMcUrgy2gta7zmVHZavQmcS8z98PDHe,1.2812,11.52,9400000,42.33,9400000,30.81,267.53,7,12
+4ttYJgVcZMMXFsTPBAEKVUEDUshvsXqgvfUv3W7bdv7e,0.08711,26.5,48000000,42.42,29300000,25.98,98.03,3,3
+A9iWPzsTrghzxoV7L37FHX3wU37nFyLJqa8TsB4gZ3T5,14.9611,22.34,10300000,51.43,10300000,29.14,130.78,3,5
+3fZcDhWXTBvNMkgzkyMmqxMizfysnvFZw5CzR7pnuxRz,51.9406,2.05,7600000,29.65,7600000,27.6,1348.94,3,7
+2y4ycSeZxinFhXJMdMqBvVybtcZrRgpPY1MgK4mJXTMR,0.13811,84.14,61400000,110.84,59900000,27.51,32.69,144,96
+FX3GNaR4AP2omDVHDyYg9LGVcjzuFweNdKVCWvxhj4yY,0.20205,7,5700000,33.34,5700000,26.4,380.6,7,5
+9wNu1SLCfouEsR4B8PCck6p15mcSgun7k5KEKDw43Cyu,0.11801,12.96,10700000,31.91,5400000,21.79,168.06,6,8
+uB2g4SvMZ6x1PbTWFTAYSish2Vf2ZLpwwTeZuxPgXM3,3,5,4300000,30.87,4300000,25.91,522.96,2,3
+C3aPHcpopWHEKq7rbjbZRJXrPNQhXsibYjefBJRSuR7T,0.04512,22.52,13100000,47.97,13100000,25.45,113.05,7,4
+BnnT9xTLa8L9DLE7zt2eGTN3cnKiHJZ632NgAXWSbZkE,11,5.31,13400000,29.18,13300000,23.89,451.62,3,3
+56tFR2VTd1BVJ8SHX5396a6uaucCE7CvQ7rs3MnzWHCY,0.04607,25.02,6600000,48.17,6600000,23.15,92.51,5,10
+5pW6xYQZxZLs67eKuurGcTVm2nHqFcDsiuxesqagoW6V,0.01104,0.826,12000000,23.59,12000000,22.77,2757.3,1,6
+HmgJG6XqV4HjDEXG47gTx8oobq6Y5W11oeYBD86N2RPR,0.0212,34.09,10000000,56.74,10000000,22.65,66.46,22,6
+EBDfZFwBoTFX8c8B6yajxyCRyAEUiNB2ee6fZLWDboL9,3.8303,12.48,7300000,35.02,7300000,22.54,180.55,2,3
+2VodKCBPCr2yo6C1bySKGWH638JbYz8A4WUdGqTWcRDr,0.00411,25.09,15300000,46.84,15300000,21.75,86.69,17,22
+5c511kvVfCGrEsLkNb6RoVqqA5BpimGHyhkE3ki4kWkX,0.00912,51.49,26900000,72.22,26900000,20.73,40.25,20,21
+9r7p8uQiwRMRqQwAGDHUQ1Lmtjt4auNTxK7TgWg75J7C,0.10112,44.61,25800000,64.56,25800000,19.95,44.73,6,6
+5ZGeZNaegfWJPzEkt6UfD6vgXoT5J8ZpNMWpyGFmLRRj,3,10.13,6800000,29.87,6800000,19.74,194.88,3,9
+DZUCA68Qs2kFoykeHX6fPjcy1udLAi8LXQp3Mw3uKzBr,0.04908,3.99,3200000,23.53,3200000,19.54,489.19,1,2
+GYzLNpTXbZtcTLp5YNogjMTjFsXsVTgz2sduMZLsYzNS,0.7601,14.81,29400000,34.28,29400000,19.47,131.4,3,2
+6uPAQZXBty7JiNruEzyrYyNFDtckoE3nhCnmPxSE4FD7,6.605,12.25,6500000,31.68,6500000,19.43,158.54,4,5
+3ddwpbz7aXr6ZD7ybMZcUMTm76pgeszJekSkLdS931EH,0.21112,20.13,8400000,29.25,4800000,11.03,54.79,5,5
+9FoyjGWMTe4rqP4EB6PRPVcSRuPX8EJ1fV4yrz4zeF9p,1.4411,3.88,4200000,22.62,4200000,18.74,483.07,1,1
+4N41X5S1GaqKQhZvqQsE7aKCpEm2xhswKTznQoxuJEmv,0.04912,7.76,11400000,25.88,11400000,18.12,233.6,2,5
+7EWYbpVMN5aGbdDGEweFPabmYXC66rvS4MKWBkJZcoNN,0.36303,21.41,8900000,39.39,8900000,18.1,85.03,4,5
+9bi8EfPV8rawqFbcLPfjS7eDqdoozntv1k4Dy4bZkm4w,5.031,1.7,8100000,19.72,8100000,18.02,1057.36,5,18
+68WLD7YzwjqBoCEVuJ3rjVbaPaAog6ATCkjUTpNqiMNF,0.2403,51.59,43100000,107.06,56500000,17.62,22.87,77,5
+4KaVawPKmG1RZCv698XD9YzRsJcFPXrEoYnZbdZmfFFq,0.03103,49.22,31300000,57.62,26600000,16.77,41.06,32,44
+9W6FGuYSs7wXKhkiVV5zH78YpzfXHqNTFxdysZQ6K4b4,0.1371,17.82,5600000,34.45,5600000,16.64,93.39,4,4
+42cyTW8WskqXcxubd7ubKkHAsdg6EYWXCSsGAox5AKbg,2.9811,1.73,25100000,17.61,25100000,15.87,915.84,2,1
+Aewfbg61nn3SrFikqTsX2c8nZM8DXVbG7jpUp1Qwg22H,18.4712,88.96,23800000,104.64,23800000,15.68,17.63,16,14
+F8pWbg5zGXnzghmAtNW9SQPQYwP1RkyzsHs6KZTBh7Dg,0.05403,26.28,16800000,41.88,16800000,15.6,59.36,19,8
+6y6bxqLCyw4ZZVpEweNC2CuqGHZg5XRzF6b1o1nH9x2K,0.02403,34.02,11900000,49.06,11900000,15.03,44.19,9,12
+ETXkmPKnSx8jPqGvvES5Ss3k9q811r7BuqPPwcKZn2pv,48.4612,17.93,14300000,32.87,14300000,14.93,83.26,3,4
+ET3VpuSMr15ufn4z9a5kwHhyLRse2H96TY2HXVKZxCJM,0.29803,6.77,11800000,21.37,11700000,14.65,218.21,3,2
+6KJUU8WRh5XuiPDfcM5JvFGdVUwB23unQygqnjzurao9,7.3604,2.35,3200000,16.68,3200000,14.33,608.83,2,3
+5PZs2fmTJpjaMhYbdAH6uEx7Jbbhy2RdAdkNnPw83H3a,0.95212,38.59,19400000,52.35,19300000,14.07,36.76,11,6
+GiZyV2zSNxaQcKKMKAeQ3odq8CHnDCKv9L1kmizpeMDW,2.8603,50.1,13300000,64.17,13300000,14.07,28.07,10,7
+CGnKC5zME8G36ftGLq1wrmQxw3SUgzVojJmVNXpidC6k,0.2231,15.78,8700000,22.36,5700000,8.2,51.98,9,9
+BpLiXKtoZNfgnw6sNJsKbQ7FLiJ2djFNiLtkYQUFMWYG,0.65201,3.98,6600000,17.55,6600000,13.57,341,4,12
+Cbd7Y83SCHYxb7EV7Q3sgknaW9hNDJJJ2LJ1JHU4bt35,214.341,28.69,13500000,42.19,13500000,13.5,47.05,1,5
+GBQUVVRLtc2moqhv2akvSdQpeafZxFqZkGSuxPHoqEj3,0.5306,4.6,4300000,16.35,3300000,12.25,266.21,4,5
+6iZcLfZ8sG44QDoUsqZqNYmS4793Y3CTWuKewoKj6qo1,2.8112,5.57,6700000,18.37,6700000,12.8,229.67,2,7
+9CGy45EhPRgyciqnKrVw5s6Zjj3sGAZyhxx4y1uzzRqz,1,3.42,3100000,16.21,3100000,12.79,374.47,1,1
+2ydwYpyTwn1NrPpRN4n6NaHHtg82G65QAN2rQxX6e9ep,0.11801,14.79,10800000,27.57,10800000,12.78,86.39,10,8
+FML97BaUTVJX15T8tCU5LUbcpvJkHQ5RcZXmV354PzRt,8.71,8,17800000,20.48,17800000,12.48,155.89,4,6
+9NNAetBQDgzcdUMjEmCLKEJ6AXKDAuJDEqNhvXgEmn4L,383.403,17.38,12000000,29.75,12000000,12.37,71.18,5,3
+CzSoBsk4TXNuFx59fFv3MDN6QiHrBZDxf1iRvPdHbfRH,4.661,1.39,19000000,12.78,19000000,11.39,818.07,1,3
+FnWM96SEJMUByem6VF8dxi3VcuLeByNTqgfCVD7etbA4,0.32111,18.91,3600000,30.18,3600000,11.27,59.61,2,2
+Z89fpRzT3iHTUM2LqgbZQ1nytzQ2xpGkwqQgbMXCjRu,0.0861,3.96,3700000,15.03,3700000,11.06,279.1,1,3
+76PzgzbbPgfH8sVrz1SfyaBbHkaq5ewa3cbfX26VzRon,0.02505,51.59,19500000,61.85,19400000,10.91,21.42,10,8
+BEKrGEkBNPKWV37nsSYLW2xfZZov68NCKRz78rPAMRFB,4.6111,4.64,3100000,15.32,3100000,10.68,230.29,6,8
+DTgBTd24Zs1eD7iaV3GXkv76cyd4mjsVLMuuiud52Sq,0.00205,69.62,18200000,79.87,18200000,10.25,14.72,17,16
+9YMfU2C9s9ok1nnLYFtYKp7FEUGQpgXq4wTbf3qxNny8,12,1.5,8700000,11.57,8400000,10.21,750.63,19,61
+7SvaRUvWRBoPTMoPWBsTotC88F6Yg1DhKJWkLXWaZc3T,0.09312,22.22,5700000,32.34,5700000,10.12,45.52,2,2
+YWzEJLhgobeRvYnqVhPRNRC36sEiB9KJWybkXdXoyyb,0.02211,25.09,7100000,35.04,7100000,9.95,39.66,30,24
+hnu5iBK8UoHb51UFsH1RYTUAYdrhjHvV5YMTf9T1CYN,21.7405,99.97,25000000,109.83,25000000,9.86,9.86,66,31
+AeqgApsq3CoopttTpohuLiXj53EauJ78ophVvy8hrfkt,0.01103,57.4,14900000,38.54,7700000,9.79,34.04,21,30
+Dsp95L7emZRPa6bxqx79EWh5HHbpjmB8ykNcu4jb9HKs,0.2721,12.53,7300000,22.25,7300000,9.72,77.61,40,12
+C67CqRX4wuPmjLFP6V6RxpYLwQCpDRw29mWtXznfHHRX,0.02811,10.47,7300000,20.12,7300000,9.66,92.23,16,9
+GfEDsLo1sRdK9TKPwy7HtfKXcbPc9GfdLhqnBsHizMSo,0.05712,2.16,1500000,11.67,1500000,9.5,439.1,4,5
+2xk8cNxt89guchaqGYxUkUSkFyfa7KFKdoPQLsAAwna9,7.2911,1.61,6500000,10.69,4900000,9.95,617.84,1,2
+4HNxSSgk1CYmNPCReexdVWAwRvB2Kf5wPgBWJ2Rjw52z,0,3.76,2500000,13.01,2500000,9.24,245.7,1,1
+GPxzFiQkDgq6ZrwsT2yttpGs2TGjr4wgpEPzqVoyxXEy,0,2.22,1800000,11.27,1800000,9.05,408.01,1,1
+2B5rHk1vDBzzNDdYshYu69NgwSB8oR18jkCGHh6U2gtc,0.10109,13.87,27100000,22.92,27100000,9.05,65.2,6,4
+EtK6zL9nxLAVddk87EDCmtk3W8kt9YusttNY8up43k4S,0.13312,7.78,5300000,16.78,5300000,9,115.57,6,7
+o9nV6wLKzFy34nqgVvBbqfwDETXAjxaVjaSR1RGdtaq,1,5.09,2400000,14.01,2400000,8.97,177.83,4,16
+B4SHENyAAxtHqugPoixhsw1szDLGYZ6Jt2qfqi9K6xv,0.08103,22.55,11900000,31.5,11900000,8.95,39.67,6,6
+EN3uG7hkyNsWNujTQbxEcCtowpurKCQj4HMNCRegM1pP,12,10.53,41400000,19.47,41400000,8.94,84.94,4,4
+CD12bvADzzmP1mcb9dLwYmR2jE7FECn5S4PLRdEqgCiL,0.00612,42.28,12600000,49.9,12400000,8.55,20.68,5,5
+9JNqDSFx8W4kJwwm6iMyxVdvLwM67TD71GjXo5Bko1mo,12.281,1.57,1500000,9.91,1500000,8.34,529.94,2,2
+3x1AGB6W9dWrrsgTE63Gsc6naxjanzNW2fwSkLkMMMuc,0.00201,6.2,1600000,14.52,1600000,8.32,134.15,3,4
+HUNLFKbfGj54BkmdW97eRoMFTUd67mfs3ppCLWFHxnmz,0.00201,6.08,6000000,14.37,6000000,8.29,136.29,1,1
+56ZHLtxCsjuxQcoRwGJawi3ho4N6HQLAWM4e7v55Tgp6,170.7711,109.37,44300000,117.64,44300000,8.26,7.56,20,22
+HsSKGwxJsDFtBC7kcitXkxgbZC5Q6C3sh1hMvp7tAMg1,0.60901,7.57,5700000,13.64,4000000,6.95,91.91,1,7
+GHUkpPtniRkys6u5joU6P41SZtnexTiNg8xLnBWE5Xtu,0.00201,7.6,5400000,15.76,5400000,8.16,107.34,1,1
+BXnhJxx3ZWTmPjkBupEQq9kTqLPqCYhjxMnx7s1NkdoT,0.74611,2.37,2600000,10.53,2600000,8.16,343.57,1,2
+61YcdY7NnufvZgi2P8AdJDD14cD26EDdHai4DFRhqd8F,0.23612,4.84,5900000,12.94,5900000,8.1,167.45,2,7
+A8xmP7EWf75rhwy3oWm2BPN9CEmUDNXrTecX7GpDrZAx,3.4712,0.786,2200000,8.69,2200000,7.91,1015.53,1,3
+9snQL2E2toyddq3mnYuSy6UFtsmLtKdhJUQN9bemEXqL,2.4611,4.69,12700000,12.41,12600000,7.77,167.39,4,6
+DiyANQnWP19XGJQC3ZTPcqSsHZr2MMMvByS4X5WCBUdv,4.1311,1.39,8400000,9.14,8400000,7.75,555.68,3,2
+BND3nxM7mZEnsrnygcFJ4P7A9JmALX4vguMD6w22vR8F,0.13603,3.1,2500000,9.71,2100000,6.8,219.1,5,5
+A1TdMFMA9eZRpKy4y3YtFkw26HpssQUWrd31WkNsoEbG,0.26703,0.805,2000000,5.71,1000000,5.45,677.48,1,1
+GKLhasSdB3CdCPjMsycnEy7rP5cN73jMxguEpLk1vTGq,8.0908,7.84,4200000,5.41,669100,-0.518,-6.6,3,2
+4bWdoGqGiXuzH5ifLYVNEs7EKU69EA7xURfE48kHqYHL,100.0112,7.69,14100000,5.61,2900000,4.01,250.04,2,1
+H4KYDBj6LYdDw4mdoVwo2nLajQ2RxrqHrHSqw1B9w8rF,6.9303,2.38,2800000,4.97,1300000,3.41,143.55,1,1
+2HJkHq8FBzgCwBbkLm8PLPvkpourUV4DxjBdsYTasVqZ,0.11907,0.805,1900000,1.44,208200,1.54,190.76,1,1
+dR4GCDofsA6ZpBqzQpQJeob4msVspyASATbqW4sC4YM,0.76901,41.25,28000000,0,0,-34.96,-35.35,16,0
+Hh6XswyZK9WPUbb6csqi7YggDqYTstKkHFvvh7PFx7kw,1.2911,88.56,29300000,0,0,-34.7,-82.14,35,0
+3UFHt8qqRtHM2hZaCYRGKaF1gYfePcRYZFo2CdaadfMa,96.4212,67.6,9200000,0,0,-62.66,-92.7,13,0

+ 101 - 0
src/library/analysis_token/5puhwnyz2Tv8jSmmBD5DSqCwFVXwwPGZacymM7DQpump/01-09 04到01-10 22 低谷/5puhwnyz2Tv8jSmmBD5DSqCwFVXwwPGZacymM7DQpump_top_gmgn_sol_0120_1702.csv

@@ -0,0 +1,101 @@
+Maker,SOL,Buy_sol,Buy_token_M,Sell_sol,Sell_token_M,Pnl_sol,Pnl_per,buy_cout,sell_cout
+HjUrUJi7zUCXu6NpXBUujYsoG5TJsXkPUrYJdWMKVtts,0.0191,39.85,26.3,103.57,23.8,67.89,190.28,18,38
+GD9Q87EY9guqAqkxgNwiqoqUKmBs958tcFEkQ8q1HD1N,0.09412,19.65,27.4,73.78,18.1,60.85,470.89,5,10
+4k22yKKbCsrq7QhCd89ZXFcxhSbGmszA92H2KhthpgKq,1,58.06,30.1,116,30.2,57.51,98.31,10,5
+CpVNBP8bbFvT7Yt3zwTnCaXt26XojQxduNXaMz57DGLf,0.70911,17.46,14.6,73.86,14.5,56.54,326.44,5,15
+CB3HH9v3aDZocy9npe7TyTKfDEBotBmcgPjPDF3ip4qK,8.6401,0.77,11.5,51.4,11.5,50.63,6576.36,1,12
+8Mnb87uUYXcqejP6RuUyDiX9Fd1unCA3YdM3zLGSVEPQ,1.1109,39,15.9,84.84,15.9,45.83,117.51,5,8
+EPS4j3XEBas8okzQCe2CeuwKf6w6aif5ED4GMj3mqv4r,0.04602,37.07,21.9,81.24,21.7,44.78,122.78,13,16
+Fx3KTa8u96kpvVzHZwevrvKL1DLPxtUtmcsN8B84WbYU,0.2951,51.78,34.1,90.83,34.1,39.05,75.42,33,12
+77RWuJjzTgswsgUafvhSNDAbGxHcUHQPZ3ogpvNr3eB,272.2707,5.89,32.4,36.99,18.2,35.62,1406.1,4,12
+6b3NQ5tryoKDHjJZzxKM9QY2nkzCShNVZrQ6a7Jf9rtD,0.0102,6.16,10,38.16,10,32,519.16,3,2
+98oWTwQBBEyhhLMcUrgy2gta7zmVHZavQmcS8z98PDHe,0.10712,11.03,9.4,40.54,9.4,29.51,267.53,7,12
+4ttYJgVcZMMXFsTPBAEKVUEDUshvsXqgvfUv3W7bdv7e,0.08711,25.38,48,40.63,29.3,24.63,97.06,3,3
+A9iWPzsTrghzxoV7L37FHX3wU37nFyLJqa8TsB4gZ3T5,14.9611,21.39,10.3,49.25,10.3,27.91,130.78,3,5
+3fZcDhWXTBvNMkgzkyMmqxMizfysnvFZw5CzR7pnuxRz,51.9406,1.96,7.6,28.4,7.6,26.44,1348.94,3,7
+2y4ycSeZxinFhXJMdMqBvVybtcZrRgpPY1MgK4mJXTMR,6.7411,80.58,61.4,106.89,61.4,26.31,32.65,144,97
+FX3GNaR4AP2omDVHDyYg9LGVcjzuFweNdKVCWvxhj4yY,0.20205,6.7,5.7,31.93,5.7,25.29,380.6,7,5
+9wNu1SLCfouEsR4B8PCck6p15mcSgun7k5KEKDw43Cyu,0.11101,12.41,10.7,30.56,5.4,20.79,167.5,6,8
+uB2g4SvMZ6x1PbTWFTAYSish2Vf2ZLpwwTeZuxPgXM3,3,4.79,4.3,29.56,4.3,24.81,522.96,2,3
+C3aPHcpopWHEKq7rbjbZRJXrPNQhXsibYjefBJRSuR7T,0.06612,21.56,13.1,45.94,13.1,24.38,113.05,7,4
+BnnT9xTLa8L9DLE7zt2eGTN3cnKiHJZ632NgAXWSbZkE,11,5.08,13.4,27.95,13.3,22.88,451.62,3,3
+56tFR2VTd1BVJ8SHX5396a6uaucCE7CvQ7rs3MnzWHCY,0.04607,23.96,6.6,46.13,6.6,22.17,92.51,5,10
+5pW6xYQZxZLs67eKuurGcTVm2nHqFcDsiuxesqagoW6V,0.01104,0.791,12,22.6,12,21.8,2757.3,1,6
+HmgJG6XqV4HjDEXG47gTx8oobq6Y5W11oeYBD86N2RPR,0.0212,32.64,10,54.34,10,21.69,66.46,22,6
+EBDfZFwBoTFX8c8B6yajxyCRyAEUiNB2ee6fZLWDboL9,3.8303,11.96,7.3,33.54,7.3,21.59,180.55,2,3
+2VodKCBPCr2yo6C1bySKGWH638JbYz8A4WUdGqTWcRDr,0.00411,24.03,15.3,44.86,15.3,20.83,86.69,17,22
+5c511kvVfCGrEsLkNb6RoVqqA5BpimGHyhkE3ki4kWkX,0.00912,49.31,26.9,69.16,26.9,19.85,40.25,20,21
+9r7p8uQiwRMRqQwAGDHUQ1Lmtjt4auNTxK7TgWg75J7C,0.10112,42.72,25.8,61.83,25.8,19.11,44.73,6,6
+5ZGeZNaegfWJPzEkt6UfD6vgXoT5J8ZpNMWpyGFmLRRj,3,9.7,6.8,28.61,6.8,18.9,194.88,3,9
+DZUCA68Qs2kFoykeHX6fPjcy1udLAi8LXQp3Mw3uKzBr,0.04908,3.82,3.2,22.53,3.2,18.71,489.19,1,2
+GYzLNpTXbZtcTLp5YNogjMTjFsXsVTgz2sduMZLsYzNS,0.75401,14.19,29.4,32.83,29.4,18.64,131.4,3,2
+6uPAQZXBty7JiNruEzyrYyNFDtckoE3nhCnmPxSE4FD7,6.605,11.73,6.5,30.34,6.5,18.6,158.54,4,5
+3ddwpbz7aXr6ZD7ybMZcUMTm76pgeszJekSkLdS931EH,0.21112,19.28,8.4,28.01,4.8,10.52,54.55,5,5
+9FoyjGWMTe4rqP4EB6PRPVcSRuPX8EJ1fV4yrz4zeF9p,1.4411,3.72,4.2,21.67,4.2,17.95,483.07,1,1
+4N41X5S1GaqKQhZvqQsE7aKCpEm2xhswKTznQoxuJEmv,0.04912,7.43,11.4,24.78,11.4,17.35,233.6,2,5
+7EWYbpVMN5aGbdDGEweFPabmYXC66rvS4MKWBkJZcoNN,0.36303,20.5,8.9,37.72,8.9,17.33,85.03,4,5
+9bi8EfPV8rawqFbcLPfjS7eDqdoozntv1k4Dy4bZkm4w,5.031,1.63,8.1,18.89,8.1,17.26,1057.36,5,18
+68WLD7YzwjqBoCEVuJ3rjVbaPaAog6ATCkjUTpNqiMNF,0.2403,49.41,43.1,102.53,56.5,16.88,22.87,77,5
+4KaVawPKmG1RZCv698XD9YzRsJcFPXrEoYnZbdZmfFFq,22.0203,47.13,31.3,55.18,26.6,16.06,41.06,32,44
+9W6FGuYSs7wXKhkiVV5zH78YpzfXHqNTFxdysZQ6K4b4,1.991,17.06,5.6,33,5.6,15.93,93.39,4,4
+42cyTW8WskqXcxubd7ubKkHAsdg6EYWXCSsGAox5AKbg,2.9811,1.66,25.1,16.86,25.1,15.2,915.84,2,1
+Aewfbg61nn3SrFikqTsX2c8nZM8DXVbG7jpUp1Qwg22H,18.4712,85.19,23.8,100.21,23.8,15.02,17.63,16,14
+F8pWbg5zGXnzghmAtNW9SQPQYwP1RkyzsHs6KZTBh7Dg,0.05403,25.17,16.8,40.11,16.8,14.94,59.36,19,8
+6y6bxqLCyw4ZZVpEweNC2CuqGHZg5XRzF6b1o1nH9x2K,2.3203,32.58,11.9,46.98,11.9,14.4,44.19,9,12
+ETXkmPKnSx8jPqGvvES5Ss3k9q811r7BuqPPwcKZn2pv,62.0612,17.17,14.3,31.47,14.3,14.3,83.26,3,4
+ET3VpuSMr15ufn4z9a5kwHhyLRse2H96TY2HXVKZxCJM,0.27803,6.48,11.8,20.47,11.7,14.03,218.21,3,2
+6KJUU8WRh5XuiPDfcM5JvFGdVUwB23unQygqnjzurao9,7.3604,2.25,3.2,15.97,3.2,13.72,608.83,2,3
+5PZs2fmTJpjaMhYbdAH6uEx7Jbbhy2RdAdkNnPw83H3a,0.75212,36.95,19.4,50.14,19.3,13.48,36.76,11,6
+GiZyV2zSNxaQcKKMKAeQ3odq8CHnDCKv9L1kmizpeMDW,2.8603,47.98,13.3,61.45,13.3,13.47,28.07,10,7
+CGnKC5zME8G36ftGLq1wrmQxw3SUgzVojJmVNXpidC6k,0.2231,15.11,8.7,21.41,5.7,7.81,51.71,9,9
+BpLiXKtoZNfgnw6sNJsKbQ7FLiJ2djFNiLtkYQUFMWYG,0.97901,3.81,6.6,16.81,6.6,13,341,4,12
+Cbd7Y83SCHYxb7EV7Q3sgknaW9hNDJJJ2LJ1JHU4bt35,214.341,27.47,13.5,40.4,13.5,12.93,47.05,1,5
+GBQUVVRLtc2moqhv2akvSdQpeafZxFqZkGSuxPHoqEj3,0.5306,4.41,4.3,15.66,3.3,11.72,265.93,4,5
+6iZcLfZ8sG44QDoUsqZqNYmS4793Y3CTWuKewoKj6qo1,2.8112,5.34,6.7,17.59,6.7,12.26,229.67,2,7
+9CGy45EhPRgyciqnKrVw5s6Zjj3sGAZyhxx4y1uzzRqz,1,3.27,3.1,15.52,3.1,12.25,374.47,1,1
+2ydwYpyTwn1NrPpRN4n6NaHHtg82G65QAN2rQxX6e9ep,0.14701,14.16,10.8,26.4,10.8,12.24,86.39,10,8
+FML97BaUTVJX15T8tCU5LUbcpvJkHQ5RcZXmV354PzRt,6.981,7.66,17.8,19.61,17.8,11.95,155.89,4,6
+9NNAetBQDgzcdUMjEmCLKEJ6AXKDAuJDEqNhvXgEmn4L,83.3803,16.64,12,28.49,12,11.85,71.18,5,3
+CzSoBsk4TXNuFx59fFv3MDN6QiHrBZDxf1iRvPdHbfRH,4.661,1.33,19,12.24,19,10.91,818.07,1,3
+FnWM96SEJMUByem6VF8dxi3VcuLeByNTqgfCVD7etbA4,75.5611,18.11,3.6,28.9,3.6,10.79,59.61,2,2
+Z89fpRzT3iHTUM2LqgbZQ1nytzQ2xpGkwqQgbMXCjRu,0.0861,3.8,3.7,14.39,3.7,10.59,279.1,1,3
+76PzgzbbPgfH8sVrz1SfyaBbHkaq5ewa3cbfX26VzRon,0.02505,49.41,19.5,59.24,19.4,10.45,21.42,10,8
+BEKrGEkBNPKWV37nsSYLW2xfZZov68NCKRz78rPAMRFB,4.6111,4.44,3.1,14.67,3.1,10.23,230.29,6,8
+DTgBTd24Zs1eD7iaV3GXkv76cyd4mjsVLMuuiud52Sq,0.00205,66.68,18.2,76.49,18.2,9.81,14.72,17,16
+9YMfU2C9s9ok1nnLYFtYKp7FEUGQpgXq4wTbf3qxNny8,12,1.43,8.7,11.08,8.4,9.78,750.63,19,61
+7SvaRUvWRBoPTMoPWBsTotC88F6Yg1DhKJWkLXWaZc3T,0.09312,21.28,5.7,30.97,5.7,9.69,45.52,2,2
+YWzEJLhgobeRvYnqVhPRNRC36sEiB9KJWybkXdXoyyb,0.02211,24.03,7.1,33.56,7.1,9.53,39.66,30,24
+hnu5iBK8UoHb51UFsH1RYTUAYdrhjHvV5YMTf9T1CYN,14.0505,95.74,25,105.19,25,9.44,9.86,66,31
+AeqgApsq3CoopttTpohuLiXj53EauJ78ophVvy8hrfkt,0.01103,54.97,14.9,36.91,7.7,9.37,34.04,21,30
+Dsp95L7emZRPa6bxqx79EWh5HHbpjmB8ykNcu4jb9HKs,0.2471,12,7.3,21.31,7.3,9.31,77.61,40,12
+C67CqRX4wuPmjLFP6V6RxpYLwQCpDRw29mWtXznfHHRX,0.02811,10.03,7.3,19.27,7.3,9.25,92.23,16,9
+GfEDsLo1sRdK9TKPwy7HtfKXcbPc9GfdLhqnBsHizMSo,0.05712,2.07,1.5,11.18,1.5,9.1,439.1,4,5
+2xk8cNxt89guchaqGYxUkUSkFyfa7KFKdoPQLsAAwna9,7.2911,1.54,6.5,10.24,4.9,9.51,616.45,1,2
+4HNxSSgk1CYmNPCReexdVWAwRvB2Kf5wPgBWJ2Rjw52z,0,3.6,2.5,12.46,2.5,8.85,245.7,1,1
+GPxzFiQkDgq6ZrwsT2yttpGs2TGjr4wgpEPzqVoyxXEy,0,2.12,1.8,10.79,1.8,8.67,408.01,1,1
+2B5rHk1vDBzzNDdYshYu69NgwSB8oR18jkCGHh6U2gtc,0.10109,13.29,27.1,21.95,27.1,8.66,65.2,6,4
+EtK6zL9nxLAVddk87EDCmtk3W8kt9YusttNY8up43k4S,0.13312,7.45,5.3,16.07,5.3,8.61,115.57,6,7
+o9nV6wLKzFy34nqgVvBbqfwDETXAjxaVjaSR1RGdtaq,1,4.88,2.4,13.42,2.4,8.59,177.83,4,16
+B4SHENyAAxtHqugPoixhsw1szDLGYZ6Jt2qfqi9K6xv,0.08103,21.6,11.9,30.16,11.9,8.57,39.67,6,6
+EN3uG7hkyNsWNujTQbxEcCtowpurKCQj4HMNCRegM1pP,12,10.08,41.4,18.64,41.4,8.56,84.94,4,4
+CD12bvADzzmP1mcb9dLwYmR2jE7FECn5S4PLRdEqgCiL,0.00612,40.49,12.6,47.78,12.4,8.19,20.68,5,5
+9JNqDSFx8W4kJwwm6iMyxVdvLwM67TD71GjXo5Bko1mo,12.281,1.51,1.5,9.49,1.5,7.98,529.94,2,2
+3x1AGB6W9dWrrsgTE63Gsc6naxjanzNW2fwSkLkMMMuc,0.00201,5.94,1.6,13.91,1.6,7.97,134.15,3,4
+HUNLFKbfGj54BkmdW97eRoMFTUd67mfs3ppCLWFHxnmz,0.00201,5.83,6,13.76,6,7.94,136.29,1,1
+56ZHLtxCsjuxQcoRwGJawi3ho4N6HQLAWM4e7v55Tgp6,139.111,104.75,44.3,112.66,44.3,7.91,7.56,20,22
+HsSKGwxJsDFtBC7kcitXkxgbZC5Q6C3sh1hMvp7tAMg1,0.60901,7.25,5.7,13.06,4,6.64,91.61,1,7
+GHUkpPtniRkys6u5joU6P41SZtnexTiNg8xLnBWE5Xtu,0.00201,7.28,5.4,15.09,5.4,7.81,107.34,1,1
+BXnhJxx3ZWTmPjkBupEQq9kTqLPqCYhjxMnx7s1NkdoT,0.74611,2.27,2.6,10.08,2.6,7.81,343.57,1,2
+61YcdY7NnufvZgi2P8AdJDD14cD26EDdHai4DFRhqd8F,0.23612,4.65,5.9,12.43,5.9,7.78,167.45,2,7
+A8xmP7EWf75rhwy3oWm2BPN9CEmUDNXrTecX7GpDrZAx,3.4712,0.754,2.2,8.34,2.2,7.59,1015.53,1,3
+9snQL2E2toyddq3mnYuSy6UFtsmLtKdhJUQN9bemEXqL,2.4411,4.5,12.7,11.92,12.6,7.46,167.39,4,6
+DiyANQnWP19XGJQC3ZTPcqSsHZr2MMMvByS4X5WCBUdv,4.1311,1.34,8.4,8.77,8.4,7.44,555.68,3,2
+BND3nxM7mZEnsrnygcFJ4P7A9JmALX4vguMD6w22vR8F,0.09503,2.98,2.5,9.32,2.1,6.52,218.94,5,5
+A1TdMFMA9eZRpKy4y3YtFkw26HpssQUWrd31WkNsoEbG,0.26703,0.773,2,5.48,1,5.22,675.73,1,1
+GKLhasSdB3CdCPjMsycnEy7rP5cN73jMxguEpLk1vTGq,8.0908,7.53,4.2,5.19,0.6691,-0.544,-7.23,3,2
+4bWdoGqGiXuzH5ifLYVNEs7EKU69EA7xURfE48kHqYHL,100.0112,7.39,14.1,5.38,2.9,3.85,250.04,2,1
+H4KYDBj6LYdDw4mdoVwo2nLajQ2RxrqHrHSqw1B9w8rF,7.5903,2.28,2.8,4.77,1.3,3.26,142.67,1,1
+2HJkHq8FBzgCwBbkLm8PLPvkpourUV4DxjBdsYTasVqZ,0.01107,0.773,1.9,1.38,0.2082,1.45,187.87,1,1
+dR4GCDofsA6ZpBqzQpQJeob4msVspyASATbqW4sC4YM,0.76901,39.6,28,0,0,-33.71,-35.52,16,0
+Hh6XswyZK9WPUbb6csqi7YggDqYTstKkHFvvh7PFx7kw,1.2911,85.02,29.3,0,0,-33.5,-82.6,35,0
+3UFHt8qqRtHM2hZaCYRGKaF1gYfePcRYZFo2CdaadfMa,96.4212,64.89,9.2,0,0,-60.28,-92.89,13,0

BIN
src/library/analysis_token/5puhwnyz2Tv8jSmmBD5DSqCwFVXwwPGZacymM7DQpump/01-09 04到01-10 22 低谷/dune_ana_total.xlsx