สวัสดีครับเพื่อนๆ เทรดเดอร์ทุกคน! วันนี้เราจะมาพูดถึงฟังก์ชัน DD_Relative ที่ช่วยให้เราคำนวณกำไรหรือขาดทุนแบบสัมพัทธ์ (Drawdown) ของบัญชีเทรดของเราในเปอร์เซ็นต์กันนะครับ
ฟังก์ชันนี้จะใช้ Current_LossOrProfit() เพื่อดึงค่ากำไรหรือขาดทุนในปัจจุบันของตำแหน่งที่เปิดอยู่ทั้งหมด จากนั้นจะแบ่งค่าดังกล่าวด้วยยอดเงินในบัญชีที่ได้จากฟังก์ชัน AccountInfoDouble(ACCOUNT_BALANCE) ซึ่งจะช่วยให้เราเห็นภาพรวมของสถานะการเทรดในปัจจุบันได้ชัดเจนขึ้น
หลังจากที่คำนวณค่า Drawdown ออกมาในรูปแบบเปอร์เซ็นต์แล้ว ฟังก์ชันยังใช้ NormalizeDouble() เพื่อปัดเศษผลลัพธ์ให้เหลือ 2 ตำแหน่งทศนิยม และแสดงผลในกราฟโดยใช้ฟังก์ชัน Comment() สุดท้าย ฟังก์ชันจะส่งค่ากำไรหรือขาดทุนในเปอร์เซ็นต์กลับมาให้เราได้ใช้กันต่อไป
ในส่วนของฟังก์ชัน Current_LossOrProfit() นั้น จะทำการคำนวณกำไรหรือขาดทุนของตำแหน่งที่เปิดอยู่ทั้งหมด โดยจะวนลูปผ่านตำแหน่งที่เปิดอยู่ด้วย for loop และตรวจสอบว่าเลข magic number ของตำแหน่งนั้นตรงกับเลขที่เรากำหนดในโค้ด (MAGIC) หรือไม่ รวมถึงสัญลักษณ์ของตำแหน่งต้องตรงกับสัญลักษณ์ปัจจุบันในกราฟด้วย ถ้าตรงตามเงื่อนไขดังกล่าว ค่าคอมมิชชั่น, สวอป, และกำไรหรือขาดทุนปัจจุบันของตำแหน่งนั้นจะถูกเพิ่มเข้ากับตัวแปร Positionsprofit
เมื่อเรารวมค่ากำไรและขาดทุนทั้งหมดของตำแหน่งได้เรียบร้อยแล้ว ฟังก์ชันจะใช้ NormalizeDouble() เพื่อปัดเศษผลลัพธ์ให้เหลือ 2 ตำแหน่งทศนิยม และส่งค่ากำไรหรือขาดทุนปัจจุบันกลับมาให้เราได้ใช้งานกันต่อไป
โพสต์ที่เกี่ยวข้อง
- MQL5 Wizard: สร้างสัญญาณการเทรดจาก Bullish Harami/Bearish Harami พร้อม MFI
- MQL5 Wizard: ระบบเทรดสัญญาณจาก Hammer/Hanging Man + MFI บน MetaTrader 5
- การสร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณการเทรดจาก Morning/Evening Stars + RSI
- MQL5 Wizard: สร้างสัญญาณเทรดจาก Bullish Harami/Bearish Harami + Stochastic สำหรับ MetaTrader 5
- Ilan 1.6 Dynamic HT: ระบบเทรดอัจฉริยะสำหรับ MetaTrader 5