瀏覽代碼

(running)

windowdog 5 月之前
父節點
當前提交
fb3fb6da2d
共有 20 個文件被更改,包括 128 次插入48 次删除
  1. 2 3
      src/code/001_merge_newpair.py
  2. 3 3
      src/code/002_02_filter_dalao_tran_dexscreener.py
  3. 3 3
      src/code/002_02_othermethod_get_gongtong_dalao.py
  4. 3 3
      src/code/002_02_zzz_01_get_onetokenprofit_dalao.py
  5. 3 3
      src/code/002_02_zzz_02_get_dalao_solscan.py
  6. 3 3
      src/code/002_06_filter_replation_dalao_tran_dexscreener.py
  7. 3 3
      src/code/2001_add_merge_defined.py
  8. 3 3
      src/code/2003_check_dalao_tokens_ispump.py
  9. 3 3
      src/code/3002_hanle_dalao_ori_pnl_gmgn_consider_0profit.py
  10. 4 5
      src/code/3003_analysis_dalao_pnl_gmgn_consider_0profit.py
  11. 16 16
      src/code/4000_getATA_for_analysisToken.py
  12. 57 0
      src/code/4001_get_solscan_url.py
  13. 3 0
      src/code/base_class.py
  14. 二進制
      src/library/analysis_token/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump_holder_gmgn_sol.xlsx
  15. 二進制
      src/library/analysis_token/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump_top_gmgn_sol.xlsx
  16. 二進制
      src/library/analysis_token/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/A4nTzSw1oZKK846zGv8diWw6dGXqnGPJwbxyJ85WM4Sg.docx
  17. 二進制
      src/library/analysis_token/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/DvkSvYX2PvUQiAX54Rar6ZjnxrCCAF4y3jMHy1tJkmx.docx
  18. 二進制
      src/library/analysis_token/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/J2ijoouRw5qgqiGkcKYVYBcB3RdxxiKJzr2PV3eCJFbr.docx
  19. 12 0
      src/library/对应关系.js
  20. 10 0
      src/library/思路.md

+ 2 - 3
src/code/001_merge_newpair.py

@@ -14,9 +14,8 @@ df = baseclass.readcsvfiles_2df(baseclass.newpair_from_dexscreener_path)
  
 
 def makescreenurl( urlname,urlparam):
-    # pairAddress = series[address_str]
-    urlname = urlname + urlparam
-    return '=HYPERLINK("{}","{}")'.format(urlname, urlname)
+    _url = urlname + urlparam
+    return '=HYPERLINK("{}","{}")'.format(_url, _url)
 
 
 

+ 3 - 3
src/code/002_02_filter_dalao_tran_dexscreener.py

@@ -22,9 +22,9 @@ print('\n'*5)
 print(f"{'{:<6}'.format('ENTER')} {baseclass.scriptfilename} ----------------NOTE-----------NOTE---------------")
 
 def makescreenurl( urlname,urlparam):
-    # pairAddress = series[address_str]
-    urlname = urlname + urlparam
-    return '=HYPERLINK("{}","{}")'.format(urlname, urlname)
+    _url = urlname + urlparam
+    return '=HYPERLINK("{}","{}")'.format(_url, _url)
+
 
 def get_fir_swap_info(gdf):
     # 未来使用

+ 3 - 3
src/code/002_02_othermethod_get_gongtong_dalao.py

@@ -22,9 +22,9 @@ print('\n'*5)
 print(f"{'{:<6}'.format('ENTER')} {baseclass.scriptfilename} ----------------NOTE-----------NOTE---------------")
 
 def makescreenurl( urlname,urlparam):
-    # pairAddress = series[address_str]
-    urlname = urlname + urlparam
-    return '=HYPERLINK("{}","{}")'.format(urlname, urlname)
+    _url = urlname + urlparam
+    return '=HYPERLINK("{}","{}")'.format(_url, _url)
+
 
 buytoken_df_file_list = [f for f in os.listdir(
     baseclass.dalao_merge_path) if f.startswith("buytoken_df_") ]

+ 3 - 3
src/code/002_02_zzz_01_get_onetokenprofit_dalao.py

@@ -22,9 +22,9 @@ print('\n'*5)
 print(f"{'{:<6}'.format('ENTER')} {baseclass.scriptfilename} ----------------NOTE-----------NOTE---------------")
 
 def makescreenurl( urlname,urlparam):
-    # pairAddress = series[address_str]
-    urlname = urlname + urlparam
-    return '=HYPERLINK("{}","{}")'.format(urlname, urlname)
+    _url = urlname + urlparam
+    return '=HYPERLINK("{}","{}")'.format(_url, _url)
+
 
 buytoken_df_file_list = [f for f in os.listdir(
     baseclass.dalao_merge_path) if f.startswith("buytoken_df_") ]

+ 3 - 3
src/code/002_02_zzz_02_get_dalao_solscan.py

@@ -22,9 +22,9 @@ print('\n'*5)
 print(f"{'{:<6}'.format('ENTER')} {baseclass.scriptfilename} ----------------NOTE-----------NOTE---------------")
 
 def makescreenurl( urlname,urlparam):
-    # pairAddress = series[address_str]
-    urlname = urlname + urlparam
-    return '=HYPERLINK("{}","{}")'.format(urlname, urlname)
+    _url = urlname + urlparam
+    return '=HYPERLINK("{}","{}")'.format(_url, _url)
+
 
 
 

+ 3 - 3
src/code/002_06_filter_replation_dalao_tran_dexscreener.py

@@ -21,9 +21,9 @@ print('\n'*5)
 print(f"{'{:<6}'.format('ENTER')} {baseclass.scriptfilename} ----------------NOTE-----------NOTE---------------")
 
 def makescreenurl( urlname,urlparam):
-    # pairAddress = series[address_str]
-    urlname = urlname + urlparam
-    return '=HYPERLINK("{}","{}")'.format(urlname, urlname)
+    _url = urlname + urlparam
+    return '=HYPERLINK("{}","{}")'.format(_url, _url)
+
 
 def get_fir_swap_info(gdf):
     # 未来使用

+ 3 - 3
src/code/2001_add_merge_defined.py

@@ -26,9 +26,9 @@ print('\n'*5)
 print(f"{'{:<6}'.format('ENTER')} {baseclass.scriptfilename} ----------------NOTE-----------NOTE---------------")
 
 def makescreenurl( urlname,urlparam):
-    # pairAddress = series[address_str]
-    urlname = urlname + urlparam
-    return '=HYPERLINK("{}","{}")'.format(urlname, urlname)
+    _url = urlname + urlparam
+    return '=HYPERLINK("{}","{}")'.format(_url, _url)
+
  
         
 import re

+ 3 - 3
src/code/2003_check_dalao_tokens_ispump.py

@@ -20,9 +20,9 @@ print('\n'*5)
 print(f"{'{:<6}'.format('enter')}  ----------------NOTE-----------NOTE---------------")
 
 def makescreenurl( urlname,urlparam):
-    # pairAddress = series[address_str]
-    urlname = urlname + urlparam
-    return '=HYPERLINK("{}","{}")'.format(urlname, urlname)
+    _url = urlname + urlparam
+    return '=HYPERLINK("{}","{}")'.format(_url, _url)
+
 
 def check_ispump(arr_str_dalaoaddress):
         for str_dalaoaddress in arr_str_dalaoaddress:

+ 3 - 3
src/code/3002_hanle_dalao_ori_pnl_gmgn_consider_0profit.py

@@ -20,9 +20,9 @@ print('\n'*5)
 print(f"{'{:<6}'.format('enter')}  ----------------NOTE-----------NOTE---------------")
 
 def makescreenurl( urlname,urlparam):
-    # pairAddress = series[address_str]
-    urlname = urlname + urlparam
-    return '=HYPERLINK("{}","{}")'.format(urlname, urlname)
+    _url = urlname + urlparam
+    return '=HYPERLINK("{}","{}")'.format(_url, _url)
+
 
 # weth 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
 # USDT 0xdac17f958d2ee523a2206206994597c13d831ec7

+ 4 - 5
src/code/3003_analysis_dalao_pnl_gmgn_consider_0profit.py

@@ -10,10 +10,7 @@ def timestamped_print(*args, **kwargs):
     old_print(datetime.datetime.utcnow().replace(
         microsecond=0), *args, **kwargs)
 
-def makescreenurl( urlname,urlparam):
-    # pairAddress = series[address_str]
-    urlname = urlname + urlparam
-    return '=HYPERLINK("{}","{}")'.format(urlname, urlname)
+ 
 
 print = timestamped_print
 print('\n'*5)
@@ -22,8 +19,10 @@ print(f"{'{:<6}'.format('enter')}  ----------------NOTE-----------NOTE----------
 baseclass.makedirpath(  baseclass.dalao_pnl_gmgn_path)
 baseclass.makedirpath(baseclass.dalao_total_ana_gmgn_path)
 
+def makescreenurl( urlname,urlparam):
+    _url = urlname + urlparam
+    return '=HYPERLINK("{}","{}")'.format(_url, _url)
 
- 
 def get_ana_data_lastdays( df,    intervaldays=30):
     if len(df) == 0:
         return 0, 0, 0, 0, 0, 0, 0, 0, 0 

+ 16 - 16
src/code/40000_getATA_for_analysisToken.py → src/code/4000_getATA_for_analysisToken.py

@@ -10,19 +10,31 @@ def timestamped_print(*args, **kwargs):
     old_print(datetime.datetime.utcnow().replace(
         microsecond=0), *args, **kwargs)
 
-def makescreenurl( urlname,urlparam):
-    # pairAddress = series[address_str]
-    urlname = urlname + urlparam
-    return '=HYPERLINK("{}","{}")'.format(urlname, urlname)
+ 
 
 print = timestamped_print
 print('\n'*5)
 print(f"{'{:<6}'.format('enter')}  ----------------NOTE-----------NOTE---------------")
  
 
+def makescreenurl( urlname,urlparam):
+    _url = urlname + urlparam
+    return '=HYPERLINK("{}","{}")'.format(_url, _url)
 
 url = "https://solana-mainnet.g.alchemy.com/v2/pxF-cEkEE1JxzxgotGyww5ra5w1IvAkJ"
 
+
+payload_getTokenAccountsByOwner = {
+  
+}
+headers = {
+    "accept": "application/json",
+    "content-type": "application/json"
+}
+
+ 
+    
+
 def init_payload():
     
     global payload_getTokenAccountsByOwner
@@ -44,18 +56,6 @@ def init_payload():
     return
 
 
-payload_getTokenAccountsByOwner = {
-  
-}
-headers = {
-    "accept": "application/json",
-    "content-type": "application/json"
-}
-
- 
-    
-
-
 
 
 def get_dalao_ata():

+ 57 - 0
src/code/4001_get_solscan_url.py

@@ -0,0 +1,57 @@
+
+from base_class import BaseVariableFunction
+from base_class import *
+baseclass = BaseVariableFunction(__file__)
+
+old_print = print
+ 
+
+def timestamped_print(*args, **kwargs):
+    old_print(datetime.datetime.utcnow().replace(
+        microsecond=0), *args, **kwargs)
+
+ 
+
+print = timestamped_print
+print('\n'*5)
+print(f"{'{:<6}'.format('enter')}  ----------------NOTE-----------NOTE---------------")
+ 
+# def makescreenurl( urlname,urlparam):
+#     _url = urlname + urlparam
+#     return '=HYPERLINK("{}","{}")'.format(_url, _url)
+
+
+def get_solscan_url():
+    global str_tokenaddress
+    
+
+    if (baseclass.analysis_token_path /str_tokenaddress/
+                       f"{str_tokenaddress}_top_gmgn_sol.xlsx").exists():
+        df_top_gmgn_sol = pd.read_excel(baseclass.analysis_token_path /str_tokenaddress/
+                       f"{str_tokenaddress}_top_gmgn_sol.xlsx", dtype=object)
+        # if "ATA_solscan_url" not in df_top_gmgn_sol.columns:
+        df_top_gmgn_sol['ATA_solscan_url'] = df_top_gmgn_sol.apply(lambda ser: baseclass.makescreenurl(
+                "https://solscan.io/account/" ,ser["ATA"]), axis=1)
+        df_top_gmgn_sol.to_excel(baseclass.analysis_token_path /str_tokenaddress/
+                        f"{str_tokenaddress}_top_gmgn_sol.xlsx",  index=False)
+                
+    
+        
+    if (baseclass.analysis_token_path /str_tokenaddress/
+                       f"{str_tokenaddress}_holder_gmgn_sol.xlsx").exists():
+        df_holder_gmgn_sol = pd.read_excel(baseclass.analysis_token_path /str_tokenaddress /
+                       f"{str_tokenaddress}_holder_gmgn_sol.xlsx", dtype=object)
+        # if "ATA_solscan_url" not in df_holder_gmgn_sol.columns:
+        df_holder_gmgn_sol['ATA_solscan_url'] = df_holder_gmgn_sol.apply(lambda ser: baseclass.makescreenurl(
+                "https://solscan.io/account/" ,ser["ATA"]), axis=1)
+        df_holder_gmgn_sol.to_excel(baseclass.analysis_token_path /str_tokenaddress /
+                        f"{str_tokenaddress}_holder_gmgn_sol.xlsx", index=False)
+                
+
+    return
+
+str_tokenaddress = "4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump"
+ 
+get_solscan_url()
+print(f"{'{:<6}'.format('END')} {baseclass.scriptfilename} ----------------NOTE-----------NOTE---------------")
+

+ 3 - 0
src/code/base_class.py

@@ -377,3 +377,6 @@ class BaseVariableFunction:
         ]
         header = {"user-agent": random.choice(user_agents)}
         return header
+    def makescreenurl( self,urlname,urlparam):
+        _url = urlname + urlparam
+        return '=HYPERLINK("{}","{}")'.format(_url, "url_"+urlparam)

二進制
src/library/analysis_token/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump_holder_gmgn_sol.xlsx


二進制
src/library/analysis_token/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump_top_gmgn_sol.xlsx


二進制
src/library/analysis_token/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/A4nTzSw1oZKK846zGv8diWw6dGXqnGPJwbxyJ85WM4Sg.docx


二進制
src/library/analysis_token/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/DvkSvYX2PvUQiAX54Rar6ZjnxrCCAF4y3jMHy1tJkmx.docx


二進制
src/library/analysis_token/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/J2ijoouRw5qgqiGkcKYVYBcB3RdxxiKJzr2PV3eCJFbr.docx


+ 12 - 0
src/library/对应关系.js

@@ -0,0 +1,12 @@
+
+dalao_2_dalao={
+
+    "A4nTzSw1oZKK846zGv8diWw6dGXqnGPJwbxyJ85WM4Sg":{
+
+
+        "beizhu":"巨鲸",
+        "DvkSvYX2PvUQiAX54Rar6ZjnxrCCAF4y3jMHy1tJkmx":{
+            
+        }
+    }
+}

+ 10 - 0
src/library/思路.md

@@ -0,0 +1,10 @@
+
+
+2024.10.24
+
+获取了 前100的holder 与 top trader 
+两者会有一定的重合
+
+先分析 holder 中 没有buy的 那一定是其他dalao transfer的 
+对于dexscreener 除了 holder 还可以看top trader 没有buy的 
+