Alım-satım robotlarını ücretsiz olarak nasıl indirebileceğinizi izleyin
Bizi Twitter üzerinde bulun!
Fan sayfamıza katılın
Komut dosyasını ilginç mi buldunuz?
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
Komut dosyasını beğendiniz mi? MetaTrader 5 terminalinde deneyin
Görüntülemeler:
92
Derecelendirme:
(3)
Yayınlandı:
MQL5 Freelance Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git

Boğa Spike Formasyonu Tespiti

  • 3 çubuklu formasyon:

    • 1. mum: Büyük gövdeli yeşil (yükseliş spike).

    • 2. mum: Kırmızı (geri çekilme).

    • 3. mum: Büyük gövdeli yeşil (boğa yükselişi).

  • Bu desen göründüğünde bir bölge oluşturulur.

Bölge Oluşturma

  • Mavi bir dikdörtgen, 3 mumun yüksek / düşük aralığından çizilir.

  • Orta (2.) mumun açık fiyatına kireç yeşili yatay bir giriş çizgisi çizilir.

  • Çizgi, fiyat geri gelene kadar geleceğe uzanır.


GIRIŞLER AÇIKLANDI

mq5
input color BoxColor = clrBlue;              // 3 mumluk desen kutusunun rengi
input color EntryLineColor = clrLime;        // Giriş çizgisinin rengi
input ENUM_LINE_STYLE EntryLineStyle = STYLE_SOLID; // Giriş satırının stili
input int BoxWidth = 2;                      // Kutu kenarlığının genişliği
input int EntryLineWidth = 2;                // Giriş satırının genişliği
input int EntryLineLength = 200;             // Azaltma hattının ne kadar uzadığı
```
These inputs let you fully control the style of the box and entry line.


TEMEL FİKİR

3 mumluk bir boğa formasyonu arıyoruz

1. İlk mum - güçlü yükseliş (başak)

2. İkinci mum - aşağı yönlü geri çekilme

3. Üçüncü mum - yine güçlü yükseliş yükselişi


Bu göründüğünde, çiziyoruz:

- Desenin etrafında bir kutu

- İkinci mumun açılışında yatay bir çizgi (giriş noktası

Fiyat bu çizgiye döndüğünde ("azaltma"), çizgiyi kısa keseriz ve yeniden çizmekten kaçınırız.


VERI YAPILARI

struct PatternInfo {
  datetime time;   // Desenin zamanı
  double entry;    // Giriş fiyatı (2. mumun açılışı)
  double high;     // 3 mumun en yükseği
  double low;      // 3 mumun en düşük seviyesi
  bool mitigated;  // Fiyat giriş seviyesine döndü mü?
};

CArrayObj activePatterns;
```
We use a struct `PatternInfo` to track each valid pattern and store it in an array. This helps avoid repeated processing.

BAŞLANGIÇ IŞLEVINDE

int OnInit() {
  IndicatorSetInteger(INDICATOR_DIGITS, _Digits);
  ArrayInitialize(activePatterns, 0);
  return INIT_SUCCEEDED;
}
```
We set the indicator precision and prepare our array.


DESEN ALGILAMA (HER TIKTE)

```mq5
for (int i = limit - 3; i >= 0; i--) {
```
We loop through candles and look 3 bars back.

```mq5
if (isBullish(i+2) && isBearish(i+1) && isBullish(i))
```
We check if the last 3 candles fit the spike pattern: Green-Red-Green.

```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];
```
We extract high/low for box and the entry level from the 2 nd (middle) candle.

```mq5
PatternInfo *pattern = new PatternInfo;
pattern.time = Time[i];
pattern.entry = entry;
pattern.high = high;
pattern.low = low;
pattern.mitigated = false;
```
Create and add this pattern to our list.
KUTU VE ÇIZGI ÇIZME
```mq5
string boxName = "Box_" + IntegerToString(Time[i]);
ObjectCreate(0, boxName, OBJ_RECTANGLE, 0, Time[i+2], high, Time[i], low);
```
Draw the rectangle (box) from the 3-candle pattern.

```mq5
string lineName = "EntryLine_" + IntegerToString(Time[i]);
ObjectCreate(0, lineName, OBJ_TREND, 0, Time[i], entry, Time[i] + PeriodSeconds() * EntryLineLength, entry);
```
Draw the entry line from the 2 nd candle’s open forward in time.

AZALTMA KONTROLÜ (HER IŞARETTE)

Loop through all patterns:
```mq5
for (int p = 0; p < activePatterns.Total(); p++) {
  PatternInfo *pt = (PatternInfo*)activePatterns.At(p);
```
If not already mitigated, check:
```mq5
if (!pt.mitigated && Low[0] <= pt.entry)
```
If current price hits the entry level:
```mq5
pt.mitigated = true;
ObjectDelete("EntryLine_" + IntegerToString(pt.time));
```
Delete original long line.

```mq5
ObjectCreate(0, "MitigatedLine_" + IntegerToString(pt.time), OBJ_TREND, 0,
pt.time, pt.entry,
Time[0], pt.entry);
```
Create a short line showing where mitigation happened.
HELPER FUNCTIONS

###  Check Bullish/Bearish:
```mq5
bool isBullish(int i) {
  return Close[i] > Open[i];
}

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

Bu gösterge basit ama güçlüdür:

  • Boom'da gerçek sivri uç davranışını algılar
  • Akıllı para girişlerini görselleştirir
  • Hafifletmeyi otomatik olarak algılar

Artık Boom 500 veya Boom 1000 üzerinde canlı olarak test edebilirsiniz.


Sormak veya paylaşmak isterseniz teşekkürler yorum yapın.


MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal kod: https://www.mql5.com/en/code/61749

DailyPivot Vardiya DailyPivot Vardiya

DailyPivot_Shift göstergesi, ana seviyelerin günün başlangıcında bir kayma ile hesaplanabilmesi açısından normal DailyPivot göstergesinden farklıdır.

XCCX XCCX

Seçilebilir ortalama algoritması ve dinamik olarak değişen aşırı satım/aşırı alım seviyeleri ile emtia kanal endeksi.

CBitBuffer Class - Data Serialization in MQL5 CBitBuffer Class - Data Serialization in MQL5

Tek tek bitleri veya bit dizilerini bir arabelleğe okumak ve arabellekten yazmak için bir sınıf.

ATR Kanalları ATR Kanalları

ATR Kanalları göstergesi, ATR'yi (Ortalama Gerçek Aralık) dikkate alarak fiyat hareket kanalları oluşturur.