Pythonで登録した銘柄をそれぞれ10秒で自動確認する方法
米国株式の銘柄を毎日、価格チェックしているのですが、
マウスでクリック。もしくは、キーボードで銘柄のティッカーを入力。
毎回、同じ操作をやるの、結構面倒ですし、手も少し疲れます。
そこで、予め銘柄を別のファイルに登録しておき、後は自動で実行してくれるものを作りました。
ただ、PyAutoGUIを使っている関係で、自分のPCでしか上手く起動できません。
どうしようか、悩んでいるのですが、とりあえず完成したコードだけでも公開してみることにしました。
よければ、感想をX(旧Twitter)の方にDMでもいただけますと幸いです。
今回の記事は、
pythonの環境が構築されていること。
pipでのインストールができること。
この2点が行える前提で書きます。
まず、以下の「MesAlarmBox.py」というファイルを作り、
そこに、以下のコードを書いてください。
from tkinter import Tk,messagebox
def MessageForefront(MesAlarm):
root = Tk()
root.attributes('-topmost', True)
root.withdraw()
ret = messagebox.askyesno('確認', MesAlarm)
return ret
def MessageForefrontShowinfo(MesAlarmShowinfo):
root = Tk()
root.attributes('-topmost', True)
root.withdraw()
messagebox.showinfo('確認', MesAlarmShowinfo)
次に、実行するファイルを作り、そこに以下のコードを書いてください。
import webbrowser
import pyautogui
import pyperclip
from time import sleep
from MesAlarmBox import MessageForefront, MessageForefrontShowinfo
import csv
import itertools
def ChartCheck_f(Tickerlist):
ret = MessageForefront('ChartCheckを開始しますか?')
if ret == True:
webbrowser.open('https://jp.tradingview.com/chart/')
sleep(2)
pyautogui.hotkey('win','up')
sleep(1)
pyautogui.press(',')
pyautogui.press('backspace')
pyautogui.hotkey('shift','w')
pyautogui.press('enter')
pyautogui.press('enter')
ret = MessageForefront('始めますか?')
if ret == True:
pyautogui.click(3585, 602)
sleep(1)
for Ticker in Tickerlist:
pyautogui.hotkey('shift','w')
pyautogui.press('backspace')
pyperclip.copy(Ticker)
pyautogui.press('backspace')
pyautogui.hotkey('ctrl','v')
pyautogui.press('enter')
sleep(10)
print('終了')
MessageForefrontShowinfo('お疲れ様でした。')
Tickerlist = []
with open('./data/ChartChecklist.csv') as f:
reader = csv.reader(f)
for row in reader:
Tickerlist.append(row)
Tickerlist = list(itertools.chain.from_iterable(Tickerlist))
print(Tickerlist)
ChartCheck_f(Tickerlist)
ここから先は
597字
¥ 500
この記事が気に入ったらサポートをしてみませんか?