สวัสดีครับเพื่อนๆ เทรดเดอร์ทุกคน! วันนี้เราจะมาพูดถึงรูปแบบการเทรดที่น่าสนใจ นั่นคือ รูปแบบสปายค์ของ Boom Index ซึ่งสามารถช่วยให้เราค้นหาจังหวะการเข้าซื้อที่ดีได้ในตลาดนี้
การตรวจจับรูปแบบสปายค์ขาขึ้น
-
รูปแบบ 3 แท่ง:
-
แท่งที่ 1: แท่งเขียวที่มีขนาดใหญ่ (สปายค์ขาขึ้น).
-
แท่งที่ 2: แท่งแดง (การย่อตัว).
-
แท่งที่ 3: แท่งเขียวที่มีขนาดใหญ่ (สปายค์ขาขึ้น).
-
-
เมื่อรูปแบบนี้ปรากฏขึ้น จะมีการสร้าง โซน ขึ้นมา
การสร้างโซน
-
จะมี สี่เหลี่ยมสีน้ำเงิน วาดจากช่วงสูง/ต่ำของ 3 แท่ง
-
จะมี เส้นแนวนอนสีเขียวสด วาดที่ราคาเปิดของแท่งกลาง (แท่งที่ 2)
-
เส้นนี้จะขยายไปในอนาคตจนกว่าราคาจะกลับมา
-

อธิบายค่า Input
mq5 input color BoxColor = clrBlue; // สีของกล่องรูปแบบ 3 แท่ง input color EntryLineColor = clrLime; // สีของเส้นเข้า input ENUM_LINE_STYLE EntryLineStyle = STYLE_SOLID; // รูปแบบของเส้นเข้า input int BoxWidth = 2; // ความกว้างของกรอบกล่อง input int EntryLineWidth = 2; // ความกว้างของเส้นเข้า input int EntryLineLength = 200; // ระยะทางที่เส้นเข้าขยายออก
ค่าต่างๆ เหล่านี้ช่วยให้เราควบคุมรูปแบบของกล่องและเส้นเข้าได้อย่างเต็มที่
แนวคิดหลัก
เราต้องการค้นหารูปแบบขาขึ้น 3 แท่ง:
1. แท่งแรก – ขาขึ้นที่แข็งแกร่ง (สปายค์)
2. แท่งที่สอง – การย่อตัวขาลง
3. แท่งที่สาม – สปายค์ขาขึ้นอีกครั้ง
เมื่อรูปแบบนี้ปรากฏ เราจะวาด:
- กรอบรอบรูปแบบ
- เส้นแนวนอนที่ราคาเปิดของแท่งที่ 2 (จุดเข้า)
เมื่อราคากลับมาที่เส้นนี้ ("การบรรเทา") เราจะตัดเส้นนั้นออกและหลีกเลี่ยงการวาดซ้ำ
โครงสร้างข้อมูล
struct PatternInfo {
datetime time; // เวลาของรูปแบบ
double entry; // ราคาที่เข้าซื้อ (ราคาเปิดของแท่งที่ 2)
double high; // สูงสุดของ 3 แท่ง
double low; // ต่ำสุดของ 3 แท่ง
bool mitigated; // ราคากลับมาที่ระดับเข้าหรือไม่?
};
CArrayObj activePatterns; เราจะใช้ struct `PatternInfo` เพื่อติดตามแต่ละรูปแบบที่ถูกต้องและเก็บไว้ในอาเรย์ ช่วยหลีกเลี่ยงการประมวลผลซ้ำ
ฟังก์ชันการเริ่มต้น
int OnInit() {
IndicatorSetInteger(INDICATOR_DIGITS, _Digits);
ArrayInitialize(activePatterns, 0);
return INIT_SUCCEEDED;
} เราจะตั้งค่าความแม่นยำของตัวบ่งชี้และเตรียมอาเรย์
การตรวจจับรูปแบบ (ในแต่ละแท่ง)
for (int i = limit - 3; i >= 0; i--) {
if (isBullish(i+2) && isBearish(i+1) && isBullish(i)) เราจะตรวจสอบว่าทั้งสามแท่งล่าสุดอยู่ในรูปแบบสปายค์หรือไม่: เขียว-แดง-เขียว
double high = MathMax(MathMax(High[i], High[i+1]), High[i+2]); double low = MathMin(MathMin(Low[i], Low[i+1]), Low[i+2]); double entry = Open[i+1];
เราจะดึงค่าที่สูงสุด/ต่ำสุดเพื่อใช้ในกรอบและระดับเข้าจากแท่งที่ 2
PatternInfo *pattern = new PatternInfo; pattern.time = Time[i]; pattern.entry = entry; pattern.high = high; pattern.low = low; pattern.mitigated = false;
สร้างและเพิ่มรูปแบบนี้ลงในรายการของเรา
การวาดกรอบและเส้น
string boxName = "Box_" + IntegerToString(Time[i]); ObjectCreate(0, boxName, OBJ_RECTANGLE, 0, Time[i+2], high, Time[i], low);
วาดสี่เหลี่ยม (กรอบ) จากรูปแบบ 3 แท่ง
string lineName = "EntryLine_" + IntegerToString(Time[i]); ObjectCreate(0, lineName, OBJ_TREND, 0, Time[i], entry, Time[i] + PeriodSeconds() * EntryLineLength, entry);
วาดเส้นเข้าจากราคาเปิดของแท่งที่ 2 ไปข้างหน้าในเวลา
การตรวจสอบการบรรเทา (ในแต่ละแท่ง)
for (int p = 0; p < activePatterns.Total(); p++) {
PatternInfo *pt = (PatternInfo*)activePatterns.At(p);
if (!pt.mitigated && Low[0] <= pt.entry) ถ้าราคาเข้ามาถึงระดับเข้าซื้อ:
pt.mitigated = true;
ObjectDelete("EntryLine_" + IntegerToString(pt.time)); ลบเส้นยาวเดิมออก
ObjectCreate(0, "MitigatedLine_" + IntegerToString(pt.time), OBJ_TREND, 0, pt.time, pt.entry, Time[0], pt.entry);
สร้างเส้นสั้นเพื่อแสดงจุดที่การบรรเทาเกิดขึ้น
ฟังก์ชันช่วย
bool isBullish(int i) {
return Close[i] > Open[i];
}
bool isBearish(int i) {
return Close[i] < Open[i];
} ตัวบ่งชี้นี้เรียบง่ายแต่ทรงพลัง:
- ตรวจจับพฤติกรรมสปายค์จริงใน Boom
- แสดงการเข้าออกของเงินที่ชาญฉลาด
- ตรวจจับการบรรเทาโดยอัตโนมัติ
ตอนนี้คุณสามารถทดสอบใน Boom 500 หรือ Boom 1000 ได้แล้ว
ขอบคุณที่อ่านครับ ถ้ามีคำถามหรืออยากแชร์ความคิดเห็น สามารถคอมเมนต์ได้เลยนะครับ!
โพสต์ที่เกี่ยวข้อง
- เครื่องมือ Open Range Breakout สำหรับ MetaTrader 5
- เครื่องมือ Master Tools - อินดิเคเตอร์สำหรับ MetaTrader 4
- เครื่องมือ MetaCOT 2 CFTC ToolBox - ชุดตัวชี้วัดสำหรับการวิเคราะห์ใน MetaTrader 4
- FX Multi-Meter II: เครื่องมือช่วยเทรดที่ครบครันสำหรับนักลงทุน
- การตั้งค่าแจ้งเตือนเมื่อมีแท่งใหม่ใน MetaTrader 4