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:
38
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.

EMA_RSI_RISK-EA EMA_RSI_RISK-EA

Expert Advisor for MetaTrader 5 that combines Exponential Moving Averages (EMA) and Relative Strength Index (RSI) to generate trading signals. Includes risk management features and trading time filter.