Fan sayfamıza katılın
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
- Görüntülemeler:
- 38
- Derecelendirme:
- Yayınlandı:
-
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.
```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_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.

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

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

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.