วิธีใช้งานกลุ่มคำสั่ง Loop for trade and Orders

loop for trade fxDreema
กลับสู่สารบัญเพื่อเลือกเรียนบทอื่น ๆ

การใช้คำสั่ง Loop for Trade ในโปรแกรม fxDreema เป็นเครื่องมือสำคัญสำหรับการจัดการคำต่าง ๆ ผ่านการดึงข้อมูลไม้เทรด หรือ pending order ครับ โดยฟังก์ชันนี้ช่วยให้เพื่อน ๆ สามารถดึงข้อมูลคำสั่งต่าง ๆ พร้อมตรวจสอบรายละเอียด และปรับแต่งคำสั่งเหล่านั้นได้อย่างมีประสิทธิภาพ ซึ่งด้วยความยืดหยุ่นในการตั้งค่า Loop for Trade จึงเหมาะกับนักพัฒนา EA ทั้งระดับเริ่มต้นและมืออาชีพครับ

Loop for trade
รูปที่ 1 วิธีใช้งาน Loop for trade หมวด A, B, และ C

ความสำคัญของ Loop for Trade ในการเทรด

Loop for Trade ช่วยให้เราสามารถทำอะไรหลายอย่างมากขึ้น ซึ่งมันดีต่อการปรับแต่งกลยุทธ์ของ EA เรามาก ๆ ครับ โดยผู้เขียนจะยกตัวอย่างประโยชน์ของการใช้ function ดังนี้

  • ตรวจสอบข้อมูลคำสั่งซื้อขายแบบเรียลไทม์
  • คัดเลือกคำสั่งซื้อขายตามเงื่อนไขที่กำหนด
  • ปรับแต่งคำสั่ง เช่น Stop Loss และ Take Profit
  • สร้างระบบการกำหนด Lot แบบ martingale ที่ปรับ manual ได้
  • ลดความผิดพลาดและเพิ่มความแม่นยำในการเทรด

 

โครงสร้างการทำงานของ Loop

ในเบื้องต้นนั้น Loop จะประกอบด้วย 3 ขั้นตอนสำคัญ ๆ ได้แก่

  • การดึงข้อมูลคำสั่งซื้อขาย: ใช้ดึงข้อมูลคำสั่งซื้อขายที่เปิดอยู่ รอดำเนินการ หรือปิดไปแล้ว
  • การตรวจสอบข้อมูล: ตรวจสอบคำสั่งเพื่อหาค่าที่เฉพาะเจาะจง
  • การแก้ไขหรือจัดการคำสั่ง: นำข้อมูลที่ได้มาปรับใช้กับกลยุทธ์หรือคำสั่งซื้อขาย

 

หมวดหมู่คำสั่งใน Loop

คำสั่งใน Loop for Trade แบ่งออกเป็น 3 หมวดหมู่หลักดังปรากฏในตารางที่ 1 ซึ่งในบทความนี้ผู้เขียนจะขอ Focus เฉพาะ หมวด A เท่านั้นเนื่องจากเป็นหมวดที่ใช้กันบ่อย ซึ่งหากเพื่อน ๆ ท่านใดต้องการเนื้อหาที่ลึกกว่านี้สามารถหาอ่านได้ที่ “หนังสือคู่มือ fxDreema ฉบับภาษาไทย เล่ม 1” หรือ “คอร์ส Basic fxDreema” ได้ครับ

 ตารางที่ 1 สรุปคำอธิบายที่เกี่ยวกับ Loop for Trades & Order

หมวด คำอธิบาย
A บล็อกที่ใช้เพื่อดึงข้อมูลออเดอร์/เพนดิ้งออเดอร์ หรือ ออร์เดอร์ที่ปิดไปแล้ว
B บล็อกที่จะใช้ในการค้นหา/ตรวจสอบ ออเดอร์ที่ดึงมาแบบเฉพาะเจาะจง
C บล็อกที่จะใช้ในการส่งให้ทำการแก้ไขหรือเปลี่ยนแปลงออเดอร์นั้นๆที่ดึงมา

หมายเหตุ : คำว่า Trade บน (MQ4) = Position บน (MQ5)

วิธีใช้งานกลุ่ม Loop for Trades & Order หมวด A (สำคัญ)

จากรูปที่ 2 เป็นตัวอย่างค่าพารามิเตอร์ต่างๆภายในบล็อกในหมวด A ซึ่งจะมีความสามารถในการดึงข้อมูลออเดอร์ทั้งออเดอร์ที่กำลังเกิดขึ้น ณ ปัจจุบัน และ ออเดอร์ที่ปิดไปแล้วมาใช้ซึ่งแต่ละบล็อกจะมีความสามารถดังนี้

Loop for Trades & Order หมวด A
รูปที่ 2 วิธีใช้งานกลุ่ม Loop for Trades & Order หมวด A
  • For each position คือบล็อกที่มีความสามารถในการดึงค่าออเดอร์ที่กำลังเกิดขึ้น ณ ปัจจุบัน เช่น ออเดอร์ Buy / Sell หรือทั้งสองมาใช้งานในบล็อกถัดไปโดยภายในจะมีการตั้งค่า Filter ที่เหมือนๆกันดังนี้
    • Filter by Group คือ ระบุเพื่อแยกกลุ่มในการทำงาน
    • Filter by Symbol คือ ระบุเพื่อกำหนดคู่สกุลเงินที่ต้องการใช้
    • Filter by Type คือ กำหนดประออเดอร์ที่ต้องการให้ดึงข้อมูลมาใช้ เช่น ออเดอร์ Buy, ออเดอร์ Sell หรือ ทั้งสอง
    • Loop settings คือ การตั้งค่าการทำงานของ Loop แบ่งออกเป็น 4 ประเภทดังนี้
      • Lood Didrection คือ ประการเรียงลำดับการในดึงข้อมูลมาใช้ แบ่งออกได้ 4 ประเภทดังนี้
        • Newest to oldest คือ เรียงจากใหม่สุด ไป เก่าสุด
        • Oldest to newest คือ เรียงจากเก่าสุด ไป ใหม่สุด
        • Profitable first คือ เรียงจากกำไรมากสุด ไป กำไรน้อยที่สุด
        • Profitable last คือเรียงจากกำไรน้อยที่สุด ไป กำไรมากสุด
      • Skip “n” trades คือ ข้ามออเดอร์ทุกๆ “n” ออเดอร์
      • Every “n” trades คือ ทำงานทุกๆ “n” ออเดอร์
      • Not more than “n” trades คือ ไม่ต้องการให้ทำงานเกิน “n” ออเดอร์
    • Second output คือ ให้จบการทำงานของบล็อกก็ต่อเมื่อ…
      • After loop, always คือ จบการทำงานเมื่อตรวจสอบทุกออเดอร์แล้ว (ปกติจะใช้ค่านี้)
      • After non-empty loop คือ เมื่อยังมีออเดอร์ค้างอยู่ในระบบ
      • After empty loop คือ เมื่อไม่มีออเดอร์อยู่ในระบบแล้ว
    • For each Pending Order คือบล็อกที่มีความสามารถในการดึงค่าออเดอร์ที่กำลังเกิดขึ้น ณ ปัจจุบัน ที่เป็นออเดอร์ประเภทเพนดิ้ง มาใช้งานในบล็อกถัดไปสามารถตั้งค่าได้เหมือนกับ For each position ทุกประการ
    • For each Closed Position คือบล็อกที่มีความสามารถในการดึงค่าออเดอร์ที่ได้มีการปิดออเดอร์ไปแล้ว มาใช้งานในบล็อกถัดไป สามารถตั้งค่าได้เหมือนกับ For each position ทุกประการ

 

การทำงาน on Tick เฉพาะหมวด A

การทำงานของ on Tick ของบล็อก A นั้นค่อนข้างจะพิเศษและแตกต่างต่างบล็อกอื่น ๆ บนโปรแกรม fxDreema โดยปกติการไหลของ Tick มักจะมีการไหลผ่านบล็อกเพียงครั้งเดียวต่อบล็อกหรือต่อการทำงานของคำสั่งชุดนั้นๆ แต่ในบล็อกของ For each …. จะมีการไหลเข้าบล็อกตามจำนวนออเดอร์ที่มีอยู่ให้ครบก่อนถึงจะจบการทำงานของคำสั่งชุดนั้นดังตัวอย่างรูปภาพด้านล่าง ซึ่งจะเป็นการแสดง ตัวอย่างสมมุติ การไหลผ่าน 1 Tick

การทำงาน Tick เฉพาะหมวด A
รูปที่ 3 อธิบายเพิ่มเติมเกี่ยวกับ การทำงาน Tick เฉพาะหมวด A

เราจะเห็นได้ว่าฝั่งที่มี For each Position หลังจากที่จบสายพานแล้วแทนที่จะกลับไปเริ่มที่บล็อกแรก แต่กลับไป วนเข้า For each Position ใหม่ซึ่งจะไหลเข้าตามจำนวนออเดอร์ที่มีอยู่ ณ ขณะนั้น (ดังตัวอย่างจะวนการไหลให้ดูเพียง 2 ครั้งเท่านั้น)

ดังนั้นหากมีการ วนเข้า For each Position ครบตามจำนวนออเดอร์แล้ว Tick ก็จะไหลกลับไปยังบล็อก No Position ใหม่คือการจบ 1 Tick ดังนั้นจึงเป็นที่มาของบล็อก Loop for Trades & Order คือมีการไหลเป็น Loop ก่อนที่จะไปเริ่มทำงานใหม่อีกรอบนั่นเอง

 

สรุป

Loop for Trade เป็นฟังก์ชันที่ช่วยเพิ่มประสิทธิภาพในการจัดการคำสั่งซื้อขายในตลาด Forex โดยเฉพาะอย่างยิ่งในโปรแกรม fxDreema ที่รองรับการปรับแต่งและตั้งค่าต่าง ๆ อย่างละเอียด สำหรับเพื่อน ๆ ที่ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการใช้ Loop และเทคนิคการใช้งาน สามารถศึกษาเพิ่มเติมได้จาก “หนังสือคู่มือ fxDreema ฉบับภาษาไทย เล่ม 1” หรือ “คอร์ส Basic fxDreema”

กลับสู่สารบัญเพื่อเลือกเรียนบทอื่น ๆ

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *