ในการเขียนโปรแกรมไม่ว่าจะด้วยภาษาอะไรก็แล้วแต่ จะต้องมีการใช้งานตัวแปร (Variable) อยู่เสมอๆ แล้วตัวแปรมีหน้าทีอะไร?
ตัวแปร(Variable) เป็นที่สำหรับเก็บข้อมูลต่างๆที่เราต้องการ แล้วนำข้อมูลในตัวแปรไปใช้งาน เช่น นำคำนวณ หรือ นำเปรียบเทียบ เป็นต้น ตัวแปรทุกตัวจะต้องมีการตั้งชื่อให้กับมัน ซึ่งหากเราตั้งชื่อมันอย่างดี อ่านแล้วเข้าใจว่ามันเก็บข้อมูลอะไร ก็จะช่วยให้เราเขียนโปรแกรมได้อย่างมีระบบมากขึ้น กลับมาอ่านหรือแก้ไขภายหลังได้ง่ายขึ้น
เนื่องจากข้อมูลที่จะใส่ในตัวแปร ก็มีหลายชนิด ดังนั้นก่อนจะเรียกใช้งานตัวแปร จำเป็นต้องมีการประกาศ (declare) ให้ชัดเจนก่อนว่าตัวแปรที่ชื่อต่อไปนี้ จะทำหน้าที่เก็บข้อมูลแบบไหนกัน หากมีการใส่ข้อมูลที่ผิดประเภทให้ตัวแปร ก็จะเกิด error ตอน compile การประกาศตัวแปรมีรูปแบบตามนี้ครับ
ชนิดของข้อมูล ชื่อตัวแปร ;
int MyMaxOrder ; // ตัวอย่าง 1 double LotSize = 0.01 ; // ตัวอย่าง 2
ตัวอย่าง1 เป็นการประกาศตัวแปร ที่ให้ชื่อตัวแปรว่า MyMaxOrder โดยตัวแปรตัวนี้จะเก็บข้อมูลชนิด int
ตัวอย่าง 2 เป็นการประกาศตัวแปร ที่ให้ชื่อตัวแปรว่า LotSize โดยตัวแปรตัวนี้จะเก็บข้อมูลชนิด double และมีการระบุค่าเริ่มต้นของตัวแปรเป็น 0.01
แล้วชนิดข้อมูล int , double มันเป็นยังไง? เรามารู้จักชนิดข้อมูลเบื้องต้นที่มักใช้งานกันในการเขียนโปรแกรม MQL4 กันนะครับ
Integers : ในเบื้องต้นข้อมูลชนิด Integer คือข้อมูลที่เป็นตัวเลขจำนวนเต็ม มีบวก มีลบ แต่ไม่มีจุดทศนิยมใดๆ เช่น 12 , 125 , 0 , -200 เป็นต้น ตัวอย่างข้อมูลที่อาจจะระบุเป็น interger เช่น จำนวนออร์เดอร์ที่เปิดอยู่ จำนวนแท่งราคาที่ต้องการคำนวณ ระยะของSL/TP เป็นต้น คำย่อที่เรียกใช้ตัวแปรชนิดนี้ คือ int ตัวอย่างเช่น
int StopLossPoint ; int TP_point = 200 ;
( จริงๆแล้ว ข้อมูลชนิด Integer ใน ภาษา MQL4 ไม่ได้มีแค่ int แต่ยังมีแบบอื่นๆอีก ดูเพิ่มเติมได้ตามลิงค์นี้นครับ ความแตกต่างหลักๆของ integer แต่ละประเภทคือ ขนาดข้อมูลในหน่วยความจำที่ไม่เท่ากัน รองรับข้อมูลได้ไม่เท่ากันครับ )
Strings : ใช้ตัวย่อในการประกาศว่า string – ข้อมูลชนิดนี้จะเป็นข้อความต่างๆ
string MyMessage = "Please Add Stop Loss Price!!" ;
Logical : ใช้ตัวย่อในการประกาศว่า bool – คือข้อมูลตรรกะ True , False ซึ่งแทนค่าเป็นตัวเลขแบบ integer ได้เช่นกัน โดย 0 แทนค่าเป็น False และ 1 แทนค่าเป็น True (จริงๆแล้ว ตัวเลขจำนวนทุกตัวที่ไม่ใช่ 0 จะถือว่าเป็น True ทั้งหมดครับ)
bool checkcomplete ; bool isBuySignal = True ; bool newbar = false ;
Double : ใช้ตัวย่อในการประกาศว่า double – คือข้อมูลตัวเลขที่มีจุดทศนิยม เช่น 1.1251 , 0.15 เป็นต้น ตัวอย่างข้อมูลที่อาจจะระบุเป็น double เช่น ระดับราคาที่ต้องการเข้าออร์เดอร์ จำนวนเงินกำไร ขาดทุน ขนาด Lot Size ที่จะเทรด เป็นต้น
double myLotSize ; double myEntryPrice = 1.12345 ;
Color : เป็นข้อมูลเกี่ยวกับสีแบบต่างๆ เราสามารถกำหนดสีเมื่อสร้าง object ต่างๆได้ เช่น สีของเทรนไลน์ สีของข้อมูลที่เราต้องการแสดง เราสามารถระบุสีแบบง่ายๆ โดยพิมพ์คำขึ้นต้นด้วย clr แล้วตามด้วยชื่อสีที่ต้องการ เช่นสีแดง clrRed สีเขียวเป็น clrGreen ดูสีอื่นๆเพิ่มเติมได้ที่ลิงค์นี้ครับ (จริงๆแล้วเราสามรถระบุสีด้วยวิธีง่ายกว่านี้ได้ คือพิมพ์ชื่อสีไปได้เลย เช่น Green , Red , Black ก็ใช้งานได้ครับ วิธีนี้เป็นวิธีใน MQL4 แบบเก่า แต่ยังคงใช้ได้ครับ)
#property indicator_color1 Silver #property indicator_color2 clrBlue
Date and Time : ใช้ตัวย่อในการประกาศว่า (datetime) – เป็นข้อมูลเกี่ยวกับวันเวลา – โดยจริงๆแล้ว datetime ก็ถือเป็น integer แบบหนึง โดยเป็นตัวเลขของจำนวนวินาทีทั้งหมดนับตั้งแต่วันที่ 1 มกราคม 1970 ถึงวันเวลาที่ต้องการ ยกตัวอย่างเช่น ถ้าตัวแปร datetime มีค่าเป็น 3600 วินาที นันหมายถึง เวลา 3600 วินาที (ก็คือ 1 ชั่วโมง เพราะ 60นาที x 60 วินาที = 3600 วินาที )นับตั้งแต่วันที่ 1 มค. 1970 หรือก็คือ วันที่ 1 มค. 1970 เวลา 01.00 น. นั่นเอง
ทั้งหมดนี้เป็นชนิดข้อมูลตัวแปรของภาษา MQL4 เบื้องต้นที่นิยมใช้กัน ยังมีชนิดข้อมูลอื่นๆอีก สามารถศึกษาเพิ่มเติมได้ ที่เว็บของ MQL4 นะครับ หากมีข้อสงสัยอะไร สอบถามพูดคุยกันได้นะครับ 🙂