บทที่ 05
● เปิด

OkurraGlobal — ตัวออกแบบการตั้งค่าที่ใช้ร่วมกัน

Tool version: OkurraGlobal 2.00

หมายเหตุเกี่ยวกับขอบเขตของบท บทนี้อธิบายวิธีใช้งานพาเนล OkurraGlobal — เลย์เอาต์ เซ็กชันต่าง ๆ Apply และการบันทึกคอนฟิกูเรชัน ความหมายของการตั้งค่าระดับ global แต่ละตัว อยู่ในบทตามหัวข้อ: ฟิลเตอร์ระดับ global (10), Break Even Auto (12), Stop on Opposite (13), Daily P/L Limits (14), Equity Guard และ Profit Target (15), Trading Hours (16) ที่นี่คุณเรียนรู้ตัวเครื่องมือ ที่นั่น — เรียนรู้กลไก


สารบัญ

5.1 OkurraGlobal คืออะไร 5.2 ความสัมพันธ์กับ OkurraButton — พาเนลพี่น้อง 5.3 กายวิภาคของพาเนล 5.4 สองเลย์เอาต์: แนวตั้งและแนวนอน (แถบแท็บ) 5.5 ตระกูลของเซ็กชัน — ตั้งค่าอะไรที่ไหน 5.6 Apply (N) — ตัวนับการเปลี่ยนแปลงและการยืนยัน 5.7 Save / Load .set — setup เต็มของทั้ง EA 5.8 อินดิเคเตอร์ประกอบระดับ global 5.9 Cross-sync กับ OkurraButton 5.10 วงจรการออกแบบทั่วไปสำหรับการตั้งค่าระดับ global


5.1 OkurraGlobal คืออะไร

OkurraGlobal คือพาเนลออกแบบ (design panel) ตัวที่สองของโหมดออกแบบ (design mode) — พี่น้องของ OkurraButton ในขณะที่ OkurraButton ดูแลกลยุทธ์ทั้งห้า (B1…B5) OkurraGlobal ดูแลทุกสิ่งที่ ใช้ร่วมกันทั้ง EA: ฟิลเตอร์ระดับ global, ตัวพิทักษ์บัญชี (account guardians), กลไก Break Even Auto, Stop on Opposite, Trading Hours, ออบเจ็กต์บนชาร์ต และการตั้งค่าของพาเนลควบคุมเอง

การแบ่งนั้นเรียบง่าย:

  • OkurraButton = สิ่งที่กลยุทธ์แต่ละตัวในห้าตัวทำ (บทที่ 4)
  • OkurraGlobal = กรอบที่กลยุทธ์ทั้งหมดทำงานอยู่ภายใน — ฟิลเตอร์ที่แชร์ระหว่าง button, ลิมิตที่ปกป้องบัญชี, ชั่วโมงทำงาน, กลไกของ basket

เช่นเดียวกับ OkurraButton, OkurraGlobal เป็นเครื่องมือออกแบบ — คุณจัดวางการตั้งค่าในนั้น ดูผลที่เกิดขึ้น (เช่น ฟิลเตอร์ระดับ global บนชาร์ตผ่านอินดิเคเตอร์ประกอบ) แล้วบันทึกลง .set มันไม่เทรดอะไรทั้งสิ้น และเช่นเดียวกับ OkurraButton มันเป็นเครื่องมือฟรี (บทที่ 3.2) — ใช้งานได้ทันทีหลังติดตั้ง โดยไม่ต้องมีคีย์และไม่ต้องเปิดใช้งาน

มีความแตกต่างเชิงปฏิบัติที่สำคัญอยู่หนึ่งข้อ ซึ่งเราจะกลับมาพูดถึงในหัวข้อ 5.7: คุณบันทึก .set ฉบับเต็มจาก OkurraGlobal — คอนฟิกูเรชันที่สมบูรณ์ของทั้ง EA (การตั้งค่าระดับ global บวกกับ button ทั้งห้าตัว) OkurraButton บันทึกเฉพาะ button; OkurraGlobal บันทึกทุกอย่าง ด้วยเหตุนี้ในทางปฏิบัติ OkurraGlobal จึงมักเป็น “พาเนลที่คุณส่งออก setup ที่เสร็จแล้ว” มากกว่า


5.2 ความสัมพันธ์กับ OkurraButton — พาเนลพี่น้อง

OkurraButton และ OkurraGlobal ถูกออกแบบมาให้ ทำงานร่วมกันบนชาร์ตออกแบบ (design chart) เดียวกัน (โดยไม่มี EA — บทที่ 2) โดยค่าเริ่มต้น OkurraGlobal จะปรากฏทางขวาของ OkurraButton (ด้วยระยะเยื้องที่ตั้งไว้เพื่อไม่ให้พาเนลทับกัน) ดังนั้นหลังจากวางทั้งสองลงบนชาร์ต คุณจะมีตัวออกแบบกลยุทธ์อยู่ทางซ้ายและตัวออกแบบการตั้งค่าระดับ global อยู่ทางขวา

ทั้งสองทำงานร่วมกันในสองรูปแบบ:

  • ไฟล์ .set ที่ใช้ร่วมกัน พาเนลทั้งสองอ่านและบันทึกคอนฟิกูเรชันเดียวกัน เมื่อคุณโหลด .set ในพาเนลหนึ่ง อีกพาเนลสามารถรีเฟรชส่วนของตัวเองได้ (cross-sync — หัวข้อ 5.9)
  • อินดิเคเตอร์ประกอบ (companion indicators) ระดับ global เทียบกับระดับ local OkurraButton ดึงอินดิเคเตอร์ประกอบที่แสดงฟิลเตอร์ของ button ที่ทำงานอยู่ เข้ามา; OkurraGlobal ดึงตัวที่แสดง ฟิลเตอร์ระดับ global (หัวข้อ 5.8) ทั้งสองอยู่ร่วมกันบนชาร์ตได้ — คุณเห็นบริบทระดับ global และ local พร้อมกัน

เช่นเดียวกับ OkurraButton, OkurraGlobal ไม่มีเหตุผลที่จะอยู่บนชาร์ตที่มี EA ทำงานอยู่ — เราแยกการออกแบบไว้ต่างหากจากการทำงานจริง (execution)


5.3 กายวิภาคของพาเนล

พาเนล OkurraGlobal จากบนลงล่าง:

  1. แถบชื่อ (Title bar) — ชื่อเครื่องมือ, ปุ่มยุบทั้งพาเนล ([-]/[+]), ที่จับสำหรับลาก
  2. แถบสถานะ (Status bar) — ข้อความแสดงสถานะ (เช่น “Loaded: …”, “Applied locally (state saved to disk)”, ข้อผิดพลาด)
  3. แถวปุ่มการกระทำด้านบน — ปุ่มระดับ global: R (Reset), Apply, Save, Load (หัวข้อ 5.6–5.7)
  4. เซ็กชันการตั้งค่า — 32 เซ็กชันที่ยุบได้ จัดกลุ่มตามหัวข้อ (หัวข้อ 5.5) ในหนึ่งในสองเลย์เอาต์ (หัวข้อ 5.4)

กลไกการแก้ไข เหมือนกับ OkurraButton ทุกประการ (บทที่ 4.6) คุณเปลี่ยนค่าได้ สามวิธี ขึ้นอยู่กับชนิดของช่อง:

  • ตัวเลขและข้อความ — คลิกที่ช่อง พิมพ์ค่า ยืนยันด้วย ENTER (ESC ยกเลิก)
  • ช่องที่มีตัวเลือกจำนวนน้อย (2–3)แต่ละคลิกจะกระโดดไปยังค่าถัดไปวนเป็นวงรอบ (คลิกแล้วยืนยันทันที ไม่ต้องกด ENTER) สวิตช์ on/off ทำงานแบบนี้ รวมถึงโหมด Equity Guard (target/trailing), การกระทำของ Daily P/L หรือการกระทำของ stop แบบ 3 สถานะ
  • รายการที่ยาวกว่า (timeframe, enum ขนาดใหญ่) — การคลิกจะ เปิดเมนู ให้คุณเลือกรายการจากในนั้น

เช่นเดียวกับใน OkurraButton การแยก draft → applied ก็ใช้ที่นี่: การแก้ไขจะเข้าไปอยู่ในเวอร์ชันร่าง และมีเพียง Apply เท่านั้นที่ยืนยันมัน (หัวข้อ 5.6) ส่วนช่องที่ยังไม่ได้ยืนยันจะเรืองเป็น สีทอง พาเนลยังรองรับการปรับสเกลขนาด การเลือกมุมและตำแหน่ง ฟอนต์ Consolas และการลากด้วยแถบชื่อ — เหมือนพาเนลพี่น้องของมัน


5.4 สองเลย์เอาต์: แนวตั้งและแนวนอน (แถบแท็บ)

OkurraGlobal มีเซ็กชันมากกว่า OkurraButton (32 เทียบกับ 11) จึงเสนอ สองวิธีในการจัดวางเซ็กชันเหล่านั้น:

เลย์เอาต์แนวตั้ง (คลาสสิก, ค่าเริ่มต้น) เซ็กชันเรียงซ้อนกันลงมาทีละอัน แต่ละอันยุบได้ผ่านหัวข้อที่มี +/ คุณเลื่อนพาเนลและกางเซ็กชันที่กำลังทำงานอยู่ ในเลย์เอาต์นี้หัวข้อของแต่ละเซ็กชันยังมีปุ่ม “A” (quick-Apply) เป็นตัวเลือกด้วย — มันยืนยันเฉพาะเซ็กชันนั้น (ตัวเลือกที่เปิดใช้ในการตั้งค่าพาเนล)

เลย์เอาต์แนวนอน (แถบแท็บ) ที่ด้านบนของพาเนล (ใต้แถวปุ่มการกระทำ) จะปรากฏ แถบแนวนอนของแท็บแคบ ๆ — หนึ่งแท็บต่อหนึ่งเซ็กชัน ป้ายกำกับของแต่ละแท็บคือรหัสสั้นของเซ็กชันที่เขียน ทีละตัวอักษรในแนวตั้ง (เช่น DPL, EG, GSAR, GOKUR, TH) คุณคลิกแท็บแล้วพาเนลจะแสดง เฉพาะเซ็กชันนั้นเซ็กชันเดียว เต็มความกว้าง วิธีนี้ทำให้พาเนลกระชับในแนวตั้ง — แทนที่จะเป็นรายการยาว คุณมี “บัตรดัชนี” ที่สลับได้ด้วยคลิกเดียว สะดวกเมื่อคุณออกแบบทีละเรื่อง (เช่น เฉพาะ Trading Hours) และไม่อยากเลื่อนดูทั้งหมด

สวิตช์สลับระหว่างเลย์เอาต์และแท็บที่เลือกไว้จะถูก จดจำ (ต่อชาร์ต) ดังนั้นพาเนลจะกลับมาเป็นการจัดวางของคุณหลังเปลี่ยน timeframe หรือรีสตาร์ต

เปรียบเทียบสองเลย์เอาต์ของ OkurraGlobal เคียงข้างกัน: ทางซ้ายคือเลย์เอาต์แนวตั้ง (รายการเซ็กชันที่ยุบได้ มี "A" อยู่ข้างแต่ละเซ็กชัน) ทางขวาคือเลย์เอาต์แนวนอน (แถบแท็บแนวนอนด้านบน ป้ายกำกับทีละตัวอักษร ไม่มี "A" + หนึ่งเซ็กชันที่กางอยู่); คำบรรยายระบุว่าเป็นพาเนลเดียวกัน สองวิธีในการจัดวาง
รูปที่ 5.1 — เปรียบเทียบสองเลย์เอาต์ของ OkurraGlobal เคียงข้างกัน: ทางซ้ายคือเลย์เอาต์แนวตั้ง

เลือกเลย์เอาต์ไหนดี? แนวตั้งดีเมื่อคุณอยากเห็นหลายเซ็กชันพร้อมกันและเลื่อนดู แนวนอน — เมื่อคุณมีเซ็กชันจำนวนมากและชอบกระโดดไปมาระหว่างเซ็กชันเหมือนแท็บ นี่เป็นความชอบด้านภาพล้วน ๆ ไม่มีผลต่อการตั้งค่าที่กำลังออกแบบ


5.5 ตระกูลของเซ็กชัน — ตั้งค่าอะไรที่ไหน

สามสิบสองเซ็กชันฟังดูเยอะ แต่มันจัดกลุ่มลงเป็น แปดตระกูลเชิงตรรกะ ลำดับบนพาเนลนั้นตั้งใจ: จากการจัดการโพซิชันและเงิน ผ่านฟิลเตอร์และกลไกของ basket ไปจนถึงการตั้งค่าของตัวพาเนลเอง

ตระกูลเซ็กชันบนพาเนลความหมาย → บท
โพซิชันและตัวพิทักษ์บัญชีGlobal Position Management · Daily P/L Limits · Equity Guard · Profit Target · T. on Server9, 14, 15
เซสชันการเทรดTrading Hours16
ฟิลเตอร์ระดับ globalGlobal SAR Filter · Global MMD Filter · Global SR Filter · Global OKUR Filter10
Break Even AutoBreak Even Auto (BEa) · BEa Auto-Arm: Time-of-day / SAR Flip / MMD Cross / SR Break / OKUR Cross12
Stop on OppositeStopOpp Setup · StopOpp SAR · StopOpp MMD · StopOpp SR · StopOpp OKUR13
ออบเจ็กต์บนชาร์ตActivation Zones · Target Lines11
เซ็นเซอร์ Price movementPrice Movement (การตั้งค่าที่ใช้ร่วมกัน + 4 บล็อกเซ็นเซอร์)18
พาเนลและระบบControl Panel (+ Info, + Layout) · Global Core · Alerts · Panel: Global Actions / Status + Target Blocks / Trade Markers8, 20

ข้อสังเกตเชิงปฏิบัติสองสามข้อเกี่ยวกับการแบ่งนี้:

  • ฟิลเตอร์ global (4 เซกชัน) คือชุด SAR/MMD/SR/OKUR ที่ใช้ร่วมกัน ซึ่ง button จะ “เสียบเข้าไป” ผ่าน opt-in Use Global … Filter (บทที่ 4.5 ความหมายอยู่ในบทที่ 10) ที่นี่คุณตั้งค่ามันครั้งเดียวสำหรับทั้ง EA เซกชัน Global SR Filter มี — ถัดจากแถว SR Reaction Mode — แถว “SR Last Zone Mode” คือโหมดที่โซน SR ที่ยืนยันล่าสุดกำหนดทิศทางการเข้าที่อนุญาตเพียงทิศทางเดียว (บทที่ 10.5)
  • Break Even Auto มีมากถึงหกเซกชัน — ตัว BEa เอง บวกกับเซกชัน trigger ของ Auto-Arm แยกกันอีกห้าเซกชัน (Time, SAR, MMD, SR, OKUR) สิ่งนี้สะท้อนว่า trigger แต่ละตัวมีพารามิเตอร์อิสระของตัวเอง (บทที่ 12) ตั้งแต่รุ่น 1.28 เซกชัน BEa Auto-Arm: OKUR Cross บรรจุ trigger สองตัว บนอินสแตนซ์ของ oscillator ที่ใช้ร่วมกัน: OKUR transition แบบอิงโซน และแถว Bounce (arm on pull-back) / Bounce BUY Th / Bounce SELL Th / Bounce Correction — trigger ตัวที่หก ซึ่ง arm เมื่อเกิดการเด้งออกจากจุดสุดขั้วของความอ่อนแรง (บทที่ 12.7) เซกชัน “Break Even Auto (BEa)” เองยังบรรจุเซลล์ที่ควบคุม guard และขนาดของ add-on position ด้วย: Zero-level guard (ตั้งแต่ Global 1.15 — zero-level guard มีสวิตช์ของตัวเอง เปิดใช้งานโดยค่าเริ่มต้น), Adapted sizing, Multisize x / step / max lot (ตั้งแต่รุ่น 2.00 ตัวคูณรับค่าทศนิยม และค่าต่ำกว่า 1 ให้ผลเป็นการลดขนาดแบบถดถอย — บทที่ 12.6), Adapted 1st hedge % of basket (ตั้งแต่ Global 1.15 — สเกลของ add-on แรกของ shield), Adapted tolerance unit (ตั้งแต่ Global 1.15 — หน่วยของ threshold: lot หรือ % ของ basket ที่ถูกปกป้อง) และ Adapted tolerance (0=flip, -=early) — threshold ของ zero-level guard (จนถึง Global 1.14 ใช้ป้ายชื่อ “Adapted tolerance lots (0=flip)”); บวกกับแถว 1st hedge open on arm (เดิมคือ “Instant open on arm”) และ Manual arm incl. all (เปิดใช้งานโดยค่าเริ่มต้น — การ arm ด้วยมือจะกวาดทั้งทิศทางเข้ามา; บทที่ 12.3); ตั้งแต่ Global 1.23 ที่ท้ายเซกชันยังมีคู่ Auto-Arm Mode SELL / BUY ด้วย — โหมดการรวม trigger Auto-Arm ของทิศทางนั้น (any (OR) = ตัวแรกที่เข้าเงื่อนไขจะ arm, ค่าเริ่มต้น; all (AND) = คอนฟลูเอนซ์ของทุกตัวที่เปิดใช้งาน; บทที่ 12.8); ความหมายของทั้งหมดอธิบายไว้ในบทที่ 12.6
  • Stop on Opposite มีห้าเซกชันStopOpp Setup ที่ใช้ร่วมกัน บวกกับอีกหนึ่งเซกชันต่อฟิลเตอร์ (SAR/MMD/SR/OKUR) โดยมีพารามิเตอร์อิสระจากฟิลเตอร์ของการเข้า (บทที่ 13) เซกชัน StopOpp Setup (ตั้งแต่ Global 1.25) สะท้อนกลุ่ม F7 “Stop Opposite Setup” และบรรจุแถว Sources Mode (all buttons) — โหมดการรวมฟิลเตอร์ SO ที่ทำงานอยู่ของ button ในระดับ global (any (OR) = ตัวแรกที่สวนทางจะตอบสนอง, ค่าเริ่มต้น; all (AND) = ตอบสนองเมื่อทุกตัวสวนทางพร้อมกันเท่านั้น; บทที่ 13.9) ค่านี้ใช้ร่วมกันสำหรับทุกแหล่งและทุก button — จึงอยู่ในเซกชันของตัวเอง ไม่ใช่ในเซกชันแบบต่อฟิลเตอร์อันใดอันหนึ่ง
  • T. on Server — เซกชันแยกในตระกูลตำแหน่ง/ผู้พิทักษ์ (บนพาเนลใช้ป้ายชื่อนี้): โหมดการเขียน SL/TP จริง ไว้ฝั่งเซิร์ฟเวอร์ของ broker (พร้อมตารางเวลา) เป็นทางเลือกแทน virtual (stealth) SL/TP ที่ EA คอยเฝ้าดู เราอธิบายกลไกนี้ในบทที่ 9
  • ตระกูล “Price movement sensors” คือเซกชัน Price Movement เพียงเซกชันเดียว (การตั้งค่าที่ใช้ร่วมกันของตระกูล + บล็อกเซนเซอร์สี่บล็อก บล็อกละหกแถว) — ในทางกายภาพบนพาเนลมันอยู่ระหว่าง Global Core กับ Alerts; ความหมายอยู่ในบทที่ 18
  • ตระกูล “Panel and system” ไม่เกี่ยวกับกลยุทธ์ แต่เกี่ยวกับหน้าตาและการมองเห็นของแผงควบคุม EA — จะแสดงอะไร จัดวางอย่างไร Global Core บรรจุการตั้งค่าระบบ: Magic Number พร้อมกับการทำ virtualization ของ pending order และ SL/TP (พาเนลไม่แสดงคีย์ license — คุณกรอกมันได้เฉพาะใน inputs ของ EA เท่านั้น บทที่ 3) ความหมายของการตั้งค่าเหล่านี้อธิบายไว้พร้อมกับพาเนล EA (บทที่ 8) เซกชัน Alerts ก็อยู่ในตระกูลนี้ด้วย — สิบเซลล์สำหรับปิดเสียง popup แจ้งเตือนของ EA (สวิตช์แจ้งเตือนตัวที่สิบเอ็ด — Own Registry Popup — อยู่เฉพาะในหน้าต่าง Inputs ของ EA เท่านั้น; อธิบายด้านล่างในหัวข้อย่อยนี้)

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

สิ่งเดียวกันนี้ตั้งค่าได้ในตัว EA เอง แต่ละเซกชันเหล่านี้ตรงกับกลุ่มพารามิเตอร์ในหน้าต่าง Inputs ของ EA (เช่น Global Position Management, Daily P/L Limits, Equity Guard, T. on Server, Trading Hours…) ดังนั้น OkurraGlobal จึงไม่ได้จำเป็นในทางเทคนิค — คุณตั้งค่าทุกอย่างได้โดยตรงใน EA ผ่าน F7 อย่างไรก็ตาม พาเนลให้การแบ่งเป็นเซกชันที่อ่านง่าย ให้ภาพตัวอย่างของฟิลเตอร์ global บนกราฟ และมีเครื่องหมายสีทองของการเปลี่ยนแปลงที่ยังไม่ได้ยืนยัน การออกแบบในพาเนลจึงสะดวกกว่าและเกิดข้อผิดพลาดได้ยากกว่ารายการ Inputs ดิบ ๆ ที่ยาวเหยียด (บทที่ 8.1)

เซลล์ในเซกชัน Position Management — รวมถึงค่าเบี่ยงเบนราคา (slippage)

ในตระกูล Position and account guardians เซกชัน Position Management รวบรวมการตั้งค่าการส่งคำสั่งระดับ global ถัดจากเซลล์ “Max Spread (pts)” (spread สูงสุดที่ยอมรับได้) และ “TS Min Delta (pts)” ยังมีเซลล์ ค่าเบี่ยงเบนราคา (slippage) อีกสองเซลล์:

  • “Open Slippage (pts)” (ค่าเริ่มต้น 20) — ค่าเบี่ยงเบนราคาสูงสุดที่ยอมรับได้เมื่อเปิดตำแหน่ง
  • “Close Slippage (pts)” (ค่าเริ่มต้น 500) — ค่าเบี่ยงเบนสูงสุดเมื่อปิด ค่ายิ่งมาก = การปิดถูกปฏิเสธน้อยลง (ในทางปฏิบัติคือการออกแบบบังคับ โดยแลกกับราคาที่แย่ลงเล็กน้อย)

ทำไมต้องเผื่อมากขนาดนั้นตอนปิด: บนบัญชีที่ใช้การส่งคำสั่งแบบ Instant broker จะยึดตามค่าเบี่ยงเบนที่อนุญาต และในช่วงที่ราคาวิ่งเร็วอาจปฏิเสธการปิดหรือการแก้ไข (requote) การเผื่อระยะอย่างใจกว้างตอนปิดทำให้การออกเชิงป้องกัน (การปิดฉุกเฉินของ Break Even, Equity Guard, virtual SL, การกด Close All ด้วยมือ) ไม่ถูกปฏิเสธ บนบัญชีแบบ Market ค่าเบี่ยงเบนจะถูกละเลย (การปิดวิ่งตามราคาตลาดอยู่แล้ว) แนวคิดเรื่อง Market / Instant execution และ slippage — บทที่ 3

คุณตั้งค่าเหล่านี้ในพาเนล OkurraGlobal แล้วจากนั้น — เหมือนทุกการตั้งค่า — บันทึกลง .set และโหลดเข้า EA ผ่าน F7 (ส่วน 5.7)

ภาพระยะใกล้ของเซกชัน "Position Management" ในพาเนล OkurraGlobal พร้อมเซลล์: Max Spread (pts), TS Min Delta (pts) และเซลล์ใหม่ Open Slippage (pts) = 20 และ Close Slippage (pts) = 500; คำบรรยาย: การตั้งค่าการส่งคำสั่งระดับ global แก้ไขได้ในพาเนล ส่งออกผ่าน .set → F7
รูปที่ 5.2 — ภาพระยะใกล้ของเซกชัน "Position Management" ในพาเนล OkurraGlobal พร้อมเซลล์: Max

การนอร์มัลไลซ์ lot ตามความผันผวน (ATR) — หกเซลล์

ตั้งแต่รุ่น 2.00 เซกชัน Position Management ยังบรรจุ หกเซลล์ของการนอร์มัลไลซ์ lot ด้วย ATR — กลไกที่ปรับสเกล lot พื้นฐานของทุก button แบบผกผันกับความผันผวนปัจจุบันของตลาด (ความผันผวนสูง = lot เล็กลง, ต่ำ = ใหญ่ขึ้น): สวิตช์ Lot ATR Enabled, period และ timeframe ของ ATR, ATR อ้างอิงเป็นจุด (= 100% ของ lot; 0 = กลไกอยู่เฉย ๆ แม้จะเปิดสวิตช์ไว้ก็ตาม) และขอบเขตเปอร์เซ็นต์ Min/Max (ค่าเริ่มต้น 25–400%) ทั้งหมดนี้ปิดใช้งานโดยค่าเริ่มต้น ความหมายและการปรับเทียบอธิบายไว้ในบทที่ 9.9; เช่นเดียวกับทุกเซกชันของ Global คุณส่งออกค่าผ่าน .set (คีย์ LotATR_*) และโหลดเข้า EA ผ่าน F7 — กลุ่มเดียวกันนี้ในหน้าต่าง Inputs ของ EA เรียกว่า “Lot Volatility Normalization (ATR)“

Monitor Own Only — โหมด “เฉพาะของตัวเอง”

เซลล์ “Monitor Own Only” (เปิดใช้งานโดยค่าเริ่มต้น) สลับ EA เข้าสู่โหมด “เฉพาะของตัวเอง”: หุ่นยนต์จะจัดการ (Break Even, Trailing, virtual SL/TP, basket, การปิดทั้งหมด) เฉพาะตำแหน่งที่ตัวมันเองเปิดเท่านั้น — ไม่ใช่ทุกตำแหน่งที่มี Magic Number ตรงกันบนสัญลักษณ์นั้น

มีไว้ทำไม: เมื่อ EA สองอินสแตนซ์ทำงานบนสัญลักษณ์เดียวกันด้วย Magic Number เดียวกัน (หรือทับซ้อนกัน) — เช่น กราฟสองอันของเครื่องมือเดียวกันที่ตั้งค่าต่างกัน — หากไม่มีโหมดนี้ แต่ละตัวจะเห็นตำแหน่งของอีกตัวเป็นของตัวเอง (“การรั่วข้าม”): มันจะนับรวมเข้า basket ของตัวเอง เลื่อน stop ของตำแหน่งเหล่านั้น และปิดตำแหน่งของคนอื่นเมื่อสั่ง Close All ในโหมด “เฉพาะของตัวเอง” แต่ละอินสแตนซ์จะเก็บรีจิสทรีตำแหน่งของตัวเอง (ไฟล์ถาวรใน MQL5/Files/OKU/ea_memory/ ระบุตัวตนด้วยบัญชี สัญลักษณ์ Magic และกราฟ) ซึ่งอยู่รอดจากการรีสตาร์ตเทอร์มินัลและการรีคอมไพล์

EA รู้ได้อย่างไรว่าตำแหน่งนั้นเป็น “ของตัวเอง”? ตั้งแต่ EA 1.11 รายการในรีจิสทรีถูกสร้างขึ้นในขณะที่อินสแตนซ์นี้ส่งคำสั่ง — ไม่ใช่จาก Magic Number ที่อ่านย้อนกลับมาจากการแจ้งเตือนของ broker นี่คือการเสริมความแข็งแรงโดยเจตนา: การแจ้งเตือนของ broker อาจไม่ครบถ้วน (คำสั่งแบบอะซิงโครนัสที่ถูกปฏิเสธอาจกลับมาโดยไม่มี Magic) และเมื่อสองอินสแตนซ์ใช้ Magic ร่วมกันหรือทับซ้อนกัน รีจิสทรีที่ป้อนด้วยการแจ้งเตือนจะบันทึกให้แต่ละตัวรวมถึงการเปิดของเพื่อนบ้านด้วย — เจาะรูการแยกส่วนตรงจุดที่มันควรจะปกป้องพอดี ตอนนี้ตำแหน่งของอินสแตนซ์ข้างเคียงจะไม่มีวันเข้าไปอยู่ในรีจิสทรี; ช่วงเวลาเดียวที่ EA เพิ่มตำแหน่ง “ตาม Magic” คือการ adopt ครั้งเดียวตอนเริ่มใช้โหมดนี้ครั้งแรก (ดูด้านล่าง)

พฤติกรรมสามอย่างที่ควรรู้:

  • การอัปเดตบน basket ที่เปิดอยู่นั้นปลอดภัย เมื่อรันโหมดนี้ครั้งแรก (ยังไม่มี registry) EA จะ adopt position ที่เปิดอยู่ในขณะนั้นซึ่งมี Magic ของตัวเองโดยอัตโนมัติ — ไม่มีอะไรหลุดออกจากการดูแล หาก registry มีอยู่แล้วแต่ยังมีบาง position อยู่นอก registry (กรณีฉุกเฉิน) ในการตั้งค่าของ EA มีสวิตช์แบบใช้ครั้งเดียว Global_OwnOnly_AdoptExisting (ปิดไว้เป็นค่าเริ่มต้น): เปิดใช้งาน รีสตาร์ท EA — มันจะเพิ่ม position ปัจจุบันทั้งหมดที่มี Magic ของตัวเองเข้าไปใน registry — แล้วปิดกลับ
  • ทนทานต่อการปฏิเสธของ Broker position จะถูกลบออกจาก registry ก็ต่อเมื่อมัน หายไปจากบัญชีจริง ๆ แล้วเท่านั้น การปิดที่ถูก Broker ปฏิเสธไม่ได้ผลักมันออกจากการปกป้อง
  • ขอบเขตของโหมดนี้: มันแยก การจัดการ position ที่เปิดอยู่ ผลลัพธ์ที่ปิดแล้วของวัน (Daily P/L) ยังคงนับต่อ Magic Number — สอง instance ที่ใช้ Magic ร่วมกันยังคงแบ่ง “ศูนย์ประจำวัน” ร่วมกัน ด้วยเหตุนี้การเว้นระยะฐาน Magic ให้ห่างกัน (ทีละ ≥7) จึงยังเป็นสิ่งที่แนะนำ (บทที่ 9); “own only” ป้องกันการปะปนกันของ basket แต่ไม่ได้ยกเว้นคุณจากสุขอนามัยของ Magic

การปิดเซลล์นี้จะคืนพฤติกรรมแบบเดิม (ทุกอย่างตาม symbol+Magic) เซลล์ที่เกี่ยวข้องกันคือ “Markers Own Only” ในส่วน Panel: Trade Markers ซึ่งจำกัด การแสดงผล ของการเทรด (ลูกศรประวัติและเส้น position) ให้เหลือเฉพาะ instance นี้ในลักษณะเดียวกัน — รายละเอียดในบทที่ 19

Close Model — วิธีที่ EA ส่งคำสั่งปิด

สองเซลล์ควบคุมวิธีการส่ง คำสั่งปิด (Close All, Equity Guard, Profit Target, Basket Max Loss, BEa, virtual SL/TP):

  • “Close Model (0=Auto 1=Sync 2=Async 3=Adapt)” (ค่าเริ่มต้น 0 = Auto; จนถึง EA 1.22 ค่าเริ่มต้นคือ 3 = Adaptive) — โหมดของความพยายามปิด ครั้งแรก:
    • 0 Auto — พฤติกรรมแบบคลาสสิก: เคารพสวิตช์ Async Close All
    • 1 Sync — ซิงโครนัสเสมอ: การปิดแต่ละครั้งรอการยืนยันจาก Broker ก่อนที่คำสั่งถัดไปจะออกไป (ช้าที่สุดเมื่อ basket ใหญ่ คาดเดาได้สูงสุด)
    • 2 Async — อะซิงโครนัสเสมอ: ส่งทั้ง basket ออกไปพร้อมกัน (เร็วที่สุด)
    • 3 Adaptive — อะซิงโครนัส แต่ มีการเรียนรู้: ถ้าหลังการส่งแบบอะซิงโครนัส Broker ทิ้ง position ที่ยังไม่ปิดไว้ EA จะสลับไปโหมดซิงโครนัสตลอดช่วง cooldown หลังจากนั้นมัน จะกลับ ไปลองแบบอะซิงโครนัสด้วยตัวเอง
  • “Adapt Sync Cooldown (min)” (ค่าเริ่มต้น 30) — ความยาวของ cooldown นั้นเป็นนาที

อธิบายเป็นความเรียงเกี่ยวกับชุดค่าเริ่มต้น (ตั้งแต่ EA 1.23): โหมด Auto เคารพสวิตช์ Async Close All และสวิตช์นั้น ปิด ไว้เป็นค่าเริ่มต้น — ดังนั้นถ้าไม่เปลี่ยนอะไรเลย การปิดทุกครั้งจะรอการยืนยันจาก Broker (คาดเดาได้สูงสุด) หากคุณต้องการปิด basket ขนาดใหญ่ให้เร็วขึ้น ให้เปิด Async Close All หรือสลับโมเดลเป็น Async/Adaptive — กลไกของโหมดต่าง ๆ ไม่เปลี่ยนแปลง

ตาข่ายนิรภัยทำงานเสมอ ไม่ว่าจะใช้โมเดลใด หลังการส่งทุกครั้ง EA จะ ตรวจสอบ ว่า position ปิดจริงหรือไม่ เก็บกวาดตัวที่ตกค้างแบบซิงโครนัส และแจ้งเตือน โมเดลเลือกเพียง นัดแรก เท่านั้น — การตรวจสอบและการเก็บกวาดเป็นสิ่งที่ถอดออกไม่ได้

ก่อนที่ EA จะส่งอะไรก็ตาม มันยังตรวจสอบด้วยว่าการเทรดถูกเปิดใช้งานอยู่หรือไม่ (AutoTrading ของเทอร์มินัล + สิทธิ์ algo สำหรับ EA) เมื่อไม่ได้เปิด — แทนที่จะเป็นการปฏิเสธถล่มทลาย คุณจะได้รับการแจ้งเตือน “PROTECTION OFFLINE” ที่ชัดเจนหนึ่งครั้งทุกนาที (บทที่ 21.6)

Commission per Lot — commission ของ Broker ในการคำนวณผลลัพธ์

เซลล์ “Commission / 1.0 Lot RT (0=off)” (ค่าเริ่มต้น 0 = ปิด) บอก EA ถึงค่าประมาณของ ต้นทุน commission ของ Broker สำหรับ 1.0 lot ทั้งไปและกลับ (round-turn: เปิด + ปิด) ในสกุลเงินของบัญชี ตัวอย่าง: Broker คิด 3.50 USD ต่อข้าง → ใส่ 7.0 คุณจะพบค่านี้ในข้อกำหนดบัญชีของ Broker ของคุณ

มีไว้เพื่ออะไร: แพลตฟอร์มไม่รายงานค่า commission บนโพซิชันที่เปิดอยู่ — กำไร/ขาดทุนปัจจุบัน (floating) ของมันจึงดูดีกว่าความเป็นจริง เมื่อคุณใส่ค่าลงไป EA จะลด floating ของทุกโพซิชันที่เปิดอยู่ลงเท่ากับ lots × cost เพื่อให้ Equity Guard, Basket Max Loss, Daily P/L และแผง Status เห็นผลลัพธ์สุทธิ และตอบสนองที่ระดับ threshold จริง ไม่ใช่ระดับที่ถูกทำให้สูงเกินจริงด้วยต้นทุน นอกจากนี้:

  • “Close profitable only” (และ Profit Target ในโหมด “close losing only”) จะไม่ถือว่า position ที่แทบจะครอบคลุมแค่ commission ของตัวเองเป็น position ที่มีกำไร
  • shield ของ BEa ขยับระดับ break-even เพื่อให้ “ศูนย์” ครอบคลุม commission ของ basket ด้วย — มันจึงปิดช้าลงเล็กน้อย แต่ที่ศูนย์จริงหลังหักต้นทุน (บทที่ 12.2)

EA ไม่ประมาณค่า สำหรับการเทรดที่ปิดแล้ว — ตรงนั้นมันนับ commission จริงที่ Broker ลงบัญชีไว้ เสมอ (รวมถึงส่วนที่ถูกเรียกเก็บไปแล้วตอนเปิด position) ค่า 0 = การคำนวณผลลัพธ์เหมือนเดิมทุกประการ

ส่วน Alerts — การควบคุมหน้าต่างป๊อปอัป

EA รายงานเหตุการณ์สำคัญด้วย ป๊อปอัปแจ้งเตือน ของ MetaTrader (Alert) และหากต้องการก็ยังส่ง push notification ไปยังโทรศัพท์ของคุณได้ด้วย ระหว่างการเทรดที่เข้มข้น ป๊อปอัปอาจกองพะเนิน — ส่วน Alerts (ตั้งแต่ EA 1.08 / Global 1.05) ให้คุณเปิดใช้งานแต่ละกลุ่มแยกกัน สวิตช์สิบเอ็ดตัว (ตัวที่สิบ — BEa Level Cross Popup — มาใน EA 1.20 / Global 1.15; ตัวที่สิบเอ็ด — Own Registry Popup — ใน EA 1.26 และตอนนี้มีอยู่เฉพาะในหน้าต่าง Inputs ของ EA เท่านั้น แผงแสดงสิบเซลล์) ตั้งแต่ EA 1.23 ถูกปิดไว้เป็นค่าเริ่มต้นโดยมีข้อยกเว้นหนึ่งเดียว: Own Registry Popup เปิดมาจากโรงงาน (เป็นข้อมูลล้วน ๆ — บทที่ 7.9) ป๊อปอัปที่เหลือคุณเปิดอย่างรู้ตัว เฉพาะตัวที่คุณอยากเห็น (จนถึงเวอร์ชัน 1.22 ทั้งหมดเปิดไว้เป็นค่าเริ่มต้น):

เซลล์แจ้งเตือนเมื่อใด
Auto-Close Popupตัวพิทักษ์ (guardian) ปิด position โดยอัตโนมัติ — ป๊อปอัปบอกว่าเป็นตัวใด (Equity Guard / Profit Target / Basket Max Loss / Target Line)
Daily Limit Popupลิมิตกำไรหรือขาดทุนประจำวันทำงาน (Daily P/L, บทที่ 14)
Naked SL Popupbutton เปิด virtual SL ไว้แต่ StopLoss=0 — การเปิดถูกบล็อก ป๊อปอัปอธิบายว่าเพราะอะไร
Instance Conflict PopupEA instance อื่นใช้ Magic Number เดียวกันหรือทับซ้อนกัน (บทที่ 9)
BEa Armed Popupหลังรีสตาร์ท EA แล้ว shield ของ BEa ยังคง armed อยู่ (บทที่ 12)
BEa Level Cross Popupระดับการปกป้องของ BEa ข้ามไปอยู่ฝั่งของ shield — basket ที่ถูกปกป้องต้องการให้ตลาดเดินสวนทางกับมันไกลขึ้นจึงจะถึงศูนย์ (บทที่ 12.6)
Protection Offline PopupAutoTrading ปิดอยู่และการส่งคำสั่งเพื่อปกป้องถูกบล็อก — “PROTECTION OFFLINE” (บทที่ 21.6)
Broker Refusal PopupBroker ปฏิเสธการเลื่อน SL หรือการปิด — รวมถึงการแจ้งเตือนเกี่ยวกับตัวที่ตกค้างและการลองใหม่
Trigger Loop Popupตรวจพบ trigger loop ระหว่าง button และ cooldown เริ่มทำงาน (บทที่ 17)
Own Registry Popup (EA 1.26; เฉพาะหน้าต่าง EA Inputs — F7)เหตุการณ์ของ own-registry (บทที่ 7.9): orphan ที่มีหลักฐานความเป็นเจ้าของ — ป๊อปอัปรายตัว; กรณีที่ไม่มีหลักฐาน — ป๊อปอัปรวมหนึ่งครั้งต่อเซสชัน; pending order ที่ถูกกวาดหลังรีสตาร์ท; คำเตือน MagicBase ≤ 0 — สวิตช์ตัวเดียวที่เปิดไว้เป็นค่าเริ่มต้น
Push Notificationsสวิตช์หลักของช่องทาง push ไปยังโทรศัพท์ (MetaQuotes ID)

สามกฎที่ควรรู้:

  • คุณปิดเสียงเฉพาะป๊อปอัป / push เท่านั้น สวิตช์แต่ละตัวปิดเฉพาะช่องทางป๊อปอัป/push ของกลุ่มตัวเอง — รายการใน Experts journal (log) ยังคงอยู่เสมอ ดังนั้นการวินิจฉัยจึงไม่มีวันตาบอด (บทที่ 21)
  • การแจ้งเตือนเรื่องไลเซนส์ไม่มีสวิตช์ — โดยตั้งใจ คุณต้องเห็นเสมอว่าทำไม EA จึงไม่เทรด เพื่อให้ทนได้ ป๊อปอัปเกี่ยวกับปัญหาเดิมที่ยังคงค้างอยู่จะซ้ำอย่างมาก หนึ่งครั้งทุก 4 ชั่วโมง (บทที่ 3.7); บรรทัดใน journal ถูกเขียนทุกครั้งที่มีการพยายาม
  • Push ต้องมี MetaQuotes ID ที่ตั้งค่าไว้ใน MT5 (Tools → Options → Notifications) หากไม่มี สวิตช์ที่เปิดอยู่ก็เพียงแค่ไม่ส่งอะไรเลย

อธิบายเป็นความเรียงเกี่ยวกับสวิตช์ตัวที่สิบ: BEa Level Cross Popup แจ้งเตือน เฉพาะ เมื่อระดับการปกป้องของ shield BEa ข้ามไปอยู่ฝั่งของ add-on position — สำหรับ basket SELL เป้าหมายจะไปอยู่ เหนือ ราคา สำหรับ basket BUY จะอยู่ ใต้ ราคา ซึ่งหมายความว่า basket ที่ถูกปกป้องตอนนี้ต้องการให้ตลาดเดิน สวนทางกับมันไกลขึ้น สถานะ “locked” (lot เท่ากัน — ไม่มีเป้าหมายและไม่มีเส้น) ถูกจงใจให้บันทึกเฉพาะใน log เท่านั้น: เมื่อใช้ equalizing shield มันเกิดขึ้นทุกครั้งที่ arm และการแจ้งเตือนมันจะกลบกรณีที่อันตรายจริง ๆ (บทที่ 12.6)

อธิบายเป็นความเรียงเกี่ยวกับสวิตช์ตัวที่สิบเอ็ด: Own Registry Popup (Global_AlertOwnRegistry ตั้งแต่ EA 1.26) คือ อเลิร์ตตัวเดียวที่เปิดใช้งานมาจากโรงงาน — เป็นข้อมูลล้วนๆ ไม่เคยเปลี่ยนแปลงการเทรด (ถูกปิดเสียงในเทสเตอร์) ครอบคลุมเหตุการณ์ของ registry ความเป็นเจ้าของโพซิชัน: orphan ที่มีหลักฐานความเป็นเจ้าของจะได้ popup แยกรายตัว ส่วนกรณีที่ไม่มีหลักฐานจะถูกรวบเป็น popup สรุปหนึ่งครั้งต่อเซสชัน บวกกับข้อความเกี่ยวกับ Pending Order ที่ถูกกวาดทิ้งหลังการรีสตาร์ท และคำเตือน MagicBase ≤ 0 สวิตช์นี้ ไม่มีเซลล์ในแผง Global 1.18 — คุณตั้งค่าได้เฉพาะในหน้าต่าง Inputs ของ EA (F7) เท่านั้น ไฟล์ .set ที่บันทึกจากแผงไม่มีคีย์นี้อยู่ ดังนั้นการโหลดผ่าน F7 จึงคงค่าเริ่มต้นไว้ (เปิดใช้งาน) การปิดใช้งาน (Global_AlertOwnRegistry=false) จะดับเฉพาะ popup เท่านั้น — รายการใน Experts journal ยังคงอยู่ รายละเอียดและตัวป้องกันการถล่มข้อความ — บทที่ 7.9

เช่นเดียวกับทุกเซกชันของ Global — คุณส่งออกการตั้งค่าผ่าน .set (คีย์ Global_Alert…) และโหลดเข้า EA ผ่าน F7 กลุ่ม “Alerts” กลุ่มเดียวกันนี้อยู่ในหน้าต่าง Inputs ของ EA โดยตรง

ภาพระยะใกล้ของเซกชัน "Alerts" ในแผง OkurraGlobal: 10 เซลล์เรียงตามลำดับในโค้ด Global 1.17 (Auto-Close Popup, Daily Limit Popup, Naked SL Popup, Instance Conflict Popup, BEa Armed Popup, BEa Level Cross Popup, Protection Offline Popup, Broker Refusal Popup, Trigger Loop Popup, Push Notifications), **ทั้งหมดเป็น false — ปิดใช้งานโดยค่าเริ่มต้นตั้งแต่ EA 1.23**; ถัดไปมีป้ายเน้นของสวิตช์ตัวที่สิบเอ็ด **Own Registry Popup (EA 1.26) = true — เฉพาะหน้าต่าง EA Inputs (F7), ตัวเดียวที่เปิดใช้งานมาจากโรงงาน, เป็นข้อมูลล้วนๆ (บทที่ 7.9)**; คำอธิบายประกอบ: "สวิตช์ควบคุมเฉพาะ popup/push — log ยังคงอยู่เสมอ", "อเลิร์ตเรื่องไลเซนส์ไม่มีสวิตช์ปิด (สูงสุด 1 popup / 4 ชม.)"
รูปที่ 5.3 — ภาพระยะใกล้ของเซกชัน "Alerts" ในแผง OkurraGlobal: 10 เซลล์เรียงตามลำดับในโค้ด Gl

5.6 Apply (N) — ตัวนับการเปลี่ยนแปลงและการยืนยันค่า

OkurraGlobal — เช่นเดียวกับ OkurraButton — แยก draft (การแก้ไขปัจจุบันของคุณ) ออกจาก applied (สถานะที่ยืนยันแล้ว ซึ่ง companion indicators อ่านค่าจากตรงนั้นและเป็นสิ่งที่คุณส่งออก) Apply ย้าย draft → applied

สิ่งที่ OkurraGlobal เพิ่มเข้ามาคือ ตัวนับการเปลี่ยนแปลงบนปุ่ม Apply โดยตรง เมื่อคุณมีการแก้ไขที่ยังไม่ยืนยัน ปุ่มจะแสดง Apply (N) โดย N คือจำนวนช่องที่รอการยืนยัน เมื่อยืนยันทุกอย่างแล้ว ปุ่มจะแสดงเพียง Apply สิ่งนี้ทำให้คุณเห็นได้ทันทีว่ามีการเปลี่ยนแปลง กี่รายการ ที่ค้างอยู่ใน draft — ช่วยได้มากเมื่อมีเซกชันจำนวนมาก ซึ่งง่ายที่จะลืมว่ามีบางอย่างเปลี่ยนไปตรงไหนสักแห่ง

ในเลย์เอาต์แนวตั้ง เซกชันต่างๆ ยังมี ปุ่ม “A” เพิ่มเติม — นี่คือทางลัดไปยัง Apply แบบเต็ม ตัวเดียวกัน: การคลิก “A” ข้างเซกชันใดก็ได้จะยืนยัน ทั้งแผง (ทุกเซกชันพร้อมกัน) เหมือนกับปุ่ม Apply หลักทุกประการ ปุ่ม “A” ไม่แสดงตัวนับและไม่ยืนยันแบบเลือกเฉพาะส่วน — มันมีอยู่เพื่อให้คุณไม่ต้องเลื่อนกลับไปที่ปุ่มหลักเมื่อแผงยาวและถูกเลื่อนลงไปแล้ว

สิ่งที่ Apply ทำ (โมเดลแบบแมนวล บทที่ 2.7) เหมือนกับใน OkurraButton ทุกประการ:

  1. Draft → applied (บันทึกลงสถานะภายใน Global_applied.ini)
  2. สำเนาที่บันทึกอัตโนมัติไปยังประวัติ (OKU/history/auto_Global_<timestamp>.ini) — แบ็กอัปแบบหมุนเวียน
  3. การรีเฟรช global companion indicators บนชาร์ต

และเช่นเดียวกับใน OkurraButton: Apply ไม่ส่งอะไรไปยัง EA เลย เพื่อให้คอนฟิกไปถึงตัวโรบ็อต — Save .set + F7 (ส่วน 5.7)

ปุ่ม R (Reset) ล้างสถานะ global ที่ apply ไว้ (มีตัวป้องกันการคลิกโดยไม่ตั้งใจ) โดยไม่แตะต้องประวัติ — เทียบเท่ากับ Reset ใน OkurraButton


5.7 Save / Load .set — setup เต็มของ EA ทั้งตัว

นี่คือจุดที่ OkurraGlobal ต่างจาก OkurraButton ในเชิงฟังก์ชัน และเป็นเหตุผลที่มันมักถูกเรียกว่า “แผงหลักสำหรับการส่งออก”

Save — การบันทึก setup เต็ม การคลิก Save ใน OkurraGlobal บันทึกลง .set เป็น คอนฟิกครบถ้วนของ EA ทั้งตัว:

  • เซกชัน global (การตั้งค่าทั้งหมดจาก 32 เซกชันของแผงนี้)
  • บวกกับพารามิเตอร์ของทั้งห้า button (B1…B5)

นี่คือไฟล์ที่พร้อมโหลดเข้าโรบ็อต “ตามที่เป็น” — ทุกอย่างอยู่ในนั้น หลังจากคลิก Save จะมีไดอะล็อกบันทึกเล็กๆ เปิดขึ้นพร้อมช่องใส่ชื่อ — คุณตั้งชื่อไฟล์ได้ตรงนั้นเลย ในไดอะล็อก (มีชื่อเริ่มต้น Global_<timestamp>.set แนะนำให้; ยืนยันด้วย “V” ยกเลิกด้วย “X”) ไฟล์จะไปอยู่ในไดเรกทอรี OKU/sets/ และเปลี่ยนชื่อภายหลังได้ในไดอะล็อก Load (บทที่ 7.2)

เปรียบเทียบกับ OkurraButton Save ใน OkurraButton บันทึกเฉพาะ button (B1…B5) โดยไม่มีเซกชัน global ส่วน Save ใน OkurraGlobal บันทึกทั้งหมด (global + buttons) หากคุณกำลังออกแบบ setup เต็มและต้องการไฟล์เดียวสำหรับ EA — ให้บันทึกจาก OkurraGlobal การเปรียบเทียบโดยละเอียดของ .set ทั้งสองชนิด — บทที่ 2.4 และคำอธิบายเต็มเรื่องการย้ายคอนฟิก — บทที่ 7

Load — การโหลด .set เปิดตัวเรียกดูไฟล์ .set ใน OKU/sets/ คุณเลือกไฟล์ แผงจะโหลดเซกชัน global จากไฟล์นั้น (และ — ผ่าน cross-sync — ส่งส่วนของ OkurraButton ให้มัน) ในไดอะล็อก Load คุณยังเปลี่ยนชื่อไฟล์ที่บันทึกไว้ได้ด้วย


5.8 Global companion indicators

OkurraGlobal ดึง เวอร์ชัน global ของ companion indicators เข้ามา — แสดงฟิลเตอร์ global บนชาร์ต นั่นคือตัวที่ button เสียบเข้าใช้ผ่าน opt-in:

  • การโหลดอัตโนมัติของ global SAR — วางทับด้วยอินดิเคเตอร์ OkurraGlobalSAR (จุด SAR แบบ global)
  • การโหลดอัตโนมัติของ global MMD — วางทับด้วย OkurraGlobalMMD (clouds ของ MMD แบบ global)
  • การโหลดอัตโนมัติของ global SR — วางทับด้วย OkurraGlobalSR (โซน SR แบบ global)
  • การโหลดอัตโนมัติของ global OKUR — วางทับด้วย OkurraGlobalOscillator (Global OKUR Filter ในหน้าต่างแยก)
  • การถอดอินดิเคเตอร์อัตโนมัติ — ลบเลเยอร์ทับเหล่านี้ออกเมื่อคุณถอด OkurraGlobal ออกจากชาร์ต

สวิตช์ทั้งห้าตัว เปิดใช้งานโดยค่าเริ่มต้น — หลังจากวาง OkurraGlobal ลงบนชาร์ต ชุดเลเยอร์ทับแบบ global ทั้งหมดจะดึงตัวเองเข้ามา และเมื่อถอดแผงออก มันก็จะหายไปพร้อมกัน

อินดิเคเตอร์เหล่านี้แสดง บริบท global — ไม่ว่า button ตัวใดจะแอ็กทีฟอยู่ใน OkurraButton ก็ตาม ด้วยเหตุนี้ ขณะที่คุณออกแบบฟิลเตอร์ global คุณจะเห็นบนชาร์ตทันทีว่ามันตกอยู่ตรงไหน และปรับจูนให้เข้ากับกลยุทธ์ที่จะเสียบเข้ามาใช้ได้ คำอธิบายเต็มของ companion indicators (ทั้งแบบ local และ global) — บทที่ 6

สถานะศูนย์ แม้ว่าการโหลดอัตโนมัติจะเปิดไว้โดยค่าเริ่มต้น แต่เลเยอร์ทับแบบ global ตัวหนึ่งๆ จะปรากฏ ก็ต่อเมื่อ คุณเปิด “Show … On Chart” ให้มันเท่านั้น (หลัง Apply) หากไม่ทำ OkurraGlobal จะไม่วาดมันเลย — ชาร์ตใหม่จะยังคงว่างเปล่า (บทที่ 6.6)


5.9 Cross-sync กับ OkurraButton

เมื่อทั้งสองแผงอยู่บนชาร์ตเดียวกัน จะมีการซิงโครไนซ์ระหว่างกันตอนโหลด .set (กลไกอธิบายไว้ในบทที่ 2.5):

  • คุณโหลด .set ใน OkurraGlobal → OkurraGlobal โหลดเซกชัน global ส่วน OkurraButton (ถ้ามีอยู่) โหลดพารามิเตอร์ B1…B5 จากไฟล์เดียวกัน
  • คุณโหลด .set ใน OkurraButton → OkurraButton โหลด button ต่างๆ ส่วน OkurraGlobal โหลดเซกชัน global

การโหลดไฟล์ครั้งเดียวจึงรีเฟรชทั้งสองแผง — คุณไม่ต้องโหลดคอนฟิกเดียวกันสองครั้ง การซิงโครไนซ์นี้เป็นเรื่องเฉพาะของชาร์ต และ — ควรย้ำอีกครั้ง — ไม่แตะต้อง EA เพื่อให้การเปลี่ยนแปลงไปถึงโรบ็อต คุณต้องบันทึก .set แล้วโหลดเข้าใน EA ผ่าน F7


5.10 วงจรการออกแบบโดยทั่วไปสำหรับการตั้งค่า global

จังหวะการทำงานกับ OkurraGlobal เป็นฝาแฝดของวงจรกับ OkurraButton (บทที่ 4.12) เพียงแต่เกี่ยวข้องกับกรอบที่กลยุทธ์ต่างๆ ทำงานอยู่ภายใน:

  1. วาง OkurraGlobal ลงบนชาร์ตออกแบบ (ควรวางข้าง OkurraButton โดยไม่มี EA) global companion indicators จะดึงตัวเองเข้ามาเอง
  2. เลือกเลย์เอาต์ — แนวตั้งหรือแนวนอน (ส่วน 5.4) — ขึ้นอยู่กับว่าคุณทำงานแบบไหนได้สะดวก
  3. ออกแบบการตั้งค่า ในตระกูลเซกชัน (ส่วน 5.5): เริ่มจากสิ่งที่คุณต้องการเปิดใช้จริงๆ — เช่น ฟิลเตอร์ global ถ้าจะให้ button ใช้งานมัน และ guardians ของบัญชี ถ้าคุณต้องการลิมิต ที่เหลือปล่อยไว้ที่ค่าเริ่มต้นที่สมเหตุสมผล
  4. Apply สังเกตตัวนับ Apply (N) — เมื่อมันกลับไปเป็น Apply แปลว่ายืนยันทุกอย่างแล้ว global companion indicators จะวาดใหม่ตามคอนฟิกใหม่
  5. มองที่ชาร์ต ฟิลเตอร์ global ตกอยู่ตรงจุดที่คุณต้องการให้มันกรองสัญญาณของ button หรือไม่ แก้ไขแล้วยืนยันอีกครั้ง
  6. เมื่อทุกอย่างพร้อม — คลิก Save เพื่อบันทึก .set แบบเต็ม (global + button ทั้งหมด) นี่คือไฟล์ที่คุณจะโหลดเข้า EA (บทที่ 7)

โดยปกติคุณจะออกแบบในทั้งสองแผงคู่ขนานกัน: button ใน OkurraButton กรอบการทำงานใน OkurraGlobal และในตอนท้ายบันทึกทั้งหมดด้วย Save ครั้งเดียวจาก OkurraGlobal ความอดทนและการเฝ้าสังเกต companion indicators — ที่นี่ เช่นเดียวกับทุกที่ในโหมดออกแบบ — คือเครื่องมือหลัก


เท่านี้ก็จบคู่ของแผงออกแบบ ในบทถัดไปเราจะดู companion indicators — เครื่องมือแสดงผลแปดตัวที่แสดงบนชาร์ตว่าฟิลเตอร์และออสซิลเลเตอร์เห็นอะไร: อ่านมันอย่างไร ใช้เมื่อไร และมันทำงานร่วมกับแผงต่างๆ และกับ EA อย่างไร