[PYTHON] Mit Devisen gewinnen Teil 4 ~ LINE Notification Edition

Dies ist eine Fortsetzung des vorherigen "Um mit Devisen 3 ~ LAMP Konstruktion zu gewinnen".

Sie werden von der LINE Messageing-API benachrichtigt, wenn die Preisbewegung groß wird. Ich habe über andere Methoden nachgedacht, aber

--SMS ist eine Grundgebühr --twitter ist nicht zur Verwendung geeignet (als Bot missverstanden) --facebook Hmm, es sieht schwierig aus ――Ich benutze #slack nicht sehr oft

Deshalb habe ich mich für LINE entschieden. Die Referenz für diese Zeit lautet "Mit Python eine Nachricht an LINE senden".

LINE einen Freund benachrichtigen lassen

Fügen Sie Ihren Freunden von LINE auf Ihrem Smartphone "LINE Notify" hinzu. Screenshot_addfriend.png Es scheint, dass Sie bereits fast 2 Millionen Freunde haben, aber es wäre schwierig, wenn Sie so viel hätten. Ich kann mich nicht mehr daran erinnern.

Ausgabe des LINE Access Token

Stellen Sie einen Token aus. Der Token-Name sollte ein geeigneter Name sein. Screenshot_publishtoken.png Ich habe hier einen Fehler gemacht Wenn Sie eine Gruppe erstellen und benachrichtigen möchten, müssen Sie anscheinend auf diesem Bildschirm "Gesprächsraum zum Senden einer Benachrichtigung" auswählen. Ich musste es später neu erstellen.

Python-Code

Nachdem wir das Token haben, werden wir es in unser Python-Programm einbetten. Den vollständigen Code finden Sie in der öffentlichen GitHub.

from decimal import Decimal
import requests

Importieren Sie die erforderlichen Bibliotheken.

# LINE Notify settings
line_url = "https://notify-api.line.me/api/notify"
line_access_token = "## Your LINE Access Token ##"
line_headers = {'Authorization': 'Bearer ' + line_access_token}

Dies ist eine Einstellung zum Benachrichtigen von LINE Notify.

line_message = ""

# Difference high and low
diff = Decimal(raw[price]["h"]) - Decimal(raw[price]["l"])
print("{} {}: {}".format(
    raw["time"].replace("000Z", "").replace("T", " "),
    response["instrument"],
    diff
))

if response["instrument"].find("_JPY") > -1:
    if diff >= 0.1:
        line_message += "'" + response["instrument"] + "' "
else:
    if diff >= 0.0015:
        line_message += "'" + response["instrument"] + "' "

# LINE Notify
if len(line_message) > 0:
    line_payload = {"message": "There were signficant price fluctuations in " + line_message + "."}
    r = requests.post(line_url, headers=line_headers, params=line_payload)

Wenn der Marktpreis gegenüber dem Yen 0,1 Yen oder mehr beträgt und eine Preisbewegung von 0,0015 US-Dollar (andere) oder mehr vorliegt, wird die LINE-Benachrichtigungsnachricht gespeichert. Zum Schluss fordern Sie eine Nachricht an, die LINE Sie benachrichtigen soll.

Ergebnis

Grundsätzlich müssen Sie nur wissen, welches Währungspaar die große Preisbewegung aufweist. Es sieht also so aus. Es ist auch eine gute Idee, den Chart zu überprüfen und zu handeln, wenn es ein Zeichen gibt. Screenshot_linenotify.png

Laufen, wenn Raspberry Pi startet

Es ist bequem, sich als Startup zu registrieren.

shell:/home/pi/.config/autostart/market.desktop


[Desktop Entry]
Type=Application
Name=Market Monitor
Exec=/usr/bin/python3 -B /home/pi/python/MarketMonitor/oanda_candle.py
Terminal=false

Funktionsprüfung

Wenn Sie das System neu starten und sehen, dass es von phpmyadmin in der Datenbank funktioniert, ist es in Ordnung. Ich glaube nicht, dass LINE-Benachrichtigungen normalerweise sehr oft eingehen. Screenshot_phpmyadmin.png

Nachdem die Umgebung erstellt wurde, Ich möchte so etwas wie eine Portalseite machen.

Fortsetzen.

Recommended Posts

Mit Devisen gewinnen Teil 4 ~ LINE Notification Edition
Ich habe Line Benachrichtigung in Python versucht
So empfangen Sie Befehlszeilenargumente in Python
So führen Sie mit OpenCV ein Null-Padding in einer Zeile durch
Der einfachste Linienbot der Welt, um Gewicht zu verlieren
Gehen Sie in die Sprache, um Teil 7 C in der Sprache GO zu sehen und sich daran zu erinnern
Einführung in PyQt4 Teil 1
Ein Befehlszeilentool, das .gitkeep in ein leeres Verzeichnis legt
So geben Sie Befehlszeilenargumente beim Debuggen mit PyCharm an
Prozedur-Memo zum Einfügen der AWS-Befehlszeilenschnittstelle in CentOS6
Einführung in die Socket-API in C Language 2nd Client Edition