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:
- 92
- 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 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
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
Tek tek bitleri veya bit dizilerini bir arabelleğe okumak ve arabellekten yazmak için bir sınıf.
ATR Kanalları
ATR Kanalları göstergesi, ATR'yi (Ortalama Gerçek Aralık) dikkate alarak fiyat hareket kanalları oluşturur.
