MetaTrader 5 için MQL5 Kaynak Kodu Kütüphanesi - 9
Bu, MetaTrader 5 platformu programlarının en büyük ücretsiz kaynak kodu kütüphanesidir. Burada hazır Uzman Danışmanlar, teknik göstergeler, komut dosyaları ve kütüphaneler bulabilirsiniz. MQL5 dilini öğrenirken kod kütüphanesini kullanın ve sağlanan kodlara dayalı olarak kendi otomatik alım-satım uygulamalarınızı geliştirin.
Yayınlanan kodları ücretsiz olarak indirebilir, MetaTrader 5'te test edebilir ve başlatabilirsiniz. Kütüphaneye ayrıca doğrudan MetaTrader 5 platformundan ve MetaEditor geliştirme ortamından da erişebilirsiniz.
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hybrid Microstructure EA, M1 zaman diliminde XAUUSD (Altın) için özel olarak tasarlanmış, gelişmiş ve yüksek frekanslı bir scalping Uzman Danışmanıdır. Gecikmeli OHLC matematiklerine dayanan geleneksel göstergelerin aksine, bu EA, Tick Seviyesinde Mikro Yapı Dinamikleri temelinde çalışır; tick hızını, hacim ağırlıklı ortalama fiyat (VWAP) sapmalarını ve kurumlar tarafından gerçekleştirilen likidite süpürme reddi (stop avcılığı) işlemlerini izler.
Birden fazla sembolü ve zaman dilimini otomatik olarak tarayan, en son geçerli Wolfe Wave formasyonlarını (yükseliş/düşüş) tespit eden, bunları etkileşimli bir gösterge panelinde görüntüleyen ve tek tıklamayla grafiği açarak formasyonun tam olarak çizilmesini sağlayan profesyonel MQL5 göstergesi (ayrı pencere).
Asya, Londra ve New York seans aralıklarını takip eder, her birini seans kapanışında sabitler ve gerçek likidite dalgalanmalarını — sabitlenmiş bir en yüksek veya en düşük seviyeyi delip tekrar bu seviyenin içine kapanan bir fitil — bir ok sinyali ve gölgeli bir tepki bölgesi ile işaretler. Yeniden çizilmez, her sembol ve zaman diliminde çalışır.
Bir giriş sinyalinin, bu sinyal üzerine haftalarca süren bir EA geliştirme çalışmasına girişmeden önce, gerçekten işlem maliyetlerini karşılayıp karşılamadığını ölçer. Maliyet düşüldükten sonraki net sonucu, birbiriyle örtüşmeyen örneklemler üzerinde hesaplanan güvenilir bir t-istatistiği ve rastgele bir kontrol sunar. Hiçbir emir vermez.
Yapılandırılabilir bir geçmiş veri penceresi üzerinde, dalgalanmaya uyarlanabilen, sürekli güncellenen bir hacim profili oluşturur ve Kontrol Noktası (POC), Değer Alanı Yüksek/Düşük değerleri ile istatistiksel olarak anlamlı Yüksek/Düşük Hacim Düğümlerini (HVN/LVN) doğrudan grafiğe çizer.
Mevcut grafik sembolü ile seçilen bir referans sembol arasındaki hareketli korelasyonu izler ve fiyat farkı istatistiksel olarak genişlediğinde, bu iki sembolün birbirinden ayrıldığı anı işaretler.
Brokerin “Stops Level” ve “Freeze Level” değerlerini grafikte görselleştiren, salt okunur bir MT5 göstergesi.
MetaTrader 5 için profesyonel, açık kaynaklı bir Spread Monitörü. Modern bir Quantora kontrol paneli aracılığıyla canlı spread, minimum, maksimum ve ortalama spread değerlerini, geçmiş grafiğini ve yapılandırılabilir yüksek spread uyarılarını gösterir.
MetaTrader 5 için profesyonel, açık kaynaklı İşlem Maliyet Hesaplayıcı. Canlı broker sembol verilerini ve ayarlanabilir pozisyon ayarlarını kullanarak spread maliyetini, komisyonu, swapı ve tahmini toplam işlem maliyetini hesaplar.
Fiyat, hareketli VWAP’tan uzaklaştıkça dürtü ve tükenme durumlarını işaretleyen, hacim ağırlıklı ve oynaklık normalize edilmiş bir osilatör çizer
Her çubukta kendi süreç gürültüsünü Kaufman Verimlilik Oranı ile yeniden ölçeklendiren, trendler sırasında fiyata daha sıkı uyum sağlayan ve dalgalı piyasalarda daha fazla yumuşatma sağlayan tek durumlu bir Kalman filtresi; aynı okumada genişleyen ve daralan rejim bantlarıyla birlikte grafiğe aktarılmıştır.
Eğime göre renk değiştiren ve fiyat ile ortalamanın kesişme noktalarını oklarla işaretleyen iki aşamalı uyarlanabilir hareketli ortalama (temel ortalama + ikincil düzeltme).
Emirleri sessizce reddeden görünmez sözleşme sınırlarını görüntüler: durdurma seviyesi, dondurma seviyesi, minimum/adım/maksimum lot, tik boyutu ve değeri, spread türü, yürütme modu, swaplar ve serbest marjınıza karşı minimum lot için gereken marj.
Tanımlanmış bir seans açılış aralığının en yüksek/en düşük değerlerini ölçen ve ardından bu aralıktan teyit edilen kırılma anında, riske dayalı pozisyon büyüklüğü belirleme yöntemi ve seans başına tek işlem sınırlaması ile işlem yapan bir Uzman Danışman.
Ters RSI Bantları, RSI formülünü matematiksel olarak tersine analiz eden bir öncü göstergedir. Ana grafiğin üzerine doğrudan kesin hedef fiyat bantlarını çizer ve RSI’nın belirlediğiniz aşırı alım veya aşırı satım seviyelerine tam olarak hangi fiyattan ulaşacağını gerçek zamanlı olarak gösterir.
Kısmi işlemlerin yerine getirilmelerini pozisyon kimliğine göre gruplandıran ve brüt sonucu komisyon, swap, ücret ve net sonuçtan ayıran, salt okunur bir MT5 geçmişi yardımcı programı.
Mevcut durum, bir sonraki geçiş, çoklu sembol kapsamı ve CSV'ye aktarma özelliklerine sahip, salt okunur, broker tabanlı işlem oturumu denetleyicisi.
Broker hacmi, fiyat, stop emirleri, donma, spread ve işlem kısıtlamalarını bildiren, salt okunur bir MT5 komut dosyası.
"Bir önceki seansın en yüksek/en düşük seviyelerini işaretler ve belirlenen sayıda çubuk içinde aralığın içine geri dönen likidite dalgalanmalarını gösterir." — Kategori: Diğer; ya da bu şekilde gruplandırmak isterseniz Trend.
Haber Ticaret Paneli, piyasa oynaklığını gerçek zamanlı olarak izleyerek “haber kaynaklı ani dalgalanma” anlarını — yani ekonomik verilerin açıklanmasıyla (NFP, TÜFE, faiz oranı kararları vb.) ortaya çıkan ani fiyat hareketlerini — tespit eden, bilgilendirme amaçlı bir grafik içi paneldir (otomatik olarak işlem yapmaz).
MT5 EA’nın giriş durumu mantığı için, piyasaya, hesaba veya emirlere erişim olmaksızın gerçekleştirilen deterministik sentetik kabul testleri.
Day Trader Dashboard, MetaTrader 5 için geliştirilmiş, Bloomberg tarzında bir görsel paneldir; gün içi fiyat aralığını takip eder ve fiyatın bu aralığın içinde olduğu (fade zone) veya aralığın dışına çıktığı durumları işaretler. Bu araç işlem yapmaz — son çubuklardan Yüksek/Düşük aralığını hesaplayan, bu seviyeleri doğrudan grafiğe çizen ve temalı, otomatik ölçeklenebilir bir panelde canlı durum bilgisini (tarama / aralık içinde / kırılma) gösteren bir karar destek katmanıdır. Aynı grafikte birden fazla bağımsız örneği ve çeşitli renk temalarını destekler; kaldırıldığında nesnelerinin %100'ünü temizler.
Bu, MT5 grafiği üzerinde yer alan bir FX Dashboard tarzı terminal paneli ve grafiğe çizilmiş çizgilerdir (EMA, Bollinger, Donchian).
Birden fazla EA çalıştıran (veya bunlarla birlikte manuel işlemler gerçekleştiren) hesaplar için salt okunur bir denetim betiği. Bu betik, kapatılmış işlem geçmişini “magic number” (magic numara) bazında gruplandırır ve her bir magic numara için bir satır çıktılar: kapalı işlem çiftleri, işlemin HER İKİ tarafındaki swap ve komisyon dahil net kâr/zarar, kazanma oranı, kâr faktörü, ortalama kâr/zarar, şu anda açık olan pozisyonlar ve bekleyen emirler, işlem tarihleri ve semboller - net sonuca göre sıralanmış, elektronik tablolar için CSV dışa aktarma özelliği ile.
Daily Zone Recovery, önceki işlem gününün en yüksek ve en düşük seviyelerini temel alan, MetaTrader 5 için geliştirilmiş çok stratejili bir ticaret danışmanıdır. Bu danışman, günlük en yüksek ve en düşük seviyelerin yakınındaki fiyat hareketlerini izler, üç bağımsız giriş stratejisi kullanır ve sabit hacimli bir ağ yardımıyla pozisyonları yönetebilir.
Risk yüzdesini belirleyin, stop seviyesini sürükleyin ve hesap para biriminizde fiyatlandırılmış tam lot büyüklüğünü öğrenin — teminat ve hedef dahil. Yalnızca hesaplama yapar, asla işlem yapmaz.
Mevcut trend koşullarını değerlendirip, brokerlara göre normalleştirilmiş uzun ve kısa pozisyon risk planları oluşturan ücretsiz, açık kaynaklı bir MT5 salt okunur grafik yardımcı programıdır. Program, hareketli ortalamanın yönü ve eğimi, ADX, Verimlilik Oranı, ATR, spread, hesap para birimi ve sembol özelliklerini kullanır. Program hiçbir zaman işlem açmaz, değiştirmez veya kapatmaz.
MT5 için bu EA, işlem yapmayan, ancak broker ve işlem ortamının teknik özelliklerini toplayıp gösteren bir tanılama aracıdır. Kod, 4 ana bloktan oluşmaktadır: Veri Toplama (CollectAll): Hesap bilgileri (kaldıraç, para birimi), sembol bilgileri (haneli sayılar, spread, swap, hacimler, stop seviyeleri), gecikme süresi (ping) ve saat dilimi (Sunucu-UTC farkı) bilgilerini alır. Swap değerini gerçek para biriminde hesaplar. Örnekleme (OnTick): Spread istatistiklerini (minimum, ortalama, maksimum) gerçek zamanlı olarak günceller. Çıktı: Verileri "Uzmanlar" günlüğüne yazdırır, bir CSV dosyasına kaydeder ve grafikteki bir grafik panelinde (UpdatePanel) gösterir. Yardımcı: CalcSwapInCurrency ve çeşitli *ToStr işlevleri, brokerın ham sayısal verilerini okunabilir dizelere dönüştürür.
Aşırı bölge geçişlerine dayalı olarak alım ve satım sinyalleri üreten, yeniden çizilmeyen, stokastik tabanlı bir gösterge; alternatif sinyal filtresi ve çubuk kapanış uyarıları içerir.
Four EAs writing to the same file, all with FILE_SHARE_READ|FILE_SHARE_WRITE, FileSeek(SEEK_END), FileWrite, FileClose. Looks correct. Every FileOpen returns success. No error in the log. And the lines vanish. Reason: FILE_SHARE_WRITE lets all four open at the same time. All four call FileSeek(SEEK_END) and get THE SAME offset, because none has written yet. All four write at the same position. Whoever closes last wins. Three lines vanish silently. In my case: 12 events expected, 8 in the file. The fix is to open EXCLUSIVELY (no FILE_SHARE_WRITE) and retry while another EA holds the file. And to shout in the log when the retries run out: a log that fails silently is worse than no log at all, because you trust it. The demo script reproduces both modes. To see the loss, drag it onto four charts at the same time with safe mode off and count the lines in the CSV. On a single chart the defect does not show up - which is why it passes in testing and breaks in production.
TimeCurrent() is not a clock. It is the stamp of the LAST TICK. Two consequences break robots in production: 1. It freezes. With no tick it does not move: illiquid instrument, end of session, unstable connection - and any rule based on it stops with it. 2. It steps backwards: on a symbol switch, a reconnection or a tick from another instrument, the value can go back. The case that cost me a whole protection: I compared the date of a daily decision with TimeCurrent() to reject an expired one. The server clock stepped back to the previous day, the comparison matched, and four EAs accepted YESTERDAY's decision as valid. The gate that should have failed closed failed open - without a single error in the log. Rule: TimeLocal() for timestamps, dates, day changes, expiry - all that must always move forward; TimeCurrent() for session hours and market data. The script measures the divergence in your environment and reports both symptoms live. Run it with the market closed.
Measures, hour by hour, how far a symbol travels and how much of that the spread takes away. Built for gold, works on any symbol, compares several side by side.
Your statement tells you what you KEPT. It does not tell you what you HAD. This indicator reads your own closed trades from the account history and draws, for each one, the full range it travelled: the best unrealised profit it ever showed (MFE) and the worst unrealised loss it survived (MAE). The gap between what a trade showed and what it paid is where two common problems hide, and neither is visible in a balance curve: winners closing far below their best point (the exit leaves money behind), and losers whose worst excursion barely passed the stop (the stop sits inside the noise). The number to look at is the CAPTURE RATIO: of the profit a winner showed at its best, how much did you take home? 90% says the exits are well placed; 30% says the market kept offering and the exit kept refusing. Limit, stated up front: excursions come from the bars each trade spanned, on the chart timeframe; the path inside a bar is unknown. Predicts nothing; measures trades that already happened.
A daily process writes "today's decision" (which strategy runs, or FLAT) to a file the EAs read at the open. One day the writer did not run. The EAs read yesterday's file, compared its date with TimeCurrent() - the server clock, which had stepped back to the previous day overnight - saw a match, and traded all morning on a 24-hour-old decision. No error anywhere. Two rules, both in this class: 1) staleness is judged against TimeLocal(), which always moves forward; TimeCurrent() is the last tick's stamp - it freezes without ticks and can step back on reconnect. 2) When in doubt the answer is FLAT: missing file, bad date, wrong day, empty line - every failure path returns "do nothing", and each is logged ONCE per state change, not on every tick and not never. File format: line 1 = ISO date, line 2 = decision string. The demo writes a fresh, a stale, a malformed, an empty and a missing file, and shows that only the first is allowed to trade.
Four EAs on the same symbol, each one honest on its own: each checks "do I have a position?" with its own magic number, sees none, and enters. On a demo account this reached 22 contracts on a symbol meant to carry 1, and a watchdog had to close 16 positions in one morning. The cap belongs at the door, not after the fact. ExposureCap::Allowed(symbol, lots, cap) sums the volume of every open position on the symbol - all magic numbers, manual trades included - and refuses the order BEFORE it is sent when it would breach the cap. One log line with the three numbers (held, requested, cap) says why. Deliberately simple: gross exposure, no netting of longs against shorts, no per-EA quota. It is a check, not a lock: two EAs deciding on the same tick can both pass; in practice EAs on different charts decide on different ticks. The demo script prints held / cap / room for the current symbol and shows the refusal line. Nothing is traded.
A datetime in MQL5 is seconds since 1970 - but server time (TimeCurrent, bar times, deal times) is the broker's wall clock stored AS IF it were UTC. Export it to CSV, read it in Python or a spreadsheet with a "seconds since 1970 UTC" parser, and every timestamp shifts by the server's UTC offset. On a UTC-3 broker that is three hours: the daily bar dated 00:00 reads as 21:00 of the previous day, and "yesterday's session" silently becomes "today's, half formed". That happened to a morning report of mine before this script existed. The script prints TimeTradeServer, TimeCurrent, TimeGMT and TimeLocal, the three offsets between them, the tick lag, and this chart's last bar time in server time and in real UTC - then states the rule: export server timestamps as wall-clock text, or export the epoch together with the offset, and never let the consumer apply its own timezone.
A simple MQL5 script that calculates the correct lot size for a trade based on your account risk percentage and stop loss distance in pips, so every trade risks a consistent, controlled amount of your balance.
Sizes your next trade based on the correlated risk you already have open across other positions — not just the trade in isolation.
Checks your trade history against common prop-firm challenge rules — profit target, max daily loss, max drawdown, consistency rule, and minimum trading days — with a clear PASS/FAIL report.