Alım-satım robotlarını ücretsiz olarak nasıl indirebileceğinizi izleyin
Bizi Telegram üzerinde bulun!
Fan sayfamıza katılın
Kodu ilginç mi buldunuz?
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
Kodu beğendiniz mi? MetaTrader 5 terminalinde deneyin
Komut dosyaları

SpreadAudit - M1 geçmişinden elde edilen brokerın gerçek spread'i - MetaTrader 5 için komut dosyası

Görüntülemeler:
7
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

Backtest sonucuna sevinmeden önce, bir işlem için gerçekte ne kadar ödediğinizi öğrenmek faydalıdır. Terminal, geçmiş verilerin her bir çubuğunda spread değerini kaydeder, ancak bu bilgi genellikle gözden kaçar: test ortamında "güncel" spread gösterilir ve kararlar, güzel görünen bir öz sermaye eğrisine göre alınır.

Script ne yapar?

SpreadAudit, belirtilen gün sayısı kadar M1 geçmişini tarar, her çubuğun spread alanını alır ve şunları hesaplar:

  • spread'in medyanını, 90. ve 99. persentilini - fiyat birimlerinde ve puan olarak;
  • aynı değerleri ATR(H1) oranında hesaplayarak enstrümanlar arasında karşılaştırma yapar;
  • günün her saati için ortalama ve maksimum spread – bunları MQL5\Files klasörüne CSV dosyası olarak kaydeder.

Giriş parametreleri

  • InpDays - analiz edilecek M1 tarih verisinin gün sayısı (1..3650, varsayılan 60);
  • InpAtrPeriod - normalleştirme için H1'deki ATR dönemi (varsayılan 24);
  • InpSaveCSV - saatlik tabloyu CSV olarak kaydedilip kaydedilmeyeceği.

Çıktı örneği

=== SpreadAudit: XAUUSD | gerçek aralık 30.05.2026 ... 29.07.2026 | 86397 çubuk (spread hariç 0) === medyan çubuk spreadi: 0,37 (37,0 pts) p90 çubuk spreadi: 0,42 (42,0 pts) p99 çubuk spread: 0,45 (45,0 pts) H1 ATR(24) = 6,41 -> medyan spread = 0,058 ATR, p90 = 0,066 ATR

SpreadAudit: XAUUSD'nin saatlik spread'i

Ekteki grafikte, XAUUSD için 60 günlük saatlik tablo yer almaktadır. Ortalama spread 0,40 civarında seyretmektedir, ancak günlük rollover saatinde maksimum değer neredeyse 1,80'e sıçramaktadır; yani normalin dört katından fazladır. Tam da bu zaman aralığına denk gelen bir strateji, hesap ortalamasında görülen fiyatın tam tersi bir fiyatla işlem yapmaktadır.

Pratikte bunun ne yararı var?

Basit bir örnek. Diyelim ki, M5 grafiğindeki formasyonunuz işlem başına ortalama 0,28 birim getiri sağlıyor; bu istatistiksel olarak anlamlı ve etkisi gerçektir. Eğer enstrümanın medyan spread'i 0,37 ise, sistem gerçek hesapta zarara uğrar; oysa maliyetlerin hesaba katılmadığı geçmiş verilerde mükemmel görünür. "Etki yok" ile "etki var, ancak maliyetler daha fazla" arasındaki fark temel önemdedir: ilk durumda fikir bir kenara atılır, ikinci durumda ise etkinin spread'i aşacağı bir zaman dilimi veya işlem geometrisi aranır.

Saatlik grafik, spreadin hangi saatlerde genişlediğini gösterir. Genellikle bu, rollover ve seansların açılışından sonraki ilk dakikalardır — stratejiniz tam da bu aralığa giriyorsa, spread’e göre bir filtre koymanızda fayda var; üstelik bunu puan olarak değil, ATR’nin kesirleri cinsinden belirlemeniz daha iyidir: volatilite rejimi değiştiğinde mutlak eşik değeri geçerliliğini yitirir.

Önemli bir uyarı

MetaTrader, her çubukta o çubuk için MINIMUM spread değerini kaydeder. Yani, elde edilen tüm rakamlar, gerçekte ödediğiniz tutarın iyimser bir alt sınırıdır. Mantık basit: Eğer stratejiyi maliyetlerin alt sınırı bile bozuyorsa, tartışacak başka bir şey kalmaz.

Eğer brokerınızın M1 geçmişindeki spread alanı boşsa (bazılarında sıfır değerleri bulunur), script bunu dürüstçe bildirir ve boş verilere dayalı istatistik hesaplaması yapmaz.

MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal kod: https://www.mql5.com/ru/code/75450

Clock (Spread) Clock (Spread)

Bu göstergenin işlevi: Clock (Spread).mq5, grafiğin köşesinde aşağıdakileri gösteren küçük bir metin etiketi görüntüleyen bir MetaTrader 5 grafik göstergesidir: Mevcut mum çubuğunun kapanmasına kadar kalan süre (zaman dilimine bağlı olarak HH:MM:SS veya MM:SS biçiminde) Zamanlayıcının yanındaki parantez içinde gösterilen mevcut spread (Ask − Bid, puan cinsinden). Değişiklik günlüğü: Sürüm 2.20: - Spread artık yönüne göre dinamik olarak renkleniyor (yeşil = artıyor, kırmızı = azalıyor) - Spread renkleri için yapılandırılabilir girişler eklendi

RepaintTest - measure whether a drawing indicator repaints RepaintTest - measure whether a drawing indicator repaints

Measures whether a drawing indicator repaints, instead of asserting that it does not. The invariant: once a bar has closed and been processed, no object drawn on it may ever change - not move, not recolour, not change its text, and not disappear. The script seeds a custom symbol with real history, attaches your indicator through a template, records every object, appends bars, forces a full recalculation, and compares object by object. Changes and disappearances are counted separately, because only a change means the claim is false. A run that compared nothing is reported as INCONCLUSIVE, never as a pass. Output is a CSV you can publish next to the number.

Market Replay Tool Market Replay Tool

Market Replay Tool is an MT5 utility that seamlessly merges a Market Replay simulator with interactive TradingView-style Long & Short drawing tools. It allows traders to backtest strategies on historical data with adjustable playback speeds, while effortlessly mapping out risk-to-reward setups using dynamic, draggable entry, stop-loss, and take-profit visual boxes directly on the chart.

ShowMinMaxDayLevels ShowMinMaxDayLevels

The indicator displays high and low levels of a day (specified by the input parameter value) on any timeframe.