Fan sayfamıza katılın
- Görüntülemeler:
- 23
- Derecelendirme:
- Yayınlandı:
-
Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git
Hemen hemen her yapı temelli yöntem aynı soruyla başlar: Hangi yüksek ve düşük seviyeler gerçekten önemlidir? Bundan sonraki her şey — piyasa yapısı, BOS ve CHoCH, emir blokları, likidite seviyeleri — bu tek cevabın üzerine inşa edilir; dolayısıyla seçtiğiniz tanım, analizinizin geri kalanında nelerin görüneceğini belirler.
Bu soruyu yanıtlamanın birkaç yaygın yolu vardır. En bilineni 3 mum formasyonudur (fraktal): en yüksek seviyesi her iki komşusundan da yüksek olan bir mum, bir salınım zirvesidir. Bu yöntem simetriktir, hesaplanması kolaydır ve çoğu salınım göstergesinde kullanılır. Diğerleri penceresi 5 veya 7 muma genişletir ya da adayları minimum puan hareketi veya ATR'ye göre filtreler.
Bu gösterge farklı bir tanım kullanır — Trading Hub 3.0’da kullanılan geri çekilme tanımı. Bir mumun komşularından daha uzun olup olmadığını sormak yerine, fiyatın geri gelip o mumu reddedip etmediğini sorgular. Bir yüksek seviye, ancak piyasa onu oluşturan mumun düşük seviyesinden geri geçtikten sonra bir salınım haline gelir. Hiçbir şey şekle göre belirlenmez; her şey fiyatın sonrasında ne yaptığına göre belirlenir.
Pratik fark şudur: fraktal geometriyi tanımlarken, geri çekilme bir olayı tanımlar. Geri çekilme bir olay olduğu için, salınımın ne zaman geçerli hale geldiğini de gösterir — ve bu zaman damgası, yeniden çizilmeyen bir uygulamanın mümkün olmasını sağlar.
Kural nasıl işler?
Algılayıcı asla her iki tarafı aynı anda aramaz. Her seferinde tek bir tarafı arar ve tam olarak üç bilgi parçasını tutar:
| Durum | Anlam |
|---|---|
| Yön | şu anda hangi tarafın arandığı — yüksek mi yoksa düşük mü |
| İzlenen en uç değer | mevcut dalga içinde şu ana kadar görülen en yüksek yüksek (veya en düşük düşük) değer |
| Referans seviyesi | bu en yüksek veya en düşük seviyeyi oluşturan mumun karşı kenarı |
Referans seviyesi önemli bir unsurdur. Bir mum çubuğu yeni bir en yüksek seviyeyi belirlediğinde, aynı mum çubuğu daha sonra bunu teyit edecek seviyeyi de sağlar: kendi en düşük seviyesi. Yüksek seviyenin geçerli sayılması için fiyatın bu en düşük seviyeyi tekrar geçmesi gerekir.
Şekli yorumlama:
- A — bir hareket başlar. İzlenen en yüksek seviye ve referans en düşük seviye, her ikisi de tek bir mumdan gelir.
- B — her yeni yüksek seviye, her iki değeri de değiştirir. Yüksek seviye hâlâ geçicidir; hiçbir şey çizilmez.
- C — bir mum nihayet referans düşük seviyesinin altında işlem görür. Bu geri çekilmedir ve izlenen yüksek seviyeyi bir salınım yüksekliği olarak teyit eder.
- D — teyit eden mum, hemen bir dip arayışını başlatır; bu, aynısıdır: en düşük dip seviyesi takip edilir, referans ise onun en yüksek seviyesidir; bu seviyenin üzerine çıkılması, teyit eder.
Bir tarafın teyit edilmesi her zaman aramayı diğer tarafa çevirdiği için, salınım yüksekleri ve düşükleri otomatik olarak değişir. Bunu zorlayan ayrı bir kural yoktur ve önceki salınımlarla karşılaştırma yapılmaz.
Kurallar, mum bazında
Her kapanan mumda dedektör iki bağımsız soru sorar: bu mum yeni bir uç değer oluşturdu mu? ve referansı kırdı mı? Her yön için dört kombinasyon mümkündür.
| # | Mevcut trend | Mevcut mum | Eylem 1 | Eylem 2 |
|---|---|---|---|---|
| 1 | YÜKSEK seviye aranıyor | İç çubuk — yeni yüksek yok, referans düşük seviye bozulmamış | hiçbir şey | hiçbir şey |
| 2 | YÜKSEK arıyorum | Yeni yüksek, referans düşük korunuyor | izlenen yüksek = bu mumun yüksek seviyesi | referans düşük = bu mumun düşük seviyesi |
| 3 | YÜKSEK seviye aranıyor | Kırılma — yeni yüksek yok, ancak referans düşük seviyesinin altında işlem görüyor | izlenen en yüksek seviyeyi salınım en yüksek seviyesi olarak onaylayın | DÜŞÜK'e geçin: izlenen düşük = bu mumun düşük seviyesi, referans yüksek = bu mumun yüksek seviyesi |
| 4 | YÜKSEK seviye aranıyor | Dış çubuk — yeni yüksek ve referans düşük seviyesini kırıyor | Bu mumun kendi yüksek seviyesini salınım yüksekliği olarak onaylayın | DÜŞÜK'e geçin: izlenen düşük = bu mumun düşük seviyesi, referans yüksek = bu mumun yüksek seviyesi |
| 5 | DÜŞÜK arıyoruz | İç çubuk — yeni düşük yok, referans yüksek değişmedi | hiçbir şey | hiçbir şey |
| 6 | DÜŞÜŞ aranıyor | Yeni düşük, referans yüksek seviye korunuyor | izlenen düşük = bu mumun düşük seviyesi | referans yüksek = bu mumun en yüksek seviyesi |
| 7 | DÜŞÜŞ arıyoruz | Kırılma — yeni düşük yok, ancak referans yüksek seviyenin üzerinde işlem görüyor | izlenen düşük seviyeyi salınım düşük seviyesi olarak onaylayın | YÜKSEK'e geç: takip edilen yüksek = bu mumun en yüksek seviyesi, referans düşük = bu mumun en düşük seviyesi |
| 8 | DÜŞÜK seviye aranıyor | Dış çubuk — yeni dip ve referans yüksek seviyesini kırıyor | Bu mumun kendi düşük seviyesini salınım düşük seviyesi olarak onaylayın | YÜKSEK'e geçin: izlenen yüksek = bu mumun en yüksek seviyesi, referans düşük = bu mumun en düşük seviyesi |
1–4 ve 5–8 numaralı satırlar birbirinin tam aynasıdır; bu nedenle tüm motor sadece birkaç düzine satırdan oluşur.
Nadir durum: her iki yönde de kırılma gösteren bir mum
4. ve 8. satırlar ayrı bir açıklamayı hak ediyor. Genellikle bir mum ya hareketini uzatır ya da referansı kırar. Bir dış çubuk her ikisini birden yapabilir — aynı mumda yeni bir yüksek seviye oluşturur ve referans düşük seviyesinin altında işlem görür.
Bu durumda her iki kural da bunu iddia eder ve birbirleriyle çelişir. Bunu bir uzantı olarak değerlendirmek, gerçek bir kırılmayı göz ardı etmek anlamına gelir; bir kırılma olarak değerlendirmek ise, bu mumun zaten aşmış olduğu bir yüksek seviyeyi teyit etmek anlamına gelir.
Çözüm, mum çubuğunun kendisinin salınım olmasıdır:
- Kendi yüksek seviyesi, salınımın yüksek seviyesi olarak teyit edilir — az önce aştığı, daha önce izlenen yüksek seviye değil.
- Aynı mum çubuğu daha sonra ters yönlü hareketin başlangıcını oluşturur: izlenen düşük seviye, bu mum çubuğunun düşük seviyesi olur ve referans seviye ise yüksek seviyesi olur.
Böylece tek bir mum çubuğu hem salınım yüksekliğini hem de düşük ayağın başlangıcını taşır. Grafikte bu, aynı çubuğun üstünde ve altında birer işaret olarak görünür; aralarında dikey bir ayak bulunur — ki bu, tam olarak o mum çubuğunun içinde olan şeydir.
This is also why the legs are drawn as trend-line objects rather than a DRAW_SECTION buffer. A section plot stores one value per bar and could not hold two points on the same candle.
Yeniden çizilmez
İzlenen uç değer geçicidir ve asla çizilmez. Bir salınım, yalnızca onu teyit eden mum çubuğunda grafiğe yazılır ve bir kez yazıldıktan sonra asla taşınmaz, rengi değiştirilmez veya kaldırılmaz. Yalnızca kapanmış mum çubukları değerlendirilir; oluşum aşamasındaki mum çubuğu tamamen göz ardı edilir.
Bunun karşılığında ortaya çıkan durum açık ve belirtilmeye değer: teyit gecikmesi. En yeni salınım, onu doğrulayan kırılma gerçekleştikten sonra görünür. Yeni bir yüksek seviyenin oluştuğu anda bir işaret istiyorsanız, bu yanlış araçtır — bu işaret daha sonra hareket etmek zorunda kalır ve bu da yeniden çizim anlamına gelir.
Girişler
Algılama
| Giriş | Varsayılan | Ne Yapar |
|---|---|---|
| Şunları arayarak başlayın | Bir salınım zirvesi arar | İlk bacağın hangi tarafı aradığı. Bu, grafikteki en eski çubukları etkiler; ilk onaydan sonra yön tamamen kırılmalar tarafından belirlenir. Geçmişinizdeki ilk salınım yanlış görünmüyorsa, bu ayarı olduğu gibi bırakın. |
| Kırılma şununla teyit edilir | Wick | Wick, mumun en yüksek/en düşük değerlerini kullanır — bu, Trading Hub kuralının tam anlamıyla uygulanmasıdır ve daha hassas bir ayardır. Close, mumun referans seviyesinden kapanmasını gerektirir; bu, tek fitilli dalgalanmaları göz ardı eder ve belirgin şekilde daha az sayıda, ancak daha büyük salınımlar verir. |
Nasıl seçilir: Wick ile başlayın. M1–M15'te veya altın ya da endeks CFD'si gibi uzun ve gürültülü fitilleri olan bir sembol üzerinde çalışıyorsanız, Close'a geçin — bu, mantığı başka hiçbir yerde değiştirmeden tek bir ani yükselişin neden olduğu dalgalanmaların çoğunu ortadan kaldırır. Daha uzun bir zaman dilimi, daha büyük bir yapı elde etmenin diğer bir yoludur; kuralın kendisinde ayarlanacak herhangi bir hassasiyet veya dönem ayarı bulunmaz.
Görüntüleme
| Giriş | Varsayılan | Ne Yapar |
|---|---|---|
| Swing işaretçilerini çizer | true | Okları açar veya kapatır. Her iki durumda da tamponlar dolu kalır, bu nedenle iCustom yine de her salınımı döndürür. |
| Ok kodu — yüksek / düşük salınım | 217 / 218 | Wingdings kodları. Yaygın alternatifler:234/233,241/242, noktalar için 159. |
| Çubuktan ok mesafesi | 10 | Mum çubuğu ile ok arasındaki piksel cinsinden boşluk. Yoğun grafiklerde bu değeri artırın. |
| Salınımlar arasındaki bacakları çizin | true | Arka arkaya gelen salınımları birbirine bağlayan noktalı zikzak. Zaten bir zikzak kullanıyorsanız bunu kapatın. |
| Bacak rengi / stili / genişliği | gümüş, noktalı, 1 | Bacakların görünümü. |
Hem işaretçileri hem de çizgileri kapatmak, tamamen hesaplamaya dayalı bir örnek bırakır — bu, bir EA tamponları okuduğunda ve grafikte hiçbir şey görmemek istediğinizde kullanışlıdır.
Uyarılar
| Giriş | Varsayılan | Ne yapar |
|---|---|---|
| Onaylanmış bir dalgalanma durumunda açılır uyarı | false | Bir salınım onaylandığında terminalde açılır pencere. |
| Onaylanmış bir dalgalanma durumunda push bildirimi gönderilir | false | Araçlar → Seçenekler → Bildirimler bölümünde ayarlanan MetaQuotes ID'sine push bildirimi gönderilir. |
Uyarılar yalnızca canlı güncellemelerde tetiklenir, gösterge geçmişi yüklerken asla tetiklenmez ve her salınım için yalnızca bir kez tetiklenir.
Bir EA'dan kullanma
İki tampon; her ikisi de yalnızca onaylanmış dalgalanmalarda boş değildir (boş değer 0,0'dır):
| Tampon | İçerik |
|---|---|
| 0 | onaylanmış bir salınım zirves inin fiyatı |
| 1 | onaylanmış bir dalgalanma düşük seviyesinin fiyatı |
int h = iCustom(_Symbol, _Period, "SMC_Pullback"); double buf[]; CopyBuffer(h, 0, 0, 100, buf); // salınım yüksekleri
Algılama motoru, grafik veya tampon bağımlılığı olmayan tek bir bağımsız sınıf olan CPullbackDetector içinde bulunur — fiyat dizilerini alır ve teyit edilmiş salınımları raporlar, bu nedenle iCustom'dan geçmek istemiyorsanız doğrudan bir EA'ya kopyalanabilir.
Kasıtlı olarak yapmadığı şeyler
Bu gösterge, salınım noktalarında durur. HH/HL/LH/LL etiketlemesi yapmaz ve BOS, CHoCH, IDM, emir blokları veya likidite seviyelerini türetmez. Bunlar, öncelikle güvenilir bir salınım setine ihtiyaç duyan ayrı adımlardır — ki bu gösterge tam da bunu sağlar.
Proje, MQL5 Algo Forge üzerinde desteklenmektedir. Kodu ve gelecek güncellemeleri aşağıdaki bağlantıdabulabilirsiniz .
Repo burada: https://forge.mql5.io/SandroBegashvil/SMC-Pullback-CodeBase
MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal kod: https://www.mql5.com/en/code/76451
One-Click Trade Manager — risk-based lot size with entry, stop and target in one click
Works out the lot from your risk percent and the stop distance, then opens the trade with the stop loss and take profit already attached. Never trades by itself.
RegimeRouter — trend/range classifier with a per-regime win rate ledger
Classifies the market with ADX, the Hurst exponent and lag-1 autocorrelation, routes each bar to a breakout module or a mean-reversion module, and keeps a separate win rate ledger for each regime with a Wilson 95% lower bound, so you can see which half of it is actually working.
PropFirm Equity Protector - Kurumsal Risk Yöneticisi (Açık Kaynak)
Prop Firm risk yönetimi için profesyonel bir Utility EA. Günlük öz sermaye izleme, zararlı pozisyonlarda aşamalı risk azaltma ve kendi kendini onaran grafiksel bir kontrol paneli aracılığıyla mutlak sert durdurma özelliklerine sahiptir.
Session Candle Counter: candles numbered from the cash open, DST aware
Numbers every candle of the current trading day starting at the cash open of Frankfurt, London, New York or Tokyo. The anchor is converted from exchange local time to broker server time with automatic daylight saving, so the first candle after the open is always number one, in summer and in winter.




