Ana Sayfa > Blog > Kapanmış mumla karar veren EA neden repaint yapmaz

MQL5EA tasarımıBacktest

Kapanmış mumla karar veren EA neden repaint yapmaz

Yayınlandı: 2026-11-01Okuma süresi: yaklaşık 3 dk
⏱ Bu makale, yayın tarihi itibarıyla geçerli bilgileri yansıtır. EA performans rakamları (PF, DD, yıllık getiri) canlı işlem ve yeniden doğrulamayla değişir — en güncel değerler için EA sayfalarına bakın. En güncel EA sonuçlarını gör →

Sonucu baştan söyleyeyim: kapanmış muma göre karar veren bir EA'nın sinyalleri zor değişir, çünkü karar verirken kullandığı veriler o anda artık hareket etmez. Oluşmakta olan mumun kapanışı, en yükseği ve en düşüğü bir sonraki tikte değişebilir. Kapanmış bir mumun dört fiyatı (OHLC) ise normalde kapandıktan sonra oynamaz.

Ancak kapanmış mumu okumak kendi başına güvenlik garantisi değildir. İndikatör hesaplamasına ya da üst zaman dilimlerinin ele alınışına bağlı olarak, kapanmış mum kullandığınızı düşünseniz bile geleceğe ait değerler işin içine karışabilir.

Oluşmakta olan mum neden risklidir?

MQL5'te shift 0 oluşmakta olan mumu, shift 1 ise en son kapanmış mumu gösterir. Shift 0'ın kapanış değeri yalnızca "şu anki fiyattır". Bunu karar için kullanırsanız şu sorunlar ortaya çıkar:

  • Koşul her tikte oluşup kaybolur; girişin dayanağı sonradan ortadan kalkabilir
  • Mum kapandıktan sonra grafikte iz bırakmayan anlık bir sinyalle işlem açılır
  • Testerde sonuçlar tiklerin üretilme biçimine göre kolayca değişir; mum içi fiyat hareketi gerçekten farklıysa bu fark doğrudan performansa yansır
MaddeOluşmakta olan mum (shift 0)Kapanmış mum (shift 1 ve sonrası)
Karar verisinin değeriKapanışa kadar değişirNormalde değişmez
Sinyalin tekrarlanabilirliğiDüşükYüksek
Giriş hızıHızlıKapanışı beklediği kadar yavaş
Tester tik yönteminin etkisiKarar bile değişebilirKarara etkisi küçük (çıkışta etki sürer)

Oluşmakta olan mumu kullanmak her zaman hata değildir. Kırılımı anında yakalamayı hedefleyen tasarımlar da vardır. Bu durumda "mum içi hareketlere bağımlıyız" gerçeğini kabul edip gerçek tik verisiyle doğrulamaya ağırlık vermek gerekir.

Önerilen Broker Karşılaştırma →

🎁 Ücretsiz EA İndir

📧 Ücretsiz e-posta kursu (8 e-posta) + abonelere özel 13 MT5 göstergesi paketi

Kaydolduktan hemen sonra, 13 MT5 göstergemizi içeren abonelere özel paketin indirme bağlantısını alırsınız: derlenmiş dosyalar (.ex5), kaynak kod ve kurulum kılavuzu. Ardından algoritmik işlemin temelleri, backtestlerin doğru okunması ve aracı kurum seçimi üzerine 8 e-posta gelir (ilk 5 gün her gün bir tane, sonra kayıttan 7, 14 ve 30 gün sonra). MQL5 Market'te satılan sürümlerin her fiyat artışından önce de bildirim alırsınız (satışlara göre kademeli olarak yükselen lansman fiyatı). Bu sitede EA'larımız, ortak bir aracı kurumda gerçek hesapla ücretsizdir.

* Gizlilik kesinlikle korunur. İstediğiniz zaman abonelikten çıkabilirsiniz.

Sinyali sabitleyen tasarım

CopyRates'te başlangıç konumunu ve sıralamayı açıkça belirtin

Kapanmış mumu, yeni mumun ilk tikinde yalnızca bir kez okuyun.

datetime g_lastBar = 0;

void OnTick()
{
   datetime t = iTime(_Symbol, _Period, 0);
   if(t == 0 || t == g_lastBar) return;

   MqlRates r[];
   ArraySetAsSeries(r, true);
   if(CopyRates(_Symbol, _Period, 1, 2, r) != 2) return;

   g_lastBar = t;
   // r[0] en son kapanmış mum, r[1] ondan bir önceki mum
}

Üç nokta önemlidir: Başlangıç konumunu 1 yaparak oluşmakta olan mumu alınan aralığın dışında bırakmak, ArraySetAsSeries ile sıralamayı belirlemek ve veri alınamazsa g_lastBar değerini güncellemeyip bir sonraki tikte yeniden denemek. Sıralamayı belirtmeyi unutursanız dizinin ilk elemanı en eski mum olur.

iBarShift üst zaman dilimlerinde tuzak olabilir

Üst zaman dilimine başvururken iBarShift, "o zamanı içeren mumu" döndürür. Güncel zamanı verirseniz normalde oluşmakta olan üst zaman dilimi mumu gelir.

int s = iBarShift(_Symbol, PERIOD_H1, TimeCurrent(), false);
if(s < 0) return;
double closedH1 = iClose(_Symbol, PERIOD_H1, s + 1);

Kapanmış bir üst zaman dilimi mumu istiyorsanız, bu örnekteki gibi bir önceki mumu belirtin.

Tipik repaint, alt zaman dilimi grafiğine üst zaman dilimi değerlerini çizen indikatörlerde görülür. Geçmişteki her alt zaman dilimi mumuna, aynı zamanı içeren üst zaman dilimi mumunun kapanışı atanırsa, o anda henüz var olmayan nihai değer geçmişe çizilmiş olur. Grafikte isabetli görünse de gerçek zamanlı olarak aynı karar verilemez.

Dördüncü parametre exact değeri false olduğunda, ilgili mum yoksa en yakın mum döndürülür. Bu, veri eksikliğini fark etmeyi zorlaştırdığı için alınan mumun zamanını da kontrol etmek daha güvenlidir. Başka sembol veya zaman dilimi verileri gecikmeli güncellenebilir; bu yüzden beklenen zamandaki mum olup olmadığını doğruladıktan sonra karar verin.

Yeniden başlatmada çift değerlendirmeyi önleyin

Yukarıdaki koddaki g_lastBar, EA yeniden başlatıldığında ilk değerine döner. Aynı kapanmış mumun yeniden değerlendirilip çift giriş yapılmaması için, açık pozisyonları ve son işlem zamanını da kontrol eden bir tasarım gerekir.

Kullanıcıların yapabileceği doğrulama adımları

Kaynak kodu okuyamasanız bile aşağıdaki yöntemlerle bir ölçüde kontrol edebilirsiniz.

  1. Görsel modda izleyin: Testerin görsel modunda giriş zamanlarının mum açılışı civarında toplanıp toplanmadığına bakın. Mumun ortasında sık sık işlem açılıyorsa oluşmakta olan mum kullanılıyor olabilir (çıkışlar ayrı bir konudur).
  2. Modelleme türünü değiştirip karşılaştırın: Aynı dönem ve aynı ayarlarla yalnızca açılış fiyatları, tüm tikler ve gerçek tiklere dayalı tüm tikler seçeneklerini deneyin. Giriş sayısı ya da zamanları belirgin biçimde kayıyorsa mum içi harekete bağımlılıktan şüphelenin.
  3. İndikatör oklarını kaydedin: Okun çıktığı zamanı ekran görüntüsüyle saklayın ve birkaç mum sonra karşılaştırın. Konum değişiyor ya da ok kayboluyorsa repaint vardır.
  4. Dağıtıcıya sorun: Kapanmış muma göre karar verilip verilmediğini ve üst zaman dilimlerinin nasıl ele alındığını sorun.

Bunların hepsi dolaylı kanıttır; tek başına "repaint yok" sonucunu kanıtlamaz. İndikatör denemek isterseniz önce ücretsiz indikatörler ile adımları çalışın, EA kurulumu için ise EA kurulum rehberine bakın.

Sınırlamalar ve dikkat edilecekler

Kapanmış muma göre karar vermenin olumsuz yönleri de vardır.

  • Giriş gecikir: Kapanışı beklerken fiyat ilerler ve elverişsiz bir seviyeden girilebilir. Ani yükseliş ve düşüşlerde bu fark büyüyebilir.
  • Mum açılışının maliyeti: Emirlerin yeni mumun ilk tikinde yığıldığı tasarımlarda, spreadin geniş olduğu saatlerden ya da fiyat boşluklarından etkilenilebilir.
  • Geleceğe bakan indikatörler engellenemez: ZigZag gibi şekli sonradan değişen veya kesinleşmesi için sonraki mumlara ihtiyaç duyan indikatörlerde, hangi konumdan okuduğunuza bağlı olarak kapanmış mumda bile değer değişebilir.
  • Kapanmış mum da brokerdan brokera farklıdır: Sunucu saati veya fiyat akışı farklıysa OHLC değerleri de değişir; aynı EA'da broker değişince karar farklılaşabilir. Geçmiş verinin sonradan düzeltilme ihtimali de göz ardı edilemez.
  • Çıkış mum içinde gerçekleşir: Giriş kararı kapanmış muma dayansa bile stop loss ve kâr alma mumun ortasında tetiklenir. Bu kısım yine tik kalitesine bağlıdır.

En önemlisi şu: Repaint yapmamak ile kazandırmak aynı şey değildir. Bizim EA'larımız arasında da geçmiş veri doğrulaması iyi çıkıp demo hesapta forward testte zarar edenler var. Kapanmış mum kullanmak, doğrulama sonuçlarına güvenebilmenin önkoşullarından biridir; gelecekteki performansı göstermez. Ayrıca kapanmış mum kullanılıp kullanılmadığı her EA'nın tasarımına göre değişir. EA seçerken tek tek kontrol edin ve kararınızı gerçek ölçüm sıralamasındaki rakamlarla birlikte verin. İlgili doğrulama yaklaşımlarını EA ve MT5 bilgi köşesinde topladık.

Özet

  • Oluşmakta olan mumun değerleri kapanışa kadar değiştiği için sinyal kaybolabilir ya da değişebilir
  • Kapanmış muma göre karar verilirse karar verisi sabitlenir ve tik üretim yönteminden daha az etkilenir
  • CopyRates'te başlangıç konumunu ve sıralamayı açıkça belirtin, veri alınamazsa yeniden deneyin
  • iBarShift kolayca oluşmakta olan üst zaman dilimi mumunu döndürür; kapanmış mumu okuyacaksanız shift'i kaydırın
  • Üst zaman dilimi çizimleri ve geleceğe bakan indikatörler repaint'in tipik örnekleridir
  • Kapanmış mum gecikme ve maliyet sorunları taşır; kâr vaadi değildir

📧 Ücretsiz e-posta kursu (8 e-posta) + abonelere özel 13 MT5 göstergesi paketi

Kaydolduktan hemen sonra, 13 MT5 göstergemizi içeren abonelere özel paketin indirme bağlantısını alırsınız: derlenmiş dosyalar (.ex5), kaynak kod ve kurulum kılavuzu. Ardından algoritmik işlemin temelleri, backtestlerin doğru okunması ve aracı kurum seçimi üzerine 8 e-posta gelir (ilk 5 gün her gün bir tane, sonra kayıttan 7, 14 ve 30 gün sonra). MQL5 Market'te satılan sürümlerin her fiyat artışından önce de bildirim alırsınız (satışlara göre kademeli olarak yükselen lansman fiyatı). Bu sitede EA'larımız, ortak bir aracı kurumda gerçek hesapla ücretsizdir.

* Gizlilik kesinlikle korunur. İstediğiniz zaman abonelikten çıkabilirsiniz.

EA'lar veya Forex hakkında bir sorunuz mu var?

Sorunuzu Nattzy'nin trading forumunda paylaşabilirsiniz (ücretsiz kayıt). Bu yazının dışındaki sorular da olur — EA ayarları, aracı kurum seçimi ve daha fazlası.

Nattzy'de sor ↗

Yorumlar ve sorular