สอนสร้าง CDC Action Zone

ฟันกำไร Bitcoin บน Binance ด้วย Python ใน 5 นาที

Investic
investic
3 min readMar 27, 2022

--

CDC Action Zone Bitcoin 2021 EMA12,26 crossover

ในยุคนี้ Indicator ยอดฮิต ทำกำไรได้ง่ายๆ ก็คือ CDC Action Zone เนื้อหาในบทนี้ จะไปไวหน่อย ไม่อธิบายแล้ว python, dataframe คืออะไร

เนื้อหานี้ เป็นฉบับย่อพิเศษ ประยุกต์จากคอร์ส Python For Investing และ Python for Crypto Trading (กำลังจะเปิด) ที่เราสอน

เนื้อแท้ของมันจริงๆแล้ว คือเส้น EMA หรือ exponential moving average 2 เส้นมาตัดกัน ซึ่งเส้น EMA นี้ จะแตกต่างกับ Simple Moving Average เส้นค่าเฉลี่ยเคลื่อนที่ปกติ ตรงที่ ให้น้ำหนักกับอดีตไม่เท่ากัน

EMA จะให้น้ำหนักกับเมื่อวาน มากกว่าเมื่อวานซืน มากกว่า เดือนที่แล้ว

เริ่มต้นกันที่

มือใหม่ ทำตาม แนะนำใช้ colab นะครับ ใครไม่รู้จัก เข้าที่นี่ได้เลย https://colab.research.google.com/ แค่ login ด้วย google แล้วทำตาม

  1. ลง package ที่เกี่ยวข้อง ในที่นี้เราจะดึงข้อมูลจาก binance กัน (bitkub เดี๋ยวมีอีกบทความ) โดยใช้ API python ที่ชาวเน็ตสร้างไว้ python-binance

2. import library ที่เกี่ยวข้อง

3. เชื่อมต่อ API ผ่าน Client ที่เรา import ไว้ โดยที่เราจะยังไม่จำเป็นต้องใช้ API key, secret เพื่อเชื่อมต่อ เพราะเราแค่เข้าไปดึงข้อมูล

4. ดึง data ผ่าน get_historical_klines ซึ่งจะต้องกำหนด ticker, interval(timeframe ที่เราจะเทรด) และใส่วันที่ เป็น string ดังตัวอย่าง

5. จัดเก็บข้อมูลเข้า dataframe ให้เรียบร้อย เรื่องตลกนั้นมีอยู่ว่า ข้อมูลที่ออกมายาวเหยียด โดยไม่บอกอะไรเราเลย เราจะได้ข้อมูลมาดังรูป ใน List โดยข้อมูลทั้งหมดเป็น string ยกเว้น เวลา มาในรูปแบบ unix timestamp

จัดเข้า DataFrame กันให้เรียบร้อย โดยระบุชื่อ column

6. จัดการแปลงข้อมูลให้เป็นตัวเลขกันก่อน สังเกตใน dataframe ราคาเหรียญที่ออกมา มันมีเครื่องหมายฟันหนู ครอบอยู่แบบนี้ “1234” ้ แสดงว่าไม่ใช่ตัวเลข โดยใช้ pd.to_numeric เข้าไปทั้ง dataframe

7. แปลงเป็นวันที่ให้เรียบร้อย ด้วย

8. set index ให้เรียบร้อย

9. ตัดสิ่งไม่จำเป็นออกไป

10. สร้าง ema 12 แท่งเทียน และ 26 แท่งเทียน

11. สร้างเทรนด์ที่เกิดจาก ema ตัดกัน ถ้า ema_short มากกว่า ema_long ให้เป็น True แสดงว่าเป็นขาขึ้น

12. หาจุดเข้าซื้อ และจุดขาย โดยดูว่าเมื่อไหร่เส้นตัดขึ้น หรือตัดลง โดยเทียบวันนี้กับเมื่อวานว่าสัญญาณต่างกันหรือไม่

เท่านี้ ก็เป็นอันสิ้นสุด ครับ ได้สัญญาณซื้อขายแล้ว

แต่เท่านั้นจะไปเห็นอะไร ดังนั้นเราต้องวาดกราฟออกมาด้วยครับ

13. เรามาสร้าง ลูกศรกันก่อน เรียกมันว่า marker_position ตัวนี้เราเผื่อไว้โดยใช้ Low, High ไปเลย เผื่ออนาคตไปทำเป็นกราฟแท่งเทียน เราก็ก๊อปตรงนี้ไปใช้ต่อได้ ส่วนจะห่างไป 5% หรือ กี่% นั้นก็แล้วแต่

14. จดไว้หน่อย ว่าเมื่อไหร่ซื้อ เมื่อไหร่ขาย ซื้อให้เป็น a ขายให้เป็น b จะได้ย่อๆก่อนไปใส่ตอนพลอตกราฟ

15 เราจะใช้ matplotlib ในการ plot แบบเบสิก กันสุดๆ

กำหนดขนาดด้วย figsize

พลอตเข้าไปทีละเส้น และระบุ label

ระบุลูกศรขึ้นสีเขียว ย่อด้วย ‘g^’ ลูกศรลงสีแดง ย่อด้วย ‘rv’

เท่านี้ ก็จะได้รูปแสนสวยไปโชว์กัน

ถัดไปก็ไปเชื่อมต่อซื้อขายครับ

แต่จะจิ้มมือ หรือใช้ API ยิงคำสั่งซื้อขายอัตโนมัติเอง ก็แล้วแต่สะดวก หากเราทำ tf สั้นหน่อย หลักนาที แล้วใช้บอทเทรด ก็สบายดี

ถ้ายังทำไม่เป็น สนใจศึกษาเพิ่ม ยิ่งเป็นเร็ว ยิ่งได้เงินเร็ว หรือสนใจเข้าร่วมกลุ่มชาว quant trader หรืออยากสนับสนุน ก็มาดูที่ Python for investing กันได้ครับ สอนตั้งแต่เบสิก ไปจน backtest และ algorithmic trading ส่งคำสั่งผ่าน API ได้ครบวงจร ตั้งแต่ หุ้น forex crypto

แต่ถ้างบน้อย เวลาน้อย ไม่ backtest ขอเทรดเลย แนะนำ python for crypto trading (เปิดตัว 30 มี.ค. ที่ skillane)

หรือค่อยๆ ติดตาม Investic ผ่านหน้าเพจ facebook หรือช่องทาง medium นี้ก็ได้ครับ

--

--

investic
investic

Published in investic

Investic Academy สอนใช้ Quants, Big Data, Machine Learning และ AI ช่วยในการลงทุน สำหรับคนไทย สนใจเรียนเชิงลึกได้ที่ https://academy.investic.ai/