Blog นี้เกิดจากความตั้งใจที่อยากจะเผยแพร่ความรู้เกี่ยวกับการพัฒนา EA บน Platform MT4 โดยจัดทำให้สามารถศึกษาได้โดยไม่มีความรู้พื้นฐานมาก่อนเลยก็ตาม โดยหวังว่าจะเป็นประโยชน์ต่อทุกท่านที่เริ่มศึกษาการเขียน EA หรือ Robot อัตโนมัติในการเทรดผลิตภัณฑ์ในตลาด Forex

By Polar Bear Fishing Investment (PBFI)

วันอังคารที่ 4 กุมภาพันธ์ พ.ศ. 2557

โครงสร้างของ EA

สวัสดีครับ คราวนี้เราจะมาเริ่มศึกษาการเขียน EA จิงๆจังๆกันแล้วนะครับ
เริ่มต้นด้วยเปิด EA เมื่อคราวที่แล้วของเราขึ้นมาบน MetaEditor
ทีนี้เราจะพบกับฟังก์ชั่นหลักๆ 3 ฟังก์ชั่น คือ

1. int init()
2. int deinit()
3. int start()




ตรงลูกศรแดงๆหน้าตาแบบนี้เราจะเรียกว่าฟังก์ชั่นนะครับ

โดยฟังก์ชั่นแต่ละตัวทำหน้าที่ดังนี้
Init() : เราสามารถเริ่มต้นการทำงานของตัวแปรต่างๆในฟังก์ชั่นนี้ โดยฟังก์ชั่นนี้จะทำงานเพียงครั้งเดียวคือเมื่อเริ่มต้นการทำงานของ EA เท่านั้น
Deinit() : ฟังก์ชั่นนี้จะทำการล้างค่าตัวแปรต่างๆทั้งหมดให้กลับไปสู่ค่าเริ่มต้นอีกครั้ง โดยฟังก์ชั่นนี้จะทำงานก็ต่อเมื่อเราเปลี่ยน Timeframe เปลี่ยน Pair หรือถอด EA ออกจากกราฟ
Start() : เป็นฟังก์ชั่นที่เรากำหนดการทำงานของ EA ให้เป็นไปอย่างที่ต้องการ เราอยากจะให้ EA ทำงานอย่างไรก็จะเขียนลงไปบนฟังก์ชั่นนี้นั่นเอง โดยฟังก์ชั่นนี้จะทำงานตลอดเวลาตามรอบ tick ของกราฟ หรือ 1ครั้ง/tick จนกว่าเราจะปิดการทำงานของ EA

ลำดับการทำงานก็จะเป็นแบบภาพด้านบนนะครับ

เมื่อเราต้องการให้ EA  ของเราทำงานนั้นเราจะใส่ คำสั่งและตัวแปรต่างๆ ลงใน ฟังก์ชั่น init(), start() ตรงใต้ปีกกา "{...}"ตามภาพด้านล่างนะครับ


จากที่ดูๆมาจะพบว่ารูปที่ผมนำมาใส่นั้นเป็นผลผลิตมาจากการตัดแปะโปรแกรม Paint ซึ่งต้องขออภัยด้วยเนื่องจากผมไม่มีความสามารถด้านตกแต่งภาพเลยจริงๆ ฮ่าๆ(หัวเราะกลบเกลื่อน)

เอาล่ะทีนี้คำสั่งและตัวแปรที่เราจะนำมาใส่คืออะไรและมีอะไรบ้าง เราจะเอามาให้ทุกท่านได้ชมในตอนหน้า ไว้เจอกันสวัสดีครับ



วันพฤหัสบดีที่ 16 มกราคม พ.ศ. 2557

First EA

สวัสดีครับพบกันอีกครั้งแล้ว มาคราวนี้เราจะเริ่มสร้าง EA กันล่ะนะ เชื่อว่าทุกท่านติดตั้งคงจะมี MT4 กันอยู่แล้ว เปิดขึ้นมาเลย

เมื่อเปิด MT4 ขึ้นมาแล้วให้เราเปิด MetaEditor ขึ้นมาโดยวิธีเปิดมี 3 วิธีง่ายๆนะครับ



  1. กด F4
  2. Tools > MetaQuotes Language Editor
  3. กดที่รูป 
เท่านี้ก็จะพบหน้าต่างของ MetaEditor  กันแล้วแบบภาพด้านล่าง
จากนั้นเราจะสร้าง Robots ขึ้นมาโดยเลือก File > New หรือกด Ctrl+N ก็ได้จะได้แบบภาพข้างล่าง

จากนั้นเลือก Expert Advisor แล้วกด Next


ตรงนี้ตั้งชื่อกันตามสบายนะคับ ของผมเอาชื่อ Teddy ละกัน จากนั้นก็กด Finish ก็จะได้แบบภาพด้านล่างขึ้นมา

ทีนี้เรากด Compile ตรง Description จะขึ้นแบบภาพด้านล่างเป็นอันเสร็จสิ้น

เมื่อย้อนกลับไปที่หน้า MT4 เราจะพบว่า Robot เราโผล่เข้ามาแล้ว เหมือนเจ้า Teddy ของผม

ทีนี้เราก็จะได้ Robot ของเราแล้วง่ายใช่มั๊ยหล่ะครับแต่มันยังทำอะไรไม่ได้เลย!!! 
อ้าวไหงเป็นงั้นใช่มั๊ยหล่ะครับ

การที่จะให้ Robot เราทำงานได้นั้น เราต้องป้อนคำสั่งลงไปโดยใช้ภาษา MQL นั่นเอง มาในคราวหน้าเราจะมาหัดเขียน MQL4 กัน สวัสดีครับ

Introduction

สวัสดีครับนี่เป็นบทความแรกของผม ที่อยากจะแชร์ความรู้ในการพัฒนา Forex Automatic Robot Trading บน Platform MQL4 นะครับ
        การพัฒนา Automatic Robot Trading บน MQL4 นั้น หากท่านใดมีความรู้ความเข้าใจเกี่ยวกับ Programing อยู่แล้วก็จะสามารถเรียนรู้ได้อย่างรวดเร็ว แต่จากประสบการณ์ที่ผ่านมาผมพบว่า Trader  ส่วนใหญ่นั้นอาจไม่ได้มาจากสาย IT หรือเคยเขียน Program มาก่อนดังนั้นผมจึงตั้งใจว่าจะเริ่มตั้งแต่พื้นฐานการเขียน Program กันเลยเพื่อให้หลายๆท่านที่ไม่มีประสบการณ์การเขียนโปรแกรมมาก่อนสามารถเริ่มต้นได้โดยง่าย

        ก่อนที่จะเริ่มต้นเรามาทำความเข้าใจกันก่อนว่าการพัฒนา Automatic Robot Trading บน MQL4 นั้นต้องมีอะไรบ้าง

MQL4 นั้นมาจากคำว่า MetaQuotes Language 4 เป็น Programing Language ภาษาหนึ่งที่สร้างขึ้นมาเพื่อส่งคำสั่งต่างๆเช่น ซื้อ ขาย และอื่นๆ บน MetaTrader Trading Platform โดยเฉพาะ


โดยชื่อ MetaQuotes นั้นเป็นชื่อบริษัทผู้พัฒนา MetaTrader Trading Platform ที่เราใช้เทรดกันอยู่ทุกวันนั่นเอง

เนื่องจาก MQL4 นั้นถูก Built-in เอาไว้บน MT4 เพราะฉะนั้นเราจึงสามารถพัฒนา Robot ของเราบน MT4 โดยไม่ต้องติดตั้งโปรแกรมใดๆเพิ่มเติม

โดยบน MQL4 นั้นได้อนุญาตให้เราสร้างสิ่งต่างได้ดังนี้
1. Expert Advisors หรือ EA ซึ่งก็คือตัว Robot นั่นเอง
2. Custom Indicators เราสามารถสร้าง Indicator ของเราเองได้จากเจ้าตัวนี้แถมยังนำไปใช้ร่วมกับ EA หรือRobot ของเราได้อีกด้วย
3. Scripts จะคล้ายกับ EA แต่ทำงานต่างกันโดย Scripts จะทำงานเพียงครั้งเดียวที่ใช้งานเท่านั้น (ถ้าไม่ค่อยเข้าใจจะอธิบายในครั้งถัดๆไปนะครับ)

สำหรับคราวนี้พอแค่นี้ก่อนในครั้งถัดไปเราจะเริ่มสร้าง Robot ของเรากันล่ะ!!