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

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?