Polanya Spike Bullish pada Boom Index: Indikator untuk MetaTrader 5

Mike 2025.07.21 19:06 18 0 0
Lampiran

Pola Spike Bullish

  • Pola 3 lilin:

    • Lilin pertama: Hijau dengan tubuh besar (spike bullish).

    • Lilin kedua: Merah (pullback).

    • Lilin ketiga: Hijau dengan tubuh besar (spike bullish).

  • Ketika pola ini muncul, sebuah zona terbentuk.

Pembentukan Zona

  • Sebuah persegi panjang biru digambar dari rentang tinggi/rendah 3 lilin tersebut.

  • Sebuah garis horizontal hijau limau digambar pada harga pembukaan lilin kedua (titik masuk).

  • Garis ini akan meluas jauh ke depan hingga harga kembali.


PENJELASAN INPUT

mq5
input color BoxColor = clrBlue;              // Warna kotak pola 3 lilin
input color EntryLineColor = clrLime;        // Warna garis entry
input ENUM_LINE_STYLE EntryLineStyle = STYLE_SOLID; // Gaya garis entry
input int BoxWidth = 2;                      // Lebar border kotak
input int EntryLineWidth = 2                // Lebar garis entry
input int EntryLineLength = 200             // Seberapa jauh garis mitigasi meluas

IDE DASAR

Kita mencari pola bullish 3 lilin

1. Lilin pertama – bullish kuat (spike)

2. Lilin kedua – retracement bearish

3. Lilin ketiga – spike bullish kuat lagi

Ketika pola ini muncul, kita menggambar:

- Sebuah kotak di sekitar pola

- Sebuah garis horizontal pada harga pembukaan lilin kedua (titik masuk)

Setelah harga kembali ke garis tersebut ("mitigasi"), kita menghentikan garis tersebut dan tidak menggambarnya lagi.

STRUKTUR DATA

struct PatternInfo {
  datetime time;   // Waktu pola
  double entry;    // Harga entry (open lilin kedua)
  double high;     // Tinggi tertinggi dari 3 lilin
  double low;      // Rendah terendah dari 3 lilin
  bool mitigated;  // Apakah harga sudah kembali ke level entry?
};

CArrayObj activePatterns;

Kita menggunakan struct `PatternInfo` untuk melacak setiap pola yang valid dan menyimpannya dalam sebuah array. Ini membantu menghindari pemrosesan berulang.

FUNGSI INISIALISASI

int OnInit() {
  IndicatorSetInteger(INDICATOR_DIGITS, _Digits);
  ArrayInitialize(activePatterns, 0);
  return INIT_SUCCEEDED;
}

Kita menetapkan presisi indikator dan mempersiapkan array kita.

POLA DETEKSI (SETIAP TICK)

```mq5
for (int i = limit - 3; i >= 0; i--) {
```
Kita melakukan loop melalui lilin dan melihat 3 bar ke belakang.
```mq5
if (isBullish(i+2) && isBearish(i+1) && isBullish(i))
```
Kita memeriksa jika 3 lilin terakhir sesuai dengan pola spike: 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 mengekstrak tinggi/rendah untuk kotak dan level entry dari lilin kedua (tengah).
Buat dan tambahkan pola ini ke daftar.
GAMBARKAN KOTAK DAN GARIS
```mq5
string boxName = "Box_" + IntegerToString(Time[i]);
ObjectCreate(0, boxName, OBJ_RECTANGLE, 0, Time[i+2], high, Time[i], low);
```
Gambar persegi panjang (kotak) dari pola 3-lilin.
```mq5
string lineName = "EntryLine_" + IntegerToString(Time[i]);
ObjectCreate(0, lineName, OBJ_TREND, 0, Time[i], entry, Time[i] + PeriodSeconds() * EntryLineLength, entry);
```
Gambar garis entry dari harga pembukaan lilin kedua ke depan dalam waktu.

PEMERIKSAAN MITIGASI (SETIAP TICK)

Loop melalui semua pola:
```mq5
for (int p = 0; p < activePatterns.Total(); p++) {
  PatternInfo *pt = (PatternInfo*)activePatterns.At(p);
```
Jika belum mitigasi, periksa:
```mq5
if (!pt.mitigated && Low[0] <= pt.entry)
```
Jika harga saat ini mengenai level entry:
```mq5
pt.mitigated = true;
ObjectDelete("EntryLine_" + IntegerToString(pt.time));
```
Hapus garis panjang asli.
```mq5
ObjectCreate(0, "MitigatedLine_" + IntegerToString(pt.time), OBJ_TREND, 0,
pt.time, pt.entry,
Time[0], pt.entry);
```
Buat garis pendek yang menunjukkan di mana mitigasi terjadi.
FUNGSI PEMBANTU
### Periksa Bullish/Bearish:
```mq5
bool isBullish(int i) {
  return Close[i] > Open[i];
}

bool isBearish(int i) {
  return Close[i] < Open[i];
}

Indikator ini sederhana namun kuat:

  • Mendeteksi perilaku spike yang nyata di Boom
  • Memvisualisasikan entry uang pintar
  • Secara otomatis mendeteksi mitigasi

Anda sekarang bisa mengujinya secara langsung di Boom 500 atau Boom 1000.


Silakan tinggalkan komentar jika ada pertanyaan atau ingin berbagi.


Daftar
Komentar 0