MetaTrader5
Corak Lonjakan Boom Index - Indikator untuk MetaTrader 5
Pengenalan Corak Lonjakan BullishCorak 3 lilin:Lilin pertama: Hijau dengan badan besar (lonjakan bullish).Lilin kedua: Merah (pembetulan).Lilin ketiga: Hijau dengan badan besar (lonjakan bullish).Apabila corak ini muncul, zon dicipta.Penciptaan ZonSatu rektangel biru dilukis dari julat tinggi/rendah 3 lilin.Satu garis masuk hijau limau dilukis pada harga buka lilin tengah (lilin kedua).Garis ini akan meluas jauh ke masa depan sehingga harga kembali.PEMBAHASAN INPUTmq5
input color BoxColor = clrBlue; // Warna kotak corak 3 lilin
input color EntryLineColor = clrLime; // Warna garis masuk
input ENUM_LINE_STYLE EntryLineStyle = STYLE_SOLID; // Gaya garis masuk
input int BoxWidth = 2; // Lebar sempadan kotak
input int EntryLineWidth = 2; // Lebar garis masuk
input int EntryLineLength = 200; // Sejauh mana garis mitigasi meluas
IDE INTIKita mencari corak bullish 3 lilin1. Lilin pertama – bullish kuat (lonjakan)2. Lilin kedua – pembetulan bearish3. Lilin ketiga – lonjakan bullish kuat lagiApabila ini muncul, kita lukis:- Satu kotak di sekitar corak- Satu garis mendatar pada buka lilin kedua (titik masuk)Setelah harga kembali ke garis itu ("mitigasi"), kita pendekkan garis dan elakkan melukis semula.STRUKTUR DATAstruct PatternInfo {
datetime time; // Masa corak
double entry; // Harga masuk (buka lilin kedua)
double high; // Tinggi tertinggi dari 3 lilin
double low; // Rendah terendah dari 3 lilin
bool mitigated; // Adakah harga kembali ke tahap masuk?
};
CArrayObj activePatterns;
Kita menggunakan struct `PatternInfo` untuk mengesan setiap corak sah dan menyimpannya dalam array. Ini membantu mengelakkan pemprosesan berulang.FUNGSI ON INITint OnInit() {
IndicatorSetInteger(INDICATOR_DIGITS, _Digits);
ArrayInitialize(activePatterns, 0);
return INIT_SUCCEEDED;
}
Kita menetapkan ketepatan indikator dan menyediakan array kita.PENGESANAN CORAK (SETIAP TICK)```mq5
for (int i = limit - 3; i >= 0; i--) {
```
Kita mengulangi melalui lilin dan melihat 3 bar kembali.
```mq5
if (isBullish(i+2) && isBearish(i+1) && isBullish(i))
```
Kita semak jika 3 lilin terakhir sesuai dengan corak lonjakan: Hijau-Merah-Hijau.
```mq5
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];
```
Kita ekstrak tinggi/rendah untuk kotak dan tahap masuk dari lilin kedua (tengah).
```mq5
PatternInfo *pattern = new PatternInfo;
pattern.time = Time[i];
pattern.entry = entry;
pattern.high = high;
pattern.low = low;
pattern.mitigated = false;
```
Buat dan tambah corak ini ke dalam senarai. GAMBARKAN KOTAK DAN GARIS ```mq5
string boxName = "Box_" + IntegerToString(Time[i]);
ObjectCreate(0, boxName, OBJ_RECTANGLE, 0, Time[i+2], high, Time[i], low);
```
Lukis rektangel (kotak) dari corak 3 lilin.
```mq5
string lineName = "EntryLine_" + IntegerToString(Time[i]);
ObjectCreate(0, lineName, OBJ_TREND, 0, Time[i], entry, Time[i] + PeriodSeconds() * EntryLineLength, entry);
```
Lukis garis masuk dari buka lilin kedua ke hadapan dalam masa.PEMERIKSAAN MITIGASI (SETIAP TICK)Loop through all patterns:
```mq5
for (int p = 0; p < activePatterns.Total(); p++) {
PatternInfo *pt = (PatternInfo*)activePatterns.At(p);
```
Jika belum mitigasi, semak:
```mq5
if (!pt.mitigated && Low[0] <= pt.entry)
```
Jika harga semasa menyentuh tahap masuk:
```mq5
pt.mitigated = true;
ObjectDelete("EntryLine_" + IntegerToString(pt.time));
```
Padam garis panjang asal.
```mq5
ObjectCreate(0, "MitigatedLine_" + IntegerToString(pt.time), OBJ_TREND, 0,
pt.time, pt.entry,
Time[0], pt.entry);
```
Buat satu garis pendek menunjukkan di mana mitigasi berlaku.FUNGSI PEMBANTU
### Semak Bullish/Bearish:
```mq5
bool isBullish(int i) {
return Close[i] > Open[i];
}
bool isBearish(int i) {
return Close[i] < Open[i];
}
Indikator ini ringkas tetapi berkuasa: Mengesan tingkah laku lonjakan sebenar dalam BoomMemvisualisasikan kemasukan wang pintarMengesan mitigasi secara automatikAnda kini boleh menguji secara langsung pada Boom 500 atau Boom 1000.Terima kasih, tinggalkan komen jika anda ingin bertanya atau berkongsi.
2025.07.21