Laman utama Indikator Teknikal Siaran

Corak Lonjakan Boom Index - Indikator untuk MetaTrader 5

Lampiran
61749.zip (1.79 KB, Muat turun 0 kali)

Pengenalan Corak Lonjakan Bullish

  • Corak 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 Zon

  • Satu 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 INPUT

mq5
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 INTI

Kita mencari corak bullish 3 lilin

1. Lilin pertama – bullish kuat (lonjakan)

2. Lilin kedua – pembetulan bearish

3. Lilin ketiga – lonjakan bullish kuat lagi


Apabila 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 DATA

struct 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 INIT

int 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 Boom
  • Memvisualisasikan kemasukan wang pintar
  • Mengesan mitigasi secara automatik

Anda kini boleh menguji secara langsung pada Boom 500 atau Boom 1000.


Terima kasih, tinggalkan komen jika anda ingin bertanya atau berkongsi.


Siaran berkaitan

Komen (0)