2003_check_dalao_tokens_ispump.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. from base_class import BaseVariableFunction
  2. from base_class import *
  3. baseclass = BaseVariableFunction(__file__)
  4. baseclass.makedirpath(baseclass.dalao_ori_pnl_gmgn_path)
  5. old_print = print
  6. def timestamped_print(*args, **kwargs):
  7. old_print(datetime.datetime.utcnow().replace(
  8. microsecond=0), *args, **kwargs)
  9. print = timestamped_print
  10. print('\n'*5)
  11. print(f"{'{:<6}'.format('enter')} ----------------NOTE-----------NOTE---------------")
  12. def makescreenurl( urlname,urlparam):
  13. _url = urlname + urlparam
  14. return '=HYPERLINK("{}","{}")'.format(_url, _url)
  15. def check_ispump(arr_str_dalaoaddress):
  16. for str_dalaoaddress in arr_str_dalaoaddress:
  17. if not (baseclass.dalao_ori_pnl_gmgn_path / f"ori_gmgn_pnl_{str_dalaoaddress}.csv").exists():
  18. continue
  19. print(f"check_ispump str_dalaoaddress= {str_dalaoaddress}")
  20. dalao_df = pd.read_csv(baseclass.dalao_ori_pnl_gmgn_path /
  21. f"ori_gmgn_pnl_{str_dalaoaddress }.csv", dtype= object)
  22. dalao_df['30d_txns_buy'] = dalao_df['30d_txns_buy'].str.replace("K", '000', regex=True)
  23. dalao_df['30d_txns_sell'] = dalao_df['30d_txns_sell'].str.replace("K", '000', regex=True)
  24. dalao_df['30d_txns_buy'] = dalao_df['30d_txns_buy'].str.replace(r'[,\.]', '', regex=True)
  25. dalao_df['30d_txns_sell'] = dalao_df['30d_txns_sell'].str.replace(r'[,\.]', '', regex=True)
  26. dalao_df =dalao_df.astype({
  27. "buy_sol":float,
  28. "profit_sol":float,
  29. "30d_txns_buy":int,
  30. "30d_txns_sell":int,
  31. })
  32. dalao_df["profit_percent"] = dalao_df["profit_sol"] / dalao_df["buy_sol"]
  33. dalao_df["profit_percent"] = dalao_df["profit_percent"].round(2)
  34. dalao_df["ispump"] = 0
  35. dalao_df["isnengen"] = -1
  36. dalao_df["beizhu"] = -1
  37. dalao_df["dexurl"] = dalao_df.apply(lambda ser: makescreenurl( f"https://dexscreener.com/solana/",f"{ser['tokenaddress']}?maker={str_dalaoaddress}") , axis=1)
  38. dalao_df["definedurl"] = dalao_df.apply(lambda ser: makescreenurl("https://www.defined.fi/sol/" ,ser['tokenaddress'] ) , axis=1)
  39. pump_mask = dalao_df['tokenaddress'].str.endswith('pump')
  40. dalao_df.loc[pump_mask,"ispump"] =1
  41. dalao_df.to_excel(baseclass.dalao_ori_pnl_gmgn_path /
  42. f"ori_gmgn_pnl_{str_dalaoaddress}.xlsx", index=False )
  43. arr_file =os.listdir(baseclass.dalao_ori_pnl_gmgn_path )
  44. df = pd.read_excel( baseclass.dalao_merge_defined_path / f"merge_defined.xlsx", dtype=object)
  45. arr_str_dalaoaddress = df['dalaoaddress'].drop_duplicates().tolist()
  46. check_ispump(arr_str_dalaoaddress=arr_str_dalaoaddress)
  47. print(f"{'{:<6}'.format('END')} ----------------NOTE-----------NOTE---------------")