LoginSignup
7

More than 3 years have passed since last update.

外為で勝つために その4 ~ LINE 通知編

Posted at

前回「外為で勝つために その3 ~ LAMP 構築編」の続きです。

値動きが大きくなったら LINE Messageing API から通知してもらいます。
他の方法も考えたんですが、

  • SMS は基本有料
  • twitter は用途に合っていない(bot と誤解される)
  • facebook うーん、難しそう
  • #slack はあまり使わない

ということから LINE を採用しました。
今回の参考はこちら「PythonでLINEにメッセージを送る」です。

LINE Notify をお友達にする

スマホの LINE から「LINE Notify」さんをお友達に追加します。
Screenshot_addfriend.png
すでにお友達が 200 万人近くいるようですが、実際そんなにいたら大変ですね。
いやもう覚えきれません。

LINE Access Token の発行

トークンを発行します。
トークン名は適当な名前にします。
Screenshot_publishtoken.png
ここで、1つ失敗したんですが
グループを作ってそこに通知して欲しいときは、この画面で「通知を送信するトークルーム」を選択しなければいけなかったようです。後で作成し直す羽目になりました。

Python コード

トークンが取得できたので、Python プログラムに組み込みます。
コードの全文は公開中の GitHub をご参照ください。

from decimal import Decimal
import requests

必要なライブラリをインポートします。

# 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}

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)

対円相場は 0.1 円以上、それ以外は 0.0015 米ドル(他)以上の値動きがあったら、LINE 通知メッセージを貯め込みます。
最後に、LINE から通知すべきメッセージを requests.post します。

結果

基本的に、どの通貨ペアに大きな値動きがあったか分かれば良いので、こんな感じになります。
チャートを確認して気配があったら取引するのも良いでしょう。
Screenshot_linenotify.png

Raspberry Pi 起動時に実行する

スタートアップ登録しておくと便利です。

/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

動作確認

システムを再起動して、動作しているかは phpmyadmin でデータベースに突っ込まれていることが確認できれば問題ないでしょう。
LINE 通知は普段、あまり来ることはないと思うので。
Screenshot_phpmyadmin.png

環境周りはできてきたので、
ポータルサイト的なものを作ってみたいと思います。

続く。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7