คำอธิบาย
Angora Trading System — BB + RSI Range Grid cBot
--------------------------------------------------
ภาพรวม
Angora Trading System เป็น cBot แบบ mean-reversion มันมองหาราคาที่ยืดออกไปถึงขอบของ Bollinger Bands ในขณะที่ RSI ยืนยันสภาวะที่ซื้อมากเกินไปหรือลงทุนมากเกินไป และมันทำการเทรดการเคลื่อนไหวกลับไปยังแถบกลาง ตัวบ่งชี้ ADX ตัดสินใจว่าตลาดอยู่ในช่วงหรือแนวโน้ม ดังนั้นบอทจะเทรดเฉพาะเมื่อเงื่อนไขเหมาะสมกับวิธีนี้ กริดที่อิงตาม ATR เป็นทางเลือกสามารถเพิ่มตำแหน่งในตะกร้าเมื่อราคาขยับไปในทิศทางตรงกันข้ามกับการเข้าแรก ทุกขาแชร์จุดหยุดขาดทุนตะกร้าเดียว ซึ่งจะถูกส่งไปยังโบรกเกอร์พร้อมกับคำสั่งแต่ละคำสั่ง
บอทถูกออกแบบและทดสอบบน BTCUSD,US30, XAUUSD, EURUSD, GBPUSD และ USDJPY M15 มันทำงานได้กับสัญลักษณ์และกรอบเวลาทุกชนิด แต่คุณควรทดสอบย้อนหลังและปรับพารามิเตอร์สำหรับแต่ละเครื่องมือ
ตัวบ่งชี้ที่ใช้
- Bollinger Bands: โซนเข้า (แถบบนและล่าง) และเป้าหมายออก (แถบกลางหรือแถบตรงข้าม)
- RSI (Relative Strength Index): ยืนยันสภาวะซื้อมากเกินไปและขายมากเกินไปสำหรับการเข้าและการเพิ่มกริด
- ADX พร้อม +DI / -DI (Directional Movement System): ระบุระบอบตลาด (ช่วงหรือแนวโน้ม) และทิศทางแนวโน้ม และกระตุ้นการออกเมื่อแนวโน้มแตก
- ATR (Average True Range): ปรับขนาดทุกอย่างให้เข้ากับความผันผวนปัจจุบัน รวมถึงระยะห่างกริด ระยะหยุดขาดทุนตะกร้า ตัวกรองความกว้างแถบ ตัวกรองระยะเป้าหมาย และตัวกรองสเปรด
สัญญาณทั้งหมดใช้เฉพาะแท่งที่ปิดแล้วเท่านั้น ดังนั้นจึงไม่ทำการวาดซ้ำ
วิธีการเทรด
1) ระบอบตลาด (ADX)
- ADX ต่ำกว่า "ADX Max Entry" (ค่าเริ่มต้น 25) = ช่วง RANGE บอทเทรดการกลับตัวของแถบทั้งสองทิศทาง
- ADX ระหว่าง "ADX Max Entry" และ "Trend ADX Max" (ค่าเริ่มต้น 25-45) = แนวโน้ม TREND ถ้าเปิดโหมด Trend Aligned บอทเทรดการดึงกลับในทิศทางแนวโน้มเท่านั้น: มันซื้อที่แถบล่างในแนวโน้มขาขึ้น (+DI > -DI) และขายที่แถบบนในแนวโน้มขาลง (-DI > +DI)
- ADX สูงกว่า "Trend ADX Max" = ไม่มีการเข้าใหม่ (การเคลื่อนไหวสุดขีดหรือพาราโบลิก)
- ในโหมด RANGE การเข้าเทรดจะถูกข้ามในขณะที่ ADX กำลังเพิ่มขึ้นอย่างรวดเร็ว เพราะอาจมีแนวโน้มใหม่เริ่มต้น
2) สัญญาณเข้า
- โหมด ReEntry (ค่าเริ่มต้น): แท่งก่อนหน้าสัมผัสหรือปิดนอกแถบ และแท่งล่าสุดปิดกลับเข้ามาภายในแถบนั้น RSI ต้องอยู่ในสภาวะขายมากเกินไป (ซื้อ) หรือซื้อมากเกินไป (ขาย) ในหนึ่งในสองแท่งล่าสุด
- โหมด Touch: แท่งที่สัมผัสแถบบวกกับเงื่อนไข RSI ก็เพียงพอแล้ว
- ตัวกรอง: ความกว้างขั้นต่ำของ Bollinger Band (หลีกเลี่ยงการบีบตัวและสภาวะก่อนเบรกเอาท์) ระยะห่างขั้นต่ำถึงเป้าหมาย (การเคลื่อนไหวต้องใหญ่พอที่จะครอบคลุมค่าใช้จ่าย) สเปรด ช่วงเวลา และการป้องกันบัญชี
3) กริด (ตัวเลือก)
- เมื่อราคาขยับไปในทิศทางตรงกันข้ามกับตะกร้าโดย "Grid Step" x ATR บอทจะเพิ่มขาใหม่ในทิศทางเดียวกัน สูงสุด "Max Grid Levels" ขาโดยรวม ขาที่ปิดแล้วก็ถูกนับรวมในขีดจำกัดนี้ด้วย
- การเพิ่มกริดต้องการให้ RSI ยังอยู่ใกล้โซนสุดขีดและ ADX อยู่ต่ำกว่าขีดจำกัดกริด ในโหมดแนวโน้ม DI ต้องยังชี้ไปในทิศทางตะกร้า
- ทุกขาแชร์จุดหยุดขาดทุนตะกร้าเดียวที่วางไว้เกินระดับกริดสุดท้ายที่เป็นไปได้ มันถูกส่งพร้อมกับคำสั่งทุกคำสั่ง ดังนั้นไม่มีตำแหน่งใดเปิดโดยไม่มีจุดหยุดขาดทุน
- ไม่มีการเพิ่มกริดเมื่อการป้องกันกำไรทำงานอยู่
4) การออก
- เป้าหมาย: ราคาถึงแถบกลาง (หรือแถบตรงข้าม) และกำไรตะกร้าอย่างน้อย "Min Basket Profit at Target"
- การป้องกันกำไร: การล็อกที่จุดคุ้มทุนและพื้นกำไรแบบติดตาม (ดูด้านล่าง)
- ขาดทุนสูงสุดของตะกร้า (ใน R) บวกกับจุดหยุดขาดทุนตะกร้าฝั่งโบรกเกอร์
- การออกตามเวลานุ่มนวล (ปิดที่จุดคุ้มทุนหรือดีกว่าหลังจาก N แท่ง) และการออกตามเวลาที่เข้มงวด (ปิดหลังจาก N แท่ง)
- การออกเมื่อแนวโน้มแตก: ปิดตะกร้าที่ขาดทุนเมื่อ ADX เพิ่มขึ้นเหนือเกณฑ์และ DI หันไปทางตรงข้ามกับตะกร้า
"R" คืออะไร?
บอทวัดความเสี่ยงและกำไรในหน่วย R:
- 1R (ตะกร้า) = จำนวนเงินรวมที่เสียหายถ้าระดับกริดทั้งหมดเต็มและจุดหยุดขาดทุนตะกร้าถูกชน
- Rp (การป้องกัน) = ความเสี่ยงของขาแรกจนถึงจุดหยุดขาดทุนตะกร้า ค่าเกณฑ์การป้องกันกำไรใช้ Rp เป็นค่าเริ่มต้น ดังนั้นจึงยังคงสมเหตุสมผลเมื่อเปิดกริด เมื่อกริดปิด R และ Rp จะเหมือนกัน
พารามิเตอร์
[การเทรด]
- ใช้ปริมาณคงที่: เปิด = ทุกขาใช้ "ปริมาณคงที่ต่อขา" ปิด = ขนาดตำแหน่งคำนวณจาก "ความเสี่ยงตะกร้า %"
- ปริมาณคงที่ต่อขา (ล็อต): ขนาดล็อตของแต่ละขาเมื่อเปิดปริมาณคงที่ ค่าเริ่มต้น 0.01.
- ความเสี่ยงตะกร้า %: เปอร์เซ็นต์ของทุนที่เสียหายถ้าระดับกริดทั้งหมดเต็มและจุดหยุดตะกร้าถูกชน (1R) ใช้เมื่อปริมาณคงที่ปิด ค่าเริ่มต้น 2.
- ปริมาณสูงสุดต่อขา (ล็อต): ขีดจำกัดสูงสุดของขาใดขาหนึ่ง ค่าเริ่มต้น 1.0.
- การพักความเสียหาย (แท่ง): จำนวนแท่งที่ต้องรอหลังจากตะกร้าที่ขาดทุน ค่าเริ่มต้น 4.
- การลื่นไถลสูงสุด (พิป): มากกว่า 0 คำสั่งจะถูกส่งเป็นคำสั่งตลาดแบบช่วงพร้อมขีดจำกัดการลื่นไถลนี้ 0 = คำสั่งตลาดปกติ
- ป้ายชื่อ / คำต่อท้ายป้ายชื่ออัตโนมัติ: ป้ายชื่อตำแหน่ง เมื่อเปิดคำต่อท้าย ป้ายชื่อจะกลายเป็น Label_Symbol_Timeframe ดังนั้นหลายอินสแตนซ์สามารถทำงานได้โดยไม่รบกวนกัน
[Bollinger & RSI]
- ระยะเวลา BB / ส่วนเบี่ยงเบนมาตรฐาน BB / ประเภท MA BB: การตั้งค่า Bollinger Band ค่าเริ่มต้น 20 / 2.0 / Simple
- ระยะเวลา RSI: ค่าเริ่มต้น 14
- RSI ขายมากเกินไป (ซื้อ) / RSI ซื้อมากเกินไป (ขาย): เกณฑ์ RSI ในโหมด RANGE ค่าเริ่มต้น 30 / 70
[การเข้า]
- โหมดเข้า: ReEntry (ค่าเริ่มต้น) หรือ Touch
- ความกว้างแถบขั้นต่ำ (xATR): แถบต้องห่างกันอย่างน้อยจำนวน ATR นี้ ค่าเริ่มต้น 2.0
- ระยะห่างเป้าหมายขั้นต่ำ (xATR): ระยะทางจากการเข้าไปยังเป้าหมายต้องอย่างน้อยจำนวน ATR นี้ ค่าเริ่มต้น 0.8
- อนุญาตซื้อ / อนุญาตขาย: เปิดหรือปิดแต่ละทิศทาง
[โหมดแนวโน้ม]
- ใช้โหมด Trend Aligned: อนุญาตการเข้าเทรดดึงกลับในทิศทางแนวโน้มเมื่อ ADX อยู่เหนือเกณฑ์ช่วง ค่าเริ่มต้น เปิด
- Trend ADX Max: ไม่มีการเข้าใหม่เหนือค่า ADX นี้ ค่าเริ่มต้น 45
- ความแตกต่างขั้นต่ำของ DI แนวโน้ม: ความแตกต่างขั้นต่ำระหว่าง +DI และ -DI ที่ต้องการเพื่อยืนยันทิศทางแนวโน้ม ค่าเริ่มต้น 5
- RSI ขายมากเกินไป / ซื้อมากเกินไปในแนวโน้ม: เกณฑ์ RSI ที่หลวมกว่าเพื่อการดึงกลับ ค่าเริ่มต้น 40 / 60
- ตัวคูณขั้นตอนกริดแนวโน้ม: คูณขั้นตอนกริดสำหรับตะกร้าแนวโน้ม ค่าเริ่มต้น 1.5
- จำนวนระดับกริดสูงสุดในแนวโน้ม: ขาสูงสุดสำหรับตะกร้าแนวโน้ม ค่าเริ่มต้น 3
[ADX & ATR]
- ระยะเวลา ADX: ค่าเริ่มต้น 14
- ADX Max Entry: เกณฑ์ RANGE / TREND ค่าเริ่มต้น 25
- การมองย้อนกลับความชัน ADX / ความชันสูงสุดที่เพิ่มขึ้นของ ADX: ข้ามการเข้า RANGE ถ้า ADX เพิ่มขึ้นมากกว่าค่านี้ในช่วงเวลาที่มองย้อนกลับ ค่าเริ่มต้น 3 แท่ง / 3.0 (0 = ปิด)
- ระยะเวลา ATR: ค่าเริ่มต้น 14
[กริด]
- ใช้กริด: เปิดหรือปิดการเพิ่มกริด ค่าเริ่มต้น เปิด
- ขั้นตอนกริด (xATR): ระยะห่างที่ไม่เอื้ออำนวยระหว่างขากริด ค่าเริ่มต้น 1.0
- จำนวนระดับกริดสูงสุด: ขาสูงสุดต่อหนึ่งตะกร้า รวมถึงการเข้าแรก ค่าเริ่มต้น 4
- ตัวคูณปริมาณกริด: ตัวคูณล็อตต่อระดับ 1.0 = ล็อตเท่ากัน (แนะนำ) ค่าที่สูงกว่า 1.3 จะกระตุ้นคำเตือนมาร์ติงเกล
- บัฟเฟอร์หยุด (xATR): ระยะห่างของจุดหยุดตะกร้าเกินระดับกริดสุดท้าย ค่าเริ่มต้น 1.5
- การเพิ่มกริดต้องการ RSI / บัฟเฟอร์ RSI การเพิ่มกริด: ขากริดจะถูกเพิ่มเฉพาะเมื่อ RSI อยู่ภายในเกณฑ์บวกบัฟเฟอร์นี้ ค่าเริ่มต้น เปิด / 10
- ADX สูงสุดของกริด: ไม่มีการเพิ่มกริดเหนือค่า ADX นี้ (ตะกร้าช่วง) ค่าเริ่มต้น 30
- ระยะเวลาขั้นต่ำระหว่างการเพิ่มกริด (วินาที): เวลาอย่างน้อยระหว่างความพยายามเพิ่มกริด ค่าเริ่มต้น 60
[การออก]
- เป้าหมายการออก: MiddleBand (ค่าเริ่มต้น) หรือ OppositeBand
- กำไรตะกร้าขั้นต่ำที่เป้าหมาย (R): การออกเป้าหมายจะทำงานก็ต่อเมื่อกำไรตะกร้าอย่างน้อยเท่านี้ ค่าเริ่มต้น 0.05.
- ขาดทุนสูงสุดของตะกร้า (R): ปิดตะกร้าที่ขาดทุนนี้ ค่าเริ่มต้น 1.0 (0 = ปิด)
- การออกตามเวลานุ่มนวล (แท่ง): หลังจากแท่งจำนวนนี้ ปิดทันทีที่ตะกร้าอยู่ที่จุดคุ้มทุนหรือดีกว่า ค่าเริ่มต้น 32
- การออกตามเวลาที่เข้มงวด (แท่ง): ปิดเสมอหลังจากแท่งจำนวนนี้ ค่าเริ่มต้น 96
- ใช้การออกเมื่อแนวโน้มแตก / ADX การออกเมื่อแนวโน้มแตก: ปิดตะกร้าที่ขาดทุนเมื่อ ADX ถึงระดับนี้และ DI อยู่ตรงข้ามกับตำแหน่ง ค่าเริ่มต้น เปิด / 35
[การป้องกันกำไร]
- ใช้การป้องกันกำไร: ค่าเริ่มต้น เปิด
- ฐาน R การป้องกัน: FirstLeg (ค่าเริ่มต้น แนะนำใช้กับกริด) หรือ FullBasket
- ทริกเกอร์ BE / ล็อก BE (R): เมื่อกำไรสูงสุดถึงทริกเกอร์ จะล็อกกำไรขั้นต่ำเท่ากับล็อก ค่าเริ่มต้น 0.75 / 0.1
- จุดเริ่มต้นติดตาม / สัดส่วนเก็บติดตาม: เมื่อกำไรสูงสุดถึงจุดเริ่มต้นติดตาม บอทจะเก็บสัดส่วนนี้ของกำไรสูงสุด พื้นจะเคลื่อนขึ้นเท่านั้น ค่าเริ่มต้น 2.0 / 0.5
- ย้าย SL โบรกเกอร์ไปยังพื้น: แปลงกำไรที่ป้องกันเป็นราคาและย้ายจุดหยุดขาดทุนของแต่ละขาไปที่นั่น เพื่อป้องกันกำไรฝั่งโบรกเกอร์ด้วย ค่าเริ่มต้น เปิด
- ใช้ TP บางส่วน / TP บางส่วน (R) / สัดส่วนปิดบางส่วน: ปิดบางส่วนของตะกร้าที่กำไรที่กำหนด ค่าเริ่มต้น ปิด
- TP คงที่ (R): ปิดตะกร้าทั้งหมดที่กำไรคงที่ ไม่สนใจแถบ 0 = ปิด
[ตัวกรองตลาด]
- สเปรดสูงสุด (พิป) / สเปรดสูงสุด (xATR): ข้ามการเข้าและการเพิ่มกริดเมื่อสเปรดกว้างเกินไป ค่าเริ่มต้น ปิด / 0.2 x ATR
- ใช้ตัวกรองช่วงเวลา / ชั่วโมงเริ่มต้น / สิ้นสุดช่วงเวลา (UTC): เทรดเฉพาะในชั่วโมงที่กำหนด ค่าเริ่มต้น ปิด
- บล็อกการเข้าในวันหยุดสุดสัปดาห์ / ชั่วโมงตัดวันศุกร์: การป้องกันวันหยุดสุดสัปดาห์เป็นทางเลือก
[การป้องกันบัญชี]
- ขาดทุนสูงสุดรายวัน (% ของทุน) / ปิดตำแหน่งเมื่อถึงขีดจำกัดรายวัน: หยุดการเข้าใหม่ที่เหลือของวันและสามารถปิดตำแหน่งที่เปิดอยู่ได้ ค่าเริ่มต้น 5% / เปิด
- การลดลงสูงสุด (% ของทุนสูงสุด) / หยุดบอทเมื่อถึงการลดลงสูงสุด: ปิดทุกอย่างและสามารถหยุดบอทได้ ค่าเริ่มต้น 20% / เปิด
- การเทรดสูงสุดต่อวัน: 0 = ไม่จำกัด
- ความเสี่ยงรวมสูงสุด (% ของทุน): ขีดจำกัดความเสี่ยงเปิดทั้งหมดจนถึงจุดหยุดขาดทุน ค่าเริ่มต้น 3% ใช้เสมอเมื่อกำหนดขนาดโดยเปอร์เซ็นต์ความเสี่ยง
- ใช้ขีดจำกัดความเสี่ยงในโหมดคงที่: ใช้ขีดจำกัดข้างต้นเมื่อเปิดปริมาณคงที่ด้วย ค่าเริ่มต้น ปิด
[บันทึก]
- ระดับบันทึก: เงียบ ปกติ หรือ รายละเอียด
- พิมพ์บรรทัดเทรด CSV: พิมพ์บรรทัด CSV หนึ่งบรรทัดต่อหนึ่งตะกร้าที่เสร็จสมบูรณ์ เพื่อการวิเคราะห์ง่าย
ความปลอดภัยและรายงานหลังรีสตาร์ท
- หลังจากรีสตาร์ทหรือเชื่อมต่อใหม่ บอทจะสร้างตะกร้าที่เปิดอยู่ใหม่ (ทิศทาง ขา จุดหยุด กำไรที่ทำได้) จากความคิดเห็นตำแหน่งและประวัติการเทรด
- เมื่อบอทหยุดทำงาน มันจะพิมพ์สรุปสถิติ: การเทรด อัตราชนะ ปัจจัยกำไร กำไรและขาดทุนเฉลี่ย การลดลงสูงสุดและช่วงขาดทุนติดต่อกัน รวมถึงผลลัพธ์ที่จัดกลุ่มตามเหตุผลการออก (เช่น RANGE/เป้าหมาย, TREND/ล็อกกำไร)
เริ่มต้นใช้งาน
1. เริ่มต้นด้วยการทดสอบย้อนหลังบนสัญลักษณ์และกรอบเวลาของคุณโดยใช้พารามิเตอร์เริ่มต้น ใช้ข้อมูล tick และช่วงเวลาอย่างน้อย 3-6 เดือน
2. ตรวจสอบบรรทัด "STATS BY REASON" ในบันทึกเพื่อดูว่าเหตุผลการออกใดทำกำไรหรือขาดทุน
3. รักษากริดให้อยู่ในระดับอนุรักษ์นิยม: ล็อตเท่ากัน (Grid Volume Mult = 1.0) และ 3-4 ระดับ
4. รักษาความเสี่ยงต่อหนึ่งตะกร้า (หรือล็อตคงที่) ในระดับที่การป้องกันการขาดทุนรายวันไม่ถูกกระตุ้นโดยการเทรดปกติ
5. ทดสอบล่วงหน้าบนบัญชีทดลองก่อนเทรดจริง
ข้อจำกัดความเสี่ยง
การเทรดผลิตภัณฑ์ที่ใช้เลเวอเรจ เช่น CFDs และสกุลเงินดิจิทัล มีความเสี่ยงสูงและอาจไม่เหมาะสำหรับนักลงทุนทุกคน กลยุทธ์กริดและการเฉลี่ยสามารถเพิ่มการขาดทุนในช่วงแนวโน้มแรง ผลงานในอดีต รวมถึงผลการทดสอบย้อนหลัง ไม่รับประกันผลลัพธ์ในอนาคต ใช้ cBot นี้ด้วยความเสี่ยงของคุณเองและใช้เฉพาะเงินทุนที่คุณสามารถเสียได้เท่านั้น
สรุป
The system supports an optional ATR-based grid that adds positions when the price moves against the initial entry, with all legs sharing a single basket stop loss sent to the broker. Exits include reaching target bands, profit protection via break-even locks and trailing stops, basket max loss limits, time-based exits, and trend-break exits triggered by ADX signals.
Designed and tested on multiple instruments including BTCUSD, US30, XAUUSD, EURUSD, GBPUSD, and USDJPY on the M15 timeframe, it is adaptable to other symbols and timeframes with parameter adjustments. Risk and profit are measured in "R" units, representing the basket risk. The bot includes configurable parameters for trading volume, grid settings, market filters, and risk management tools such as stop loss, take profit, trailing stop, break-even management, and daily loss guards. It supports market orders and reconstructs open positions after restarts for continuity.
