ราคาของ Bitcoin หรือ Cryptocurrency นั้นมันผันผวนซะยิ่งกว่าอะไร วันนี้ขึ้น พรุ่งนี้ลง มะรืนกลับมาขึ้น ซึ่งจะให้เรามานั่งเปิดดูตลอดก็คงไม่ไหว งั้นก็เขียน Python ส่งแจ้งเตือนมันในไลน์ซะเลยสิ
สิ่งที่จำเป็นในการสร้างบอทส่งแจ้งเตือนในไลน์มีทั้ง 3 สิ่ง
1.Python
2.Exchange Data หรือ Data Source API
3.Line Notify
แค่มี 3 สิ่งนี้เราก็จะสามารถส่งแจ้งเตือนเข้าไลน์เราได้แล้ว
เรื่องของ Python เราขอข้ามไปเลยนะ เพราะหลายคนที่เข้ามาติดตามจะรู้จัก Python และประโยชน์ของมันเยอะประมาณนึง แต่ใครพึ่งเข้ามาติดตามลองไปย้อนอ่านบทความก่อนๆที่เราเคยเขียนถึงข้อดีของ Python เอาไว้ตามลิ้งนี้
ที่นี้ส่วนสำคัญที่สองคือเรื่องของ Data Source หรือ Exchange Data ข้อมูลราคาที่เราจะใช้ส่งแจ้งเตือนก็มาจากแหล่งที่มาแตกต่างกัน ไม่ว่าจะเป็น CoinGecko, Coinmarketcap หรือราคาจาก Exchange อย่าง Binance หรือ Bitkub ก็ดึงได้เพียงเรารู้วิธี โดยในตัวอย่างนี้ เราจะสอนดึงจาก Bitkub
และส่วนสุดท้ายคือ Line Notify
แต่ก่อนอื่นต้อง Connect line ก่อนเพื่อเข้าไปเอา Token ในไลน์ที่เราต้องการส่งแจ้งเตือนไป วิธีการคือเข้าไปที่ลิ้ง https://notify-bot.line.me/th/ ทำการ login เข้าระบบด้วย line ที่ต้องการจะให้แจ้งเตือน เข้าไปที่ My Page แล้วก็กด Generate Token เพื่อสร้าง Token ส่วนตัวที่ใช้ในการส่ง line
ส่วนสำคัญที่ต้องรู้อีกอย่างคือการเชื่อมต่อกับ line notify เราใช้ rest api
rest api คือ เป็นรูปแบบการส่งข้อมูลระหว่าง Server กับ Client ที่อยู่บนพื้นฐานของ HTTP Protocol เป็นการสร้าง Web Service เพื่อแลกเปลี่ยนข้อมูลกันผ่าน Application การส่งข้อมูลได้หลายชนิดเช่น Text, XML, JSON หรือส่งมาเป็นหน้า HTML เลยก็ได้ จากนั้นเราจะเอาข้อมูลไปแสดงผลยังไงก็ได้ตามใจเลย โดยทาง Python จะใช้ Lib ที่ชื่อ requests เพื่อทำการรับส่งข้อมูล
หลังจากที่เรามีทั้งสามส่วนนี้เราก็สามารถสร้าง line noti เพื่อส่งแจ้งเตือนไปยัง line ของเราได้แล้ว
import requests
import pandas as pd
from bitkub import Bitkub
from datetime import date time
มีแค่สอง Lib นี้ที่สำคัญ
ต่อมาคือการเรียก Function Bitkub มาใช้โดยให้เก็บอยู่ในตัวแปร Bitkub
bitkub = Bitkub()
ส่วนสุดท้ายคือการส่งเข้า Line Notify มีสามส่วนที่ต้องดูคือ URL ตามด้านล่าง และวิธีการ Authorization โดยการใช้ Token (อย่าลืมเข้าไปเอา Token ตามด้านบนนะ)
url = 'https://notify-api.line.me/api/notify'token = 'Your Token'headers = {'content-type':'application/x-www-form-urlencoded','Authorization':'Bearer '+token}
เท่านี้เราก็ส่งเเจ้งเตือนเข้าไลน์ได้แล้วจะได้ตามรูปด้านล่างนี้เลย
เขียน Bot เทรด Crypto แบบ Realtime ได้แล้วดูรายละเอียดเพิ่มเติมได้ที่ : https://bottomliner.co/investic-python-algorithmic-trading-landing-2/