Tool version: OkurraButton 2.00
หมายเหตุเกี่ยวกับขอบเขตของบท บทนี้อธิบายวิธีใช้งานพาเนล OkurraButton — คลิกอะไรที่ไหน, แก้ไขอย่างไร, บันทึกคอนฟิกอย่างไร ความหมายของพารามิเตอร์แต่ละตัวของ button (Threshold ทำอะไร, Movement Correction ทำงานอย่างไร ฯลฯ) อยู่ในบทที่ 9 ที่นี่คุณเรียนรู้เครื่องมือ; ที่นั่น — กลยุทธ์ เมื่ออ่านครั้งแรกควรเปิดทั้งสองบทไว้ข้างกัน
สารบัญ
4.1 OkurraButton คืออะไร 4.2 ชาร์ตออกแบบ — โดยไม่มี EA 4.3 กายวิภาคของพาเนล 4.4 การเลือก button ที่ใช้งานอยู่ (B1–B5) 4.5 สิบเอ็ดส่วนของพารามิเตอร์ 4.6 การแก้ไขค่า — ฟิลด์, ดรอปดาวน์, ENTER/ESC 4.7 Draft และ applied — “Apply” หมายถึงอะไร 4.8 แถวการทำงานด้านบน: R, To:, Apply, Save, Load 4.9 การโคลนคอนฟิกระหว่าง button (To:) 4.10 อินดิเคเตอร์ประกอบและการแสดงภาพสัญญาณ 4.11 Layout: สองคอลัมน์, สเกล, การลาก 4.12 วงจรการออกแบบทั่วไปสำหรับ button หนึ่งตัว
4.1 OkurraButton คืออะไร
OkurraButton คือพาเนลออกแบบสำหรับกลยุทธ์ทั้งห้า — เครื่องมือของโหมดออกแบบ (บทที่ 2) ที่คุณใช้จัดวางพารามิเตอร์ของ button B1…B5 ทีละตัว บนชาร์ตที่ทำงานอยู่จริงและเห็นพรีวิวทันที มันเป็นอินดิเคเตอร์ของ MetaTrader ที่วางลงบนชาร์ตด้วยการลากจากหน้าต่าง Navigator เหมือนอินดิเคเตอร์อื่น ๆ
สิ่งที่ OkurraButton เป็น:
- เป็นตัวแก้ไขคอนฟิกของ button พารามิเตอร์ทั้งหมดของกลยุทธ์เดียว — ทิศทาง, เอนจิน OKUR, triggers, pendings, ลิมิต, Lot, SL/TP, Break Even, Trailing Stop, ฟิลเตอร์โลคอล, ส่วน Activation & Exits, cross-button triggers — คุณแก้ไขได้ที่นี่บนพาเนลโดยตรง โดยไม่ต้องเข้าไปในหน้าต่าง Inputs ของ EA
- เป็นเครื่องมือทางภาพ ร่วมกับอินดิเคเตอร์ประกอบ (companion indicators, ส่วน 4.10) มันแสดงบนชาร์ตว่า button นั้นเห็นอะไร: เส้นออสซิลเลเตอร์ OKUR, จุด SAR, เมฆ MMD, โซน SR และแม้แต่ลูกศรในตำแหน่งที่สัญญาณเข้าจะเกิดขึ้นภายใต้คอนฟิกปัจจุบัน
- เป็นตัวส่งออกไปยัง
.setเมื่อคอนฟิกถูกใจคุณ คลิกเดียวก็บันทึกลงไฟล์.setซึ่งคุณจะโหลดเข้า EA (บทที่ 7)
สิ่งที่ OkurraButton ไม่ใช่: มันไม่เทรด มันไม่เปิดโพซิชัน ไม่ส่งคำสั่ง ไม่แตะบัญชี มันเป็นเครื่องมือออกแบบเท่านั้น ตัวที่ทำสิ่งที่คุณออกแบบไว้ที่นี่คือ EA — ซึ่งรันแยกกัน พร้อมกับ .set ที่โหลดไว้ (บทที่ 2)
4.2 ชาร์ตออกแบบ — โดยไม่มี EA
OkurraButton ถูกออกแบบมาให้ทำงานบนชาร์ตออกแบบแยกต่างหาก โดยไม่มี EA รันอยู่ นี่เป็นความตั้งใจและมาจากสถาปัตยกรรมสองโหมดโดยตรง: คุณออกแบบที่หนึ่ง (อินดิเคเตอร์) คุณสั่งทำงานที่อีกที่หนึ่ง (EA) และสิ่งที่เชื่อมทั้งสองเข้าด้วยกันคือไฟล์ .set — ไม่ใช่การเชื่อมต่อแบบสด (บทที่ 2.7)
ในทางปฏิบัติมันเป็นแบบนี้:
- คุณวาง OkurraButton ลงบนชาร์ตที่สะอาด (เช่น หน้าต่าง XAUUSD อันที่สอง) โดยไม่มี EA พาเนลทำงานได้ด้วยตัวเอง — ถ้า button นั้นยังไม่มีสถานะที่บันทึกไว้ OkurraButton จะหยอดค่าดีฟอลต์ที่สมเหตุสมผลให้อัตโนมัติสำหรับกลยุทธ์ที่ใช้งานอยู่ ฟิลด์เหล่านี้ไม่ใช่ค่าว่างหรือค่าสุ่ม — เป็นค่าเดียวกันทุกประการกับที่ EA มีอยู่สำหรับ button นั้น (เช่น B1/B3/B5 เริ่มต้นเป็น SELL ด้วย threshold +150 และ B2/B4 เป็น BUY ด้วย threshold −150; OKUR Period 6, SL 200 / TP 400 ฯลฯ) ดังนั้นคุณจึงมีจุดเริ่มต้นที่สอดคล้องกัน และ
.setที่ส่งออกจากมันจะไม่แสดง button ที่ “ว่าง” ใน EA มีข้อยกเว้นหนึ่งอย่างที่ตั้งใจไว้: พรีวิวทางภาพ (Show Oscillator / SAR / MMD / SR Box และลูกศรบนชาร์ต) เริ่มต้นที่นี่แบบปิดอยู่ — นั่นคือกฎ “สถานะศูนย์” (บทที่ 6.6): ชาร์ตออกแบบที่เพิ่งเปิดใหม่ควรจะว่างเปล่าจนกว่าคุณจะเปิดพรีวิวด้วยตัวเอง ใน EA เองสวิตช์ Show … On Chart ที่คู่กันมีค่าดีฟอลต์เป็นเปิด - ถ้าคุณวาง OkurraButton ลงบนชาร์ตที่มี EA รันอยู่แล้ว พาเนลจะแสดงแบนเนอร์ความขัดแย้ง พร้อมข้อความในลักษณะ “CONFLICT: Okurra EA on this chart — remove OkurraButton (design charts only, no EA)” มันเป็นการเตือนว่าเราแยกการออกแบบและการทำงานไว้บนชาร์ตต่างกัน EA มีพาเนลควบคุมของตัวเอง (บทที่ 8); OkurraButton เป็นเครื่องมือออกแบบและไม่มีหน้าที่อะไรบนชาร์ตทำงาน
การจัดวางการทำงานที่สะอาดที่สุด: หน้าต่างหนึ่งของอินสตรูเมนต์พร้อมพาเนลออกแบบ (OkurraButton + OkurraGlobal + อินดิเคเตอร์ประกอบ) หน้าต่างที่สองของอินสตรูเมนต์เดียวกันพร้อม EA ที่รันอยู่ คุณออกแบบในหน้าต่างแรก บันทึก .set แล้วโหลดมันในหน้าต่างที่สอง
การเข้าถึงเครื่องมือ OkurraButton ฟรี (บทที่ 3.2) — เช่นเดียวกับอินดิเคเตอร์ O!kurra ทั้งหมด รวมถึงอินดิเคเตอร์ประกอบที่มันดึงขึ้นมาบนชาร์ต มันทำงานได้ทันทีหลังติดตั้ง โดยไม่ต้องมีคีย์และไม่ต้องแอคทิเวต
4.3 กายวิภาคของพาเนล
พาเนล OkurraButton จากบนลงล่าง:
- แถบชื่อ — ชื่อของเครื่องมือ และทางซ้ายมีปุ่มสี่เหลี่ยมเล็ก ๆ ที่ย่อพาเนลทั้งหมด (
[-]เมื่อกางอยู่,[+]เมื่อย่ออยู่) แถบนี้ยังเป็นที่จับสำหรับลากพาเนลไปรอบ ๆ ชาร์ตด้วย (ส่วน 4.11) - แถบสถานะ — ข้อความสั้น ๆ เกี่ยวกับสถานะปัจจุบัน (เช่น “Saved: … (5/5 btns)”, “Reset done (F7 for defaults)”, คำเตือน) มันยังมองเห็นได้แม้หลังจากย่อพาเนลแล้ว
- แถวการทำงานด้านบน — ปุ่มห้าปุ่ม: R, To:, Apply, Save, Load (ส่วน 4.8)
- แถวตัวเลือก B1–B5 — ปุ่มห้าปุ่มสำหรับเลือกว่าคุณกำลังออกแบบกลยุทธ์ตัวไหนอยู่ (ส่วน 4.4) และที่ปลายแถวมีปุ่ม
Pเล็ก ๆ ที่เปิดหน้าต่างพรีเซ็ต/ประวัติของ button ที่ใช้งานอยู่ (ส่วน 4.8) ตั้งแต่ release 2.00 ไทล์ของตัวเลือกกว้างขึ้น (ห้าไทล์แทนเจ็ดไทล์ที่ความกว้างพาเนลเท่ากัน) แถวนี้มองเห็นได้เป็นค่าดีฟอลต์; ถ้าจำเป็นก็สามารถซ่อนได้ในการตั้งค่าอินดิเคเตอร์ - สิบเอ็ดส่วนของพารามิเตอร์ — บล็อกที่ย่อได้ซึ่งจัดกลุ่มพารามิเตอร์ของ button (ส่วน 4.5)
แต่ละส่วนมีหัวข้อพร้อมปุ่มย่อ (+/−) — คลิกเพื่อย่อหรือกาง สถานะการย่อจะถูกจดจำข้ามการรีเฟรชชาร์ตและการรีสตาร์ต ดังนั้นคุณสามารถให้พาเนลโฟกัสเฉพาะส่วนที่คุณกำลังทำงานอยู่ได้ ทางเลือกเพิ่มเติม: หัวข้อของแต่ละส่วนยังมีปุ่ม “A” เล็ก ๆ (quick-Apply) — มันทำเหมือน Apply หลัก (ส่วน 4.7) เพียงแต่สะดวกจากระดับของส่วนนั้น (ปุ่มเหล่านี้เปิด/ปิดได้ในการตั้งค่าอินดิเคเตอร์)
4.4 การเลือก button ที่ใช้งานอยู่ (B1–B5)
OkurraButton แก้ไขหนึ่ง button ในแต่ละครั้ง — ตัวที่ ใช้งานอยู่ ในขณะนั้น แถวตัวเลือก (ปุ่มห้าปุ่ม B1…B5) ใช้สำหรับสลับระหว่างกลยุทธ์: คุณคลิก B3 แล้วพาเนลแสดงพารามิเตอร์ของ button 3; คุณคลิก B1 แล้วคุณก็กลับมาที่ตัวแรก
- button ตัวไหนใช้งานอยู่ตอนเริ่ม คุณตั้งในตัวเลือกของอินดิเคเตอร์ (1 = B1, 2 = B2, …;
0= เริ่มแบบ “ว่าง” พาเนลรอจนกว่าคุณจะคลิกตัวเลือก) ค่าดีฟอลต์0— OkurraButton ที่เพิ่งวางลงไปยังไม่มี button ที่ถูกเลือกและไม่วาดอะไรเลย (ดู “สถานะศูนย์” บทที่ 6.6) - ตัวเลือกครั้งล่าสุดของคุณจะถูกจดจำ — ถ้าคุณสลับไป B5 แล้วเปลี่ยน timeframe หรือคอมไพล์ใหม่ พาเนลจะกลับมาที่ B5 ไม่ใช่ button ที่ตั้งไว้ตอนเริ่ม สะดวกเมื่อทำงานกับกลยุทธ์เดียวเป็นเวลานาน
- แต่ละ button มีสถานะของตัวเองที่เป็นอิสระ การสลับตัวเลือกไม่ทำให้คอนฟิกปนกัน — B1 และ B3 เป็นสองกลยุทธ์ที่แยกกัน แต่ละตัวมีชุดพารามิเตอร์ครบของตัวเอง
ตัวเลือกแสดงทิศทางของ button ที่ใช้งานอยู่ด้วยสี — สล็อตที่ถูกไฮไลต์เรืองแสงเป็นสีเขียว (BUY) หรือสีแดง (SELL) สล็อตอื่น ๆ ยังคงเป็นกลาง; คุณเห็นทิศทางของ button ที่คุณกำลังทำงานอยู่
4.5 สิบเอ็ดส่วนของพารามิเตอร์
พารามิเตอร์ของ button ถูกจัดกลุ่มเป็นสิบเอ็ดส่วน ซึ่งตรงกันแบบ 1:1 กับกลุ่มพารามิเตอร์ในหน้าต่าง Inputs ของ EA ด้วยเหตุนี้ สิ่งที่คุณออกแบบในพาเนลจึงมีการจัดวางเหมือนกันทุกประการกับคอนฟิกในโรบอต
| # | ส่วน | จัดกลุ่มอะไรไว้ (ความหมาย → บท) |
|---|---|---|
| 1 | Button Identification | ป้ายชื่อ, สถานะเริ่มต้น, ทิศทาง (บทที่ 9.2) |
| 2 | OKUR oscillator | เอนจิน OKUR: Period, Sensitivity, Timeframe, Threshold, Active Side, triggers, หน้าต่างความถูกต้องของสัญญาณ (บทที่ 9.3–9.4) |
| 3 | Position Limits / Size | ลิมิตของโพซิชัน, Lot และการปรับขนาดแบบ Multisize (บทที่ 9.8–9.9) |
| 4 | Stop Loss / Take Profit | SL และ TP (บทที่ 9.8) |
| 5 | Break Even / Trailing Stop | การบริหารโพซิชัน (บทที่ 9.9–9.10) |
| 6 | SAR Filter | ฟิลเตอร์ SAR แบบโลคอล (บทที่ 10) |
| 7 | MMD Clouds Filter | ฟิลเตอร์ MMD แบบโลคอล (บทที่ 10) |
| 8 | SR Box Filter | ฟิลเตอร์ SR แบบโลคอล (บทที่ 10) |
| 9 | Global Filters | Global Filters Mode (All/Any, ตั้งแต่ 1.28 rev 0231) + การเลือกเข้าร่วม (opt-in) ฟิลเตอร์ระดับ global (บทที่ 10) |
| 10 | Activation & Exits | โซนต่าง ๆ, Follow BEa, Stop on Opposite (บทที่ 9.12, 11–13) |
| 11 | Triggers | cross-button triggers ของ button นี้ (บทที่ 17) |
ในบทนี้เราสนใจว่าพารามิเตอร์เหล่านี้อยู่ที่ไหนและแก้ไขอย่างไร — ไม่ใช่ว่ามันหมายถึงอะไร ความหมายเต็มของแต่ละตัวอยู่ในบทที่ระบุไว้ในตาราง Pending order (Pending Stop/Limit Distance) อยู่ในส่วนเอนจิน/ลิมิต — รายละเอียดในบทที่ 9.5
พารามิเตอร์ชุดเดียวกันนี้ตั้งค่าโดยตรงใน EA ก็ได้เช่นกัน เนื่องจากส่วนต่าง ๆ ของพาเนลตรงกัน 1:1 กับกลุ่มพารามิเตอร์ในหน้าต่าง Inputs ของ EA คุณจึงป้อนค่าใดก็ได้ ทั้งที่นี่ — ในพาเนล พร้อมพรีวิวบนกราฟ — หรือ โดยตรงใน Inputs ของโรบอต โดยไม่ต้องใช้อินดิเคเตอร์ (บทที่ 2.3) พาเนลสะดวกกว่า (มีพรีวิว, มีเครื่องหมายสีทองบอกการเปลี่ยนแปลง, ผิดพลาดน้อยกว่า); ส่วน Inputs พร้อมใช้เสมอในฐานะเส้นทางแบบ “เอาเดี๋ยวนี้” ไม่ว่าทางไหน สิ่งที่ไปถึง EA ก็คือไฟล์
.setเพียงไฟล์เดียว
พาเนลมีความกว้างจำกัด — คุณมีสองวิธีที่จะไม่หลงทางในนั้น วิธีแรก: ยุบส่วนต่าง ๆ แล้วเปิดไว้เฉพาะส่วนที่กำลังทำงานอยู่ (ตอนทำงานกับเอนจิน OKUR ก็ยุบฟิลเตอร์, ตอนทำงานกับฟิลเตอร์ก็ยุบเอนจิน) วิธีที่สอง: เปิด การแบ่งพาเนลเป็นสองคอลัมน์ (ส่วน 4.11) — แล้วบางส่วนจะไปอยู่คอลัมน์ซ้าย ที่เหลืออยู่คอลัมน์ขวา และคุณเห็นได้มากขึ้นมากในคราวเดียวโดยไม่ต้องเลื่อน ทั้งสองแนวทางใช้ร่วมกันได้
4.6 การแก้ไขค่า — ช่องกรอก, dropdown, ENTER/ESC
การแก้ไขพารามิเตอร์ทำได้ บนพาเนลโดยตรง โดยไม่ต้องใช้หน้าต่างไดอะล็อกของระบบ:
- ช่องตัวเลขและข้อความ (เช่น Threshold, Stop Loss, ป้ายชื่อ) — คุณคลิกที่ค่า ช่องนั้นจะกลายเป็นแก้ไขได้ (พื้นหลังสีขาว) พิมพ์ค่าใหม่แล้วยืนยันด้วย ENTER ส่วน ESC ยกเลิกการแก้ไขและคืนค่าก่อนหน้า
- ช่องเลือกที่มีตัวเลือกจำนวนน้อย (โดยทั่วไป 2–3 เช่น ทิศทาง BUY/SELL, Active Side ABOVE/BELOW) — การคลิกต่อเนื่องจะ วนไล่ ผ่านค่าที่มีอยู่ (วนกลับมาที่เดิม) คุณคลิกจนกว่าค่าที่ต้องการจะปรากฏ — เร็วและไม่ต้องมีลิสต์ ช่องแอ็กชันบางช่องที่มีตัวเลือกมากกว่านั้นก็วนไล่เช่นกัน ในกรณีที่ลิสต์จะแคบเกินกว่าจะอ่านได้ — ในนั้นมีตัวเลือกเซนเซอร์ Price Movement และ Extreme Mode (5 ค่า; ตั้งแต่ Button 1.10 ตามคำขอของผู้ใช้)
- ช่องเลือกที่มีตัวเลือกมากกว่า (เช่น timeframe — 7–21 รายการ) — จะกางลิสต์ออกมาให้เลือกค่า เนื้อหาของลิสต์ timeframe สามารถจำกัดได้ในตัวเลือกของอินดิเคเตอร์
- สวิตช์ (เปิด/ปิด) — เช่น สวิตช์ของฟิลเตอร์หรือ Break Even — คุณคลิกเพื่อสลับระหว่างสถานะเปิดและปิด
การแก้ไขบนพาเนลจะเปลี่ยน เวอร์ชันที่ใช้งานอยู่ ของคอนฟิก (draft) — สิ่งที่คุณเห็น แต่ยังไม่ได้ “ยืนยัน” ต้อง Apply (ส่วน 4.7) เท่านั้นจึงจะย้ายเวอร์ชันใช้งานไปสู่สถานะ applied ซึ่งเป็นสิ่งที่ companion indicators อ่าน และเป็นสิ่งที่คุณส่งออกเป็น .set ความแตกต่างระหว่าง draft/applied อธิบายไว้ในส่วนถัดไป
4.7 Draft และ applied — “Apply” หมายถึงอะไร
นี่คือกลไกหลักของพาเนลและควรทำความเข้าใจให้ดี เพราะมันอธิบายว่าทำไมเพียงแค่แก้ไขช่องค่า “จึงยังไม่เกิดอะไรขึ้น”
พาเนลเก็บคอนฟิกของแต่ละ button ไว้ใน สองชั้น:
- Draft (เวอร์ชันใช้งาน) — การแก้ไขปัจจุบันของคุณ ทุกการคลิกและทุกการเปลี่ยนค่าจะมาลงที่นี่ draft คือ “กระดาษทด” — คุณเปลี่ยนได้เป็นสิบ ๆ ช่องก่อนจะยืนยันอะไรก็ตาม
- Applied — สถานะที่ยืนยันล่าสุด นี่คือสิ่งที่ companion indicators อ่าน (เพื่อวาดฟิลเตอร์ให้ถูกต้อง) และเป็นฐานของการส่งออกเป็น
.set
Apply คือการยืนยัน: มันย้าย draft → applied สิ่งที่เกิดขึ้นแน่ ๆ เมื่อคุณคลิก Apply (ในโมเดลแบบแมนวล — บทที่ 2.7):
- เวอร์ชันใช้งานกลายเป็นเวอร์ชัน applied — บันทึกลงไฟล์สถานะภายใน (
B<N>_applied.ini) - มีการเพิ่มสำเนาเข้าไปในประวัติ (
OKU/history/auto_B<N>_<timestamp>.ini) — เป็นแบ็กอัปแบบหมุนเวียนโดยไม่มีการล้างอัตโนมัติ (บทที่ 2.6) คุณย้อนกลับไปยังสถานะก่อนหน้าได้แม้ไม่มี.set - companion indicators รีเฟรช — จุด SAR, เมฆ MMD ฯลฯ วาดใหม่ตามคอนฟิกใหม่
สิ่งที่ Apply ไม่ ทำ: มันไม่ส่งอะไรไปยัง EA นี่คือโมเดลแบบแมนวล (บทที่ 2.7) — เพื่อให้คอนฟิกที่ออกแบบไว้ไปถึงโรบอต คุณต้องบันทึกมันเป็น .set (ปุ่ม Save, ส่วน 4.8) และโหลดเข้าใน EA ผ่าน F7 Apply คือ “การยืนยันแบบร่างของงานออกแบบ” ไม่ใช่ “การเริ่มใช้งานในโรบอต”
สีทอง = การเปลี่ยนแปลงที่ยังไม่ได้ยืนยัน ช่องที่คุณเปลี่ยนแต่ยังไม่ได้ยืนยัน (ต่างจากสถานะ applied) จะถูก ไฮไลต์เป็นสีทอง เป็นสัญญาณทางสายตาว่ามีบางอย่างใน draft กำลังรอ Apply หลังจากคลิก Apply ไฮไลต์จะหายไป — ค่านั้นกลายเป็นสถานะ applied ใหม่ ดังนั้นเพียงชำเลืองมองก็เห็นว่าคุณมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึกหรือไม่ และอยู่ตรงไหน
ผลในทางปฏิบัติ ถ้าคุณเปลี่ยนช่องค่าแล้วไม่คลิก Apply, companion indicators จะยังคงแสดงสถานะ เก่า — เพราะพวกมันอ่านจาก applied ไม่ใช่จาก draft (และช่องนั้นเองก็เรืองสีทอง คอยเตือนถึงการเปลี่ยนแปลงที่ยังไม่ได้ยืนยัน) คุณจะเห็นผลของการเปลี่ยนแปลงบนกราฟก็ต่อเมื่อ Apply แล้วเท่านั้น นั่นคือจังหวะตามธรรมชาติ: แก้ไขไม่กี่ช่อง → Apply → มองกราฟ → แก้ไข → Apply → …
4.8 แถวปุ่มแอ็กชันด้านบน: R, To:, Apply, Save, Load
ปุ่มห้าปุ่มในแถวบนสุดของพาเนล (แถวนี้สามารถซ่อนได้ในการตั้งค่าของอินดิเคเตอร์หากจำเป็น):
R — Reset All ล้างสถานะ applied ของ buttons (คืนพาเนลกลับสู่กระดาษเปล่า) เป็นการกระทำที่ ทำลายข้อมูล จึงถูกป้องกันด้วย การคลิกสองครั้ง: คลิกแรกเป็นการ “อาร์ม” (ปุ่มจะกลายเป็นสีแดงสว่างอยู่ไม่กี่วินาที) คลิกที่สองภายในช่วงเวลานั้นจะทำการรีเซ็ต การรีเซ็ตล้างสถานะ applied และหน่วยความจำของพาเนล แต่ ไม่ลบประวัติ (OKU/history/) — ไฟล์บันทึกอัตโนมัติก่อนหน้ายังอยู่ ดังนั้นคุณกู้คอนฟิกกลับมาได้ถ้าเผลอรีเซ็ตโดยไม่ตั้งใจ
To: — เป้าหมายของ Apply สลับว่า button ใด ที่การคลิก Apply จะไปลง โดยค่าเริ่มต้นคือ “To: self” — Apply ยืนยัน button ที่แอ็กทีฟลงบนตัวมันเอง อย่างไรก็ตาม คุณสามารถชี้ไปยังสล็อตอื่น (B1…B5) เพื่อ โคลน คอนฟิกปัจจุบันไปยัง button อื่นได้ (ส่วน 4.9)
Apply — ยืนยัน ย้าย draft → applied สำหรับเป้าหมายที่ระบุไว้ (ส่วน 4.7)
Save — บันทึก .set ส่งออก buttons ทั้งห้าตัว (B1…B5) ไปยังไฟล์ .set ใน OKU/sets/ (ชุดกลยุทธ์ครบชุด; ไม่รวมส่วน global — ส่วนนั้นคุณบันทึกจาก OkurraGlobal) หลังจากคลิก Save จะมีหน้าต่างบันทึกเล็ก ๆ เปิดขึ้น ซึ่ง คุณตั้งชื่อไฟล์ได้ทันที (ยืนยันด้วย “V”, ยกเลิกด้วย “X”) — คุณจึงใส่ชื่อที่อ่านเข้าใจได้ตั้งแต่ตอนบันทึก เช่น XAUUSD_scalp_M1 (ชื่อสามารถเปลี่ยนภายหลังได้เช่นกัน ในไดอะล็อก Load) จาก OkurraButton จะบันทึกพารามิเตอร์ของ buttons ทั้งห้าตัว (B1…B5); ถ้าคุณต้องการคอนฟิกเต็มรวมถึงส่วน global คุณต้องบันทึก .set จาก OkurraGlobal (บทที่ 2.4 และ 7)
Load — โหลดไฟล์ .set. เปิดหน้าต่างเรียกดูไฟล์ .set ที่อยู่ใน OKU/sets/ คุณเลือกไฟล์ แล้วพาเนลจะโหลดคอนฟิกของ button จากไฟล์นั้น ในไดอะล็อก Load คุณยังเปลี่ยนชื่อไฟล์ที่บันทึกไว้ได้ด้วย (เช่น เปลี่ยน Button_<timestamp>.set เป็น XAUUSD_scalp_M1.set) หากบนกราฟมี OkurraGlobal อยู่ด้วย การโหลด .set ใน OkurraButton จะซิงโครไนซ์ส่วน global section ของมันด้วยเช่นกัน (cross-sync, บทที่ 2.5)
ยังมีอีกหนึ่งปุ่มที่ทำให้ชุดนี้ครบ — ตามรูปแบบแล้วไม่ได้อยู่ในแถวปุ่มคำสั่ง แต่อยู่ที่ปลายแถวตัวเลือก B1–B5 (ในเชิงตำแหน่งคือใต้ Load พอดี):
P — presets และประวัติของ button ที่กำลังใช้งาน. เปิดหน้าต่างแสดงรายการไฟล์บันทึกของ button ที่กำลังใช้งาน จากโฟลเดอร์ประวัติ (OKU/history/, บทที่ 7.5): ไฟล์บันทึกอัตโนมัติจากทุกครั้งที่กด Apply (auto_B<N>_...), presets ที่ตั้งชื่อเองด้วยมือ (manual_B<N>_...) และการแก้ไขแบบออฟไลน์ที่ยังค้างอยู่ (offline_B<N>_...) การคลิกที่แถวหนึ่งจะโหลดไฟล์บันทึกนั้นเข้าสู่เวอร์ชันทำงาน ของ button ที่กำลังใช้งาน (draft — จากนั้นกด Apply เพื่อยืนยัน) แถวนั้นยังเปลี่ยนชื่อได้ — การตั้งป้ายชื่อของคุณเองจะเปลี่ยนไฟล์บันทึกให้กลายเป็น preset แบบ manual_B<N>_<label> — หรือลบได้ (การลบมีการป้องกันด้วยการคลิกครั้งที่สอง เช่นเดียวกับ R) หากยังไม่ได้เลือก button ใดเลย ปุ่มนี้จะตอบด้วยข้อความ “Click B1..B5 first to choose a slot” สิ่งนี้ต่างจาก Load: Load โหลดไฟล์ .set แบบเต็มจาก OKU/sets/ ส่วน P เรียกดูประวัติของ button เพียงตัวเดียว
4.9 การโคลนคอนฟิกระหว่าง button (To:)
ปุ่ม To: เปลี่ยน Apply ให้กลายเป็นเครื่องมือคัดลอกกลยุทธ์ สถานการณ์ทั่วไป: คุณออกแบบ button BUY ที่ทำงานได้ดีไว้ที่ B1 แล้วต้องการเวอร์ชัน SELL ที่ B2 หรือต้องการแทร็ก BUY ตัวที่สองที่ B3 โดยแก้เล็กน้อย
ลำดับขั้นตอน:
- เลือก button ต้นทางในแถวตัวเลือก (เช่น B1) และตรวจสอบให้แน่ใจว่าคอนฟิกของมันคือสิ่งที่คุณต้องการทำซ้ำ
- คลิก To: แล้วสลับเป้าหมายไปยังสล็อตปลายทาง (เช่น “To: B3”)
- คลิก Apply — คอนฟิกเวอร์ชันทำงานปัจจุบันจะถูกยืนยันลงบน button B3
- สลับแถวตัวเลือกไปที่ B3 แล้วปรับความแตกต่างอย่างละเอียด (เช่น เปลี่ยน Threshold, ทิศทาง, Timeframe)
วิธีนี้เร็วกว่าการพิมพ์ค่าหลายสิบช่องใหม่ด้วยมือมาก เพียงจำไว้ว่าหลังโคลนแล้วให้สลับแถวตัวเลือกไปยังเป้าหมายและตรวจสอบผลลัพธ์ — โดยเฉพาะทิศทาง หากคุณกำลังทำเวอร์ชันตรงข้าม
หลัง Apply เป้าหมายจะกลับเป็น “self” เอง ไม่มีกับดัก “ลืมเป้าหมาย”: ทุกครั้งที่กด Apply โดยตั้งค่า To: B<n> ไว้ ระบบจะทำการโคลนแล้วรีเซ็ตปุ่มกลับเป็น “To: self” ทันที — Apply ครั้งถัดไปจะยืนยัน button ที่กำลังใช้งานอีกครั้ง หากต้องการโคลนไปยังหลายสล็อต ให้ตั้งค่า To: ก่อนกด Apply ทุกครั้ง
4.10 Companion indicators และการแสดงผลสัญญาณ
OkurraButton เองวาดเพียงพาเนลเท่านั้น ส่วนภาพของตลาดที่มองผ่านเลนส์ของ button นั้นแสดงโดย companion indicators (อินดิเคเตอร์ประกอบ) OkurraButton สามารถดึงมันเข้ามาโดยอัตโนมัติได้ — สวิตช์ auto-load ในหน้าตั้งค่าของอินดิเคเตอร์ซึ่งเปิดใช้งานไว้เป็นค่าเริ่มต้นทำหน้าที่นี้:
- OkurraOscillator — โหลดเข้าไปในหน้าต่างแยกใต้กราฟ (เส้นการเคลื่อนที่ของ OKUR oscillator ของ button ที่กำลังใช้งาน)
- OkurraMMD, OkurraSAR, OkurraSR — โอเวอร์เลย์บนกราฟ: ได้แก่ MMD clouds, จุด SAR และโซน SR ของ button ที่กำลังใช้งาน ตามลำดับ
- มีสวิตช์แยกอีกตัวที่ทำให้อินดิเคเตอร์ที่ถูกดึงเข้ามาถูกลบออกไปพร้อมกับ OkurraButton เมื่อคุณเอามันออกจากกราฟ (เพื่อไม่ให้ค้างอยู่เป็น orphan)
Companion indicators แสดงคอนฟิกของ button ที่กำลังใช้งาน (ตัวที่อยู่ในแถวตัวเลือก) และรีเฟรชหลังกด Apply คุณสลับแถวตัวเลือกไปที่ B3 → มันจะแสดงฟิลเตอร์และออสซิลเลเตอร์ของ B3 นี่คือแก่นของ “การออกแบบไปพร้อมกับการมองเห็น”: คุณเปลี่ยน Threshold คลิก Apply แล้วเห็นบนกราฟทันทีว่าตอนนี้โซนที่ทำงานของออสซิลเลเตอร์ตกอยู่ตรงไหน คำอธิบายฉบับเต็มของ companion indicators — บทที่ 6
สถานะศูนย์ (Zero state). การ auto-load เพียงแค่ดึงอินดิเคเตอร์เข้ามาเท่านั้น — ไม่มีตัวใดวาดอะไรเลยจนกว่าคุณจะเลือก button และเปิดพรีวิวเฉพาะตัวสำหรับมัน (Show … On Chart, ปิดไว้เป็นค่าเริ่มต้น; หลังกด Apply) กราฟใหม่จะว่างเปล่า (บทที่ 6.6)
ลูกศรบนกราฟ (Show Arrows On Chart). โดยไม่ขึ้นกับ companion indicators OkurraButton สามารถวาดบนกราฟราคาเป็นลูกศรในตำแหน่งย้อนหลังที่ซึ่ง — ด้วยคอนฟิกปัจจุบันของ button — สัญญาณจะเกิดขึ้น และเฉพาะสัญญาณที่ผ่านฟิลเตอร์ของ button ที่กำลังใช้งานเท่านั้น (SAR / MMD / SR / OKUR รวมถึงฟิลเตอร์ระดับ global) คุณเปิดใช้งานด้วยสวิตช์ Show Arrows On Chart และตั้งช่วงประวัติในหน้าต่างตั้งค่าของอินดิเคเตอร์ (พารามิเตอร์ Vis_LookbackDays ค่าเริ่มต้น 3 วัน) — มันไม่ใช่ช่องบนพาเนล นี่คือการ “เล่นซ้ำ” ตรรกะของสัญญาณบนแท่งเทียนในอดีต — ช่วยให้คุณประเมินว่า button จะตอบสนองหนาแน่นแค่ไหนและในตำแหน่งใด ก่อนที่มันจะไปแตะ EA เลยด้วยซ้ำ ลูกศร: BUY อยู่ใต้แท่งเทียน (วัดจาก Low ของแท่งนั้น), SELL อยู่เหนือแท่งเทียน (วัดจาก High); ระยะห่างของลูกศรจากแท่งเทียนกำหนดด้วย Chart_Arrow_Offset_Pts (เป็นจุด) ลูกศรถูกวาดจากแท่งเทียนที่ปิดแล้ว จึงไม่ repaint การแสดงผลบนกราฟทั้งหมดเปิด/ปิดด้วยสวิตช์หลัก
ลูกศรบนราคาถูกกรองแล้ว ส่วนลูกศรในหน้าต่างออสซิลเลเตอร์ — เป็นแบบดิบ เหตุการณ์ OKUR เดียวกันจะให้ลูกศรที่ทุกสัญญาณดิบในหน้าต่างออสซิลเลเตอร์ (ทั้งหมด) แต่บนกราฟราคาลูกศรจะปรากฏก็ต่อเมื่อสัญญาณผ่านฟิลเตอร์เท่านั้น (โดยทั่วไปจะน้อยกว่า) ส่วนต่างระหว่างทั้งสองคือสิ่งที่ฟิลเตอร์ตัดออกไปพอดี (บทที่ 6)
นี่คือเครื่องมือออกแบบ ไม่ใช่การพยากรณ์ ลูกศรแสดงว่าสัญญาณจะเกิดขึ้นตรงไหนตามเรขาคณิตของออสซิลเลเตอร์และฟิลเตอร์ — ไม่ใช่ตำแหน่งที่ “ควรจะ” เข้า และไม่ใช่สิ่งที่ตลาดจะทำต่อไป มันมีไว้เพื่อปรับเทียบความหนาแน่นของสัญญาณ ไม่ใช่เพื่อการพยากรณ์
ระยะห่างของลูกศร (Chart Arrow Offset) — ปรับได้แบบสด ระยะห่างระหว่างลูกศรกับแท่งเทียนกำหนดโดยแถว Chart Arrow Offset (pts) ในเซกชัน OKUR — เป็นค่าเดียวที่ใช้ร่วมกันสำหรับทุก button (ค่าเริ่มต้น 30 จุด; กฎคือ SELL = High + offset, BUY = Low − offset) แถวนี้ทำงานต่างจากช่องอื่นๆ บนพาเนล: การเปลี่ยนค่ามีผลทันที (~1 วินาที) โดยไม่ต้องกด Apply และไม่มีเครื่องหมายสีทองแสดงการเปลี่ยนแปลง — เป็นความตั้งใจ เพราะมันเป็นการปรับเชิงการมองเห็นล้วนๆ ที่คุณปรับ “สดๆ” ขณะมองกราฟ ค่านี้ถูกจดจำแยกกันสำหรับแต่ละอินสตรูเมนต์ และคงอยู่แม้จะโหลดอินดิเคเตอร์ใหม่หรือเปลี่ยนช่วงเวลา มันไม่ได้เป็นส่วนหนึ่งของกลยุทธ์: ไม่ถูกบันทึกลง
.setและไม่ไปถึง EA — เป็นค่าความชอบในการแสดงผลเฉพาะเครื่อง
4.11 เลย์เอาต์: สองคอลัมน์ สเกล การลาก
คุณปรับพาเนลให้เข้ากับกราฟของคุณได้ด้วยการตั้งค่าไม่กี่รายการในตัวเลือกของอินดิเคเตอร์:
- สองคอลัมน์ (ปิดไว้เป็นค่าเริ่มต้น) เมื่อคุณเปิดการแบ่ง พาเนลจะแบ่งออกเป็นสองคอลัมน์ — เซกชันจนถึงจุดตัดที่เลือกไว้จะไปอยู่คอลัมน์ที่ 1 ส่วนที่เหลือไปคอลัมน์ที่ 2 จุดตัดเริ่มต้นคือ “หลัง Break Even / Trailing Stop” (เอนจินและการจัดการอยู่คอลัมน์ที่ 1, ฟิลเตอร์และส่วนถัดไปอยู่คอลัมน์ที่ 2); จุดตัดและระยะห่างระหว่างคอลัมน์เปลี่ยนได้ มีประโยชน์บนจอกว้าง — คุณเห็นได้มากขึ้นในคราวเดียวโดยไม่ต้องเลื่อน
- สเกล (ค่าเริ่มต้น 1.0) ตัวคูณขนาดของทั้งพาเนล — 2.0 ทำให้ขนาดเป็นสองเท่า (อ่านง่ายบนจอ 4K) ค่าที่ต่ำกว่า 1.0 จะย่อขนาดลง
- ตำแหน่งและมุม คุณวางพาเนลไว้ที่มุมบนซ้ายหรือมุมบนขวา พร้อมระยะเยื้องเป็นพิกเซล
- การลาก คุณจับพาเนลที่แถบชื่อแล้วลากไปที่ใดก็ได้บนกราฟ; ตำแหน่งจะถูกจดจำไว้
- ฟอนต์ (ค่าเริ่มต้น Consolas) แนะนำฟอนต์แบบ monospace เพื่อให้ตัวเลขเรียงตรงกันสม่ำเสมอ
การตั้งค่าเหล่านี้เป็นเรื่องการมองเห็นล้วนๆ — ไม่มีผลต่อกลยุทธ์ที่กำลังออกแบบ มีผลเพียงว่าคุณทำงานกับพาเนลได้สะดวกแค่ไหน
4.12 วงจรการออกแบบทั่วไปสำหรับ button หนึ่งตัว
รวมทุกอย่างเข้าด้วยกัน — นี่คือจังหวะการทำงานสำหรับกลยุทธ์หนึ่งตัวใน OkurraButton
- วาง OkurraButton ลงบนชาร์ตออกแบบ (โดยไม่มี EA) อินดิเคเตอร์ประกอบ (companion indicators) จะถูกดึงเข้ามาเอง (หากเปิดการโหลดอัตโนมัติไว้)
- เลือก button ในแถบเลือก (เช่น B1) ถ้าเป็นสล็อตใหม่ พาเนลจะหว่านค่าเริ่มต้นให้
- แก้ไขพารามิเตอร์ ในแต่ละส่วน — ทิศทาง, เครื่องยนต์ OKUR, triggers, SL/TP, ฟิลเตอร์ (ความหมายของแต่ละตัว — บทที่ 9) การเปลี่ยนแปลงจะไปอยู่ใน draft
- Apply draft กลายเป็น applied อินดิเคเตอร์ประกอบและลูกศรจะวาดใหม่ตามคอนฟิกใหม่
- มองที่ชาร์ต ออสซิลเลเตอร์เข้าไปในโซนตรงที่คุณต้องการหรือไม่ ลูกศรสัญญาณหนาแน่นพอสมควรหรือไม่ ฟิลเตอร์ไม่ได้บล็อกทุกอย่างใช่ไหม จดไว้ว่าจะแก้อะไร
- กลับไปที่ขั้นตอนที่ 3 แล้ววนซ้ำจนกว่าภาพจะถูกใจคุณ
- เมื่อพร้อม — คลิก Save เพื่อบันทึก
.setจากตรงนี้คอนฟิกจะไปถึง EA (บทที่ 7) และจะเริ่มเทรดก็ที่นั่นเท่านั้น
คุณทำวงจรนี้ซ้ำสำหรับทุก button ที่คุณต้องการใช้ คุณจะออกแบบกลยุทธ์ทีละตัวก็ได้ (หนึ่งเซสชัน = หนึ่ง button) หรือจะโคลนแม่แบบที่ดีไปยังสล็อตถัด ๆ ไป (หัวข้อ 4.9) แล้วปรับให้ต่างกันก็ได้ ความอดทนและการเฝ้าดูอินดิเคเตอร์ประกอบคือเครื่องมือหลักตรงนี้ — นี่คือ “ห้องทำงานที่ปลอดภัย” ที่สมมติฐานของกลยุทธ์จะมองเห็นได้ก่อนที่มันจะไปแตะบัญชี
ในบทถัดไปเราจะดูพาเนลออกแบบตัวที่สอง — OkurraGlobal — ซึ่งเป็นที่ที่คุณจัดวางการตั้งค่าที่ใช้ร่วมกันทั้ง EA ได้แก่ ฟิลเตอร์ระดับ global, ผู้พิทักษ์บัญชี, Break Even Auto, Stop on Opposite และ Trading Hours