เทคนิคการอ่านค่าจากเว็บไซต์ที่มีการเปลี่ยนแปลง (ราคาหุ้น) มาเก็บไว้บน Google Sheets

มีโจทย์ว่าต้องการคำนวนค่า Indicator ชื่อ RSI ของกองทุนรวมในต่างประเทศ ซึ่งปิดการซื้อขายเวลา 04:00 ของเวลาในประเทศไทย ทางกองทุนจะประกาศราคา (NAV) ในเวลาประมาณ 09:00 แต่ในการตัดสินใจลงทุน จะต้องพิจารณาค่า RSI ซึ่งกองทุนจะคำนวนและประกาศให้ประมาณ 12:00 ซึ่งบางทีก็หลงลืม และไม่ทันการ การคำนวนค่า RSI ใช้ค่าการเปลี่ยนแปลงของราคา แบ่งเป็น Gain และ Loss แล้วมาหาค่าเฉลี่ยและเข้าสูตรคำนวน (ไม่ขอกล่าวถึง หากต้องการทราบข้อมูลเพิ่มเติม อ่าน http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:relative_strength_index_rsi) สรุปคือ หากต้องการทราบค่า RSI ก่อนที่ทางกองทุนจะประกาศให้ ก็ต้องคำนวนเอง โดยจดค่าการเปลี่ยนแปลงของราคาในแต่ละวันซึ่งเป็นงานที่น่าเบื่อ จึงต้องหาวิธีลดภาระ แนวคิดคือ เว็บไซต์ http://www.bloomberg.com/quote/WGHCEPA:ID ซึ่งจะประกาศราคา NAV ในเวลา 09:00 นั้น หากเปิด HTML ดูจะพบว่าข้อมูลที่ต้องการจะอยู่ในรูปแบบของ … <meta itemprop=”price” content=”46.92″> … <meta itemprop=”priceChange” content=”0.16″> … Read more

เริ่มต้นใช้งาน GAS Editor

เปิด https://drive.google.com แล้ว Login คลิกปุ่ม New > Google Sheets ตั้งชื่อไฟล์: GASWS1 เมนู Tools > Script Editor เลือก Blank Project ตั้งชื่อโปรเจค : myproject1 เมนู File > New > Script File ตั้งชื่อ: myscript1 แก้ไข myFunction() ตามนี้ function myFunction() { Logger.log(“Hello World”); } เมนู File > Save หรือ กดปุ่ม Ctrl+s เมนู Run > myFunction ดูผลได้ที่ เมนู View > … Read more

Case Study: ตรวจสอบ Website Availability ด้วย Google Apps Script

เปิด Google Sheets : GASWS1 สร้าง Sheet ใหม่ ชื่อ “Log” เมนู Tools > Script Editor… เมนู File > New > Script File ตั้งชื่อ: myscript4 เขียนโค๊ดตามนี้  function check_website(url) { var response = UrlFetchApp.fetch(url, {muteHttpExceptions: true}); return response.getResponseCode(); } function doLog(timestamp, responseCode, timeDiff) { var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName(“Log”)); sheet.appendRow([timestamp, responseCode, timeDiff]); } function getTime() { var startTime … Read more

อ่าน/เขียนข้อมูลกับ Google Sheets

เปิด Google Sheets : GASWS1 เมนู Tools > Script Editor… เมนู File > New > Script File ตั้งชื่อ: myscript3 สร้าง function insertData1() ตามนี้ function insertData1() { var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName(“Sheet1”)); sheet.getRange(1, 1).setValue(“Hello World”); sheet.getRange(“A2”).setValue(“สวัสดี”); var v1=[ [“ชื่อ”,”นามสกุล”,”อายุ”] ]; var v2=[ [“สมชาย”] ,[“Robert”] ,[“39”] ]; sheet.getRange(“A3:C3”).setValues(v1); sheet.getRange(“A4:A6”).setValues(v2); } เมนู Run > insertData1 สร้าง function insertData2() ตามนี้ function insertData2() … Read more

Google Apps Scripts Workshop – Level 1

เริ่มต้นใช้งาน GAS Editor อ่าน/เขียนข้อมูลกับ Google Sheets Case Study: ตรวจสอบ Website Availability ด้วย GAS แทนที่ข้อความ ด้วยค่าใน Google Sheets การสร้างไฟล์ PDF จากข้อความที่ต้องการ การส่งอีเมลถึงผู้รับตามที่กำหนด พร้อมแนบข้อความ/ไฟล์ที่ต้องการ การส่งไฟล์ทางอีเมลแบบ Top Secret! การแสดงผลจำนวน Quota การส่งอีเมลที่ยังเหลืออยู่ในรอบ 24 ชั่วโมง