Imperial Dominator
Bu makaleyi başka bir dilde okuyun:
English | Русский | 中文 | Español | Português | 日本語 | Deutsch | 한국어 | Français | Italiano | العربية | Bahasa Indonesia | ไทย
Topluluğumuz: Türkçe MQL5 topluluğuna katılın
Imperial Dominator, MQL5 Market'te yoğun biçimde tanıtılan bir Expert Advisor'ın kullandığı işlem tekniklerini yeniden oluşturmak amacıyla özellikle geliştirilmiş eğitsel bir EA'dır. Amacı, etkileyici sonuçların ciddi riskleri nasıl gizleyebildiğini ortaya koymaktır.
Bu teknikleri kullanan, MQL5 Market'in üst sıralarındaki EA'nın hangisi olduğunu öğrenmek ister misiniz? Bana özel mesaj gönderin.
Bu makalede anlattığım her şeyi, EA'nın Market demo sürümünü kullanarak Strategy Tester içinde doğrulayabilirsiniz.

Bu grafik, makalede ele aldığım Expert Advisor ile elde edildi.
Düşüşler çok küçük. Eğri düzenli biçimde yükseliyor.
Birisi bir şey satmak istediğinde gösterdiği grafik tam olarak böyle görünür.
Bu sonucu test kendi kendine üretmedi. Bir insan üretti.
Bu makalede bunun nasıl yapıldığını göstereceğim.
Expert Advisor kullanılabilir durumda; her şeyi kendiniz tekrarlayabilirsiniz. EA Giriş Parametrelerinin Açıklaması
Öncelikle, bu EA tam olarak nedir?
Imperial Dominator basit bir Expert Advisor'dır.
Günde bir kez, saat 11.00'de (08.00 GMT), son sekiz saatin en yüksek ve en düşük fiyatlarından bir aralık oluşturur; bu aralığın sınırlarına Buy Stop ve Sell Stop emirleri yerleştirir.
Her sinyal, sabit Stop Loss ve Take Profit seviyelerine sahip yedi eşit emre bölünür.
Açık pozisyonlarda iz süren Stop Loss kullanılır; yeni elde edilen kâr ise daha eski zarar eden pozisyonların zorla kapatılmasında kullanılır.
Hepsi bu.
Bu tür bir kod, MQL5 Freelance bölümünde birkaç düzine dolara yaptırılabilir.
Market vitrininde EA'nın fiyatını birkaç düzine dolardan birkaç yüz dolara çıkaran şey kod değil, pazarlamadır.
Peki böyle bir EA'yı neden gösteriyorum?
Çünkü bu makalede yalnızca nihai sonuca bakmayacağız.
Aynı Expert Advisor'ı ele alıp bu güzel sonucun nasıl oluşturulduğunu adım adım inceleyeceğiz.
EA'yı MetaTrader 5 Strategy Tester'da çalıştırabilecek, işlemleri tek tek inceleyebilecek, ayarları değiştirebilecek ve vardığım sonuçları kontrol edebileceksiniz.
Söylediklerime inanmak zorunda değilsiniz.
Her şeyi kendiniz doğrulayın.
Birinci katman: oran
Önce ayarlara bakın.

Take Profit 600 p, Stop Loss ise 2600 p.
p = fiyat puanı.
Dolayısıyla ayarlarda görünen oran yaklaşık 1'e 4,3'tür.
Başka bir Expert Advisor'da sayılar farklı ama oran benzer olabilir; yine aynı ölçüde makul görünebilirler.
Ancak bu yalnızca vitrindir.
Sistem işlemlerin çoğunu 600 puanlık Take Profit seviyesinde kapatmaz.
Gerçek oran, işlemlerin kendisinde görünür.
Tek bir işleme bakın
Görsel testi başlatın ve bir işlemi başından sonuna kadar izleyin.

Pozisyon açılır.
Take Profit 600 p'dir; ayarlarda yazdığı gibi.
Fiyat lehte hareket eder.
İz süren stop, Stop Loss seviyesini hareket ettirerek yaklaşık 55 puan kârı kilitler.
Fiyat geri döner.
Pozisyon yaklaşık 55 puan kârla kapanır.
600 p Take Profit seviyesine ulaşılmamıştır.
İşlemlerin çoğunda da bu seviyeye ulaşılmaz.
Yani ayarlarda gördüğümüz:
600 p'ye karşı 2600 p.
Ama gerçekleşen işlemde gördüğümüz:
yaklaşık 55 p'ye karşı 2600 p.
Bu da yaklaşık 1'e 47 oranıdır.
2600 puanlık tek bir kaybı, 55 puan kâr getiren işlemlerle telafi etmek için böyle yaklaşık 47 kazanç gerekir.
Yüksek kazanma oranının kaynağı tam da budur.
Çok sayıda küçük kazanç.
Nadiren gelen büyük kayıplar.
Öz sermaye eğrisinin çok düzgün görünmesinin nedeni de budur.
Sistem, sık kazandığı için daha iyi bir sistem hâline gelmedi.
Yalnızca seyrek kaybediyor; kaybettiğinde ise büyük kaybediyor.
Bu oranı ayarlar penceresinde göremezsiniz.
Yalnızca Take Profit ve Stop Loss değerlerine bakarak anlayamazsınız.
Tek tek işlemleri incelediğinizde ortaya çıkar.
Ben böyle bir sisteme Loss-Delayed EA (zararı erteleyen EA) derdim.
Bu, kaybı önleyen bir EA değildir. Kaybı olabildiğince geciktiren bir EA'dır.
Kendiniz kontrol edin: işlemler
Expert Advisor'ı görsel modda çalıştırın ve arka arkaya on işlemi izleyin.
Birkaç dakika sonra Stop Loss'un nerede olduğuna ve pozisyonun gerçekte hangi sonuçla kapandığına bakın.
Yalnızca ayarlarda yazanlarla yetinmeyin.
İşlemde gerçekte ne olduğuna bakın.
Bir EA'nın iyi satması için yıllarca istikrarlı olması gerekmez.
Çok iyi göründüğü bir döneme ihtiyacı vardır.
Bir Loss-Delayed EA, tasarımı gereği böyle bir dönem üretebilir: işlemlerin çoğu küçük artılarla sonuçlanır, büyük kayıp ise ertelenir.
Bu nedenle uzun bir kazanç serisi yalnızca iyi bir sonuç değildir.
Bir pazarlama fırsatı dönemine dönüşebilir.
MQL5 sinyalleri için özellikle küçük lotlarla işlem yapan küçük hesaplar sürekli çalıştırılır. Kayıplar ortaya çıkar çıkmaz o hesaptan vazgeçilir ve yerine yenisi geçer.
Ancak bunlardan biri daha uzun bir kayıpsız seri gösterdiği anda aktif pazarlama başlar.
Böyle dönemlerde mümkün olduğunca çok satış yapılabilsin diye sinyal olabildiğince uzun süre ayakta tutulur. Kayıplar fazla büyüyünce sinyal silinir ve ilgi odağı olacağı anı bekleyen bir sonraki sinyale yer açılır.
İkinci katman: bölünmüş giriş
Şimdi işlem geçmişinde aynı girişe bakın.

Her girişin yedi parçaya ayrıldığını hatırlıyor musunuz?
Geçmişte aynı saat ve aynı fiyatla yedi satır olarak görünür.
Bu, bir turta alıp onu yedi dilime kesmeye benzer.
Yedi ayrı turtanız olmaz.
Hâlâ tek bir turtanız vardır.
Ama işlem geçmişinde yedi ayrı işlem gibi görünür.
Kendiniz kontrol edin: bölünmüş giriş
Strategy Tester'da Results bölümünü açın ve açılış saatine ve fiyatına bakın.
Birden fazla satır eşleşiyorsa bunlar birkaç pozisyona bölünmüş tek bir giriş olabilir.
Aynısını MQL5 sinyal sayfasındaki Trading History bölümünde de kontrol edebilirsiniz.

Bu neden önemli?
Çünkü böyle kazanç serileri pazarlamada çok iyi görünür.
Tek bir giriş yedi kârlı pozisyon oluşturursa geçmişte yedi kazanç görünür.
Bu, toplam kârı aynı olan tek bir girişten çok daha etkileyici bir görüntü yaratır.


Böyle ekran görüntülerini görmüşsünüzdür.
Aynı kullanıcıların paylaştığı, satır satır kâr gösteren görüntüler. Peki bu gösterişin gerçeğini nasıl ortaya çıkarırsınız?
Büyük lot büyüklüklerini kanıtlamalarını isteyin; örneğin Market sinyal hizmetinde veya başka güvenilir sinyal hizmetlerinde doğrulanabilir gerçek hesap geçmişi gösterilmesini talep edin. Doğrulanabilir kanıt yoksa inanmayın.
Bu soruların ne kadarı cevapsız kalırsa, EA'nın gerçekte nasıl işlem yaptığı konusunda o kadar az bilginiz vardır.
Güzel bir ekran görüntüsü, birinin güzel bir ekran görüntüsü hazırladığını kanıtlar. EA'nın uzun vadeli performansını henüz kanıtlamaz.
Ama sistemi böyle bir seriyle değerlendirmeden önce şuna dikkat edin:
Gerçekte kaç ayrı giriş vardı?
Tek bir girişteki yedi pozisyon, birbirinden bağımsız yedi kazanç değildir.
Örneğin kırk gün boyunca hiç kayıp yaşanmamış olabilir.
Kulağa etkileyici gelir.
Ama bu da sistem hakkında pek bir şey söylemez.
Çok daha uzun bir işlem geçmişinin yalnızca küçük bir kesiti olabilir.
Giriş neden bölünüyor?
Bu bölmenin pratik bir amacı da vardır.
Expert Advisor, daha yeni bir işlemden gelen kârı daha eski zarar eden pozisyonları Stop Loss seviyesine varmadan kapatmak için kullanır.
Bu mekanizmaya şöyle bir ad verebilirdim:
“sofistike benzersiz Neural AI tekniği”
Kulağa etkileyici geliyor.
Oysa gerçekte ilke basittir.
Yeni pozisyon kâr ederse bu kâr, daha eski ve zarar eden bir pozisyonun zararını azaltmak için kullanılabilir.
Döneme bağlı olarak sonucu bazen iyileştirir, bazen de kötüleştirir. Dolayısıyla stratejinin bir parçası olarak değer katmaz.
Tester'ın optimizasyon modunda katsayıyı 0 girerek bu mekanizmayı kapatabilirsiniz (Batch Coefficient).

İki sonucu karşılaştırın.

Pratikte fark küçüktür.
Fakat yeni başlayan birinin gözünde birkaç görünür kayıp kalması, EA'yı hiç düşüş olmayan bir eğriden daha inandırıcı gösterebilir.

Bu deneyle ilgili bir önemli nokta daha var.
Imperial Dominator sinyalinde kendi Recovery Booster aracımı da kullanıyorum.
Bu araç yalnızca bu tür EA'lar için gerekli değildir; başka stratejilerle de kullanılabilen ayrı bir toparlama aracıdır.
Imperial Dominator'da bu sistemi daha uzun süre ayakta tutmak ve işlem geçmişini analiz eden bir toparlama mekanizmasının böyle bir sistemi ne kadar süre yaşatabileceğini sınamak için aracı bilinçli olarak kullandım.
Bu, sistemin özünü değiştirmez ve riski ortadan kaldırmaz. Daha da kötüsü, arka arkaya birden çok kayıp varsa böyle bir mekanizma drawdown (DD) üzerinde ciddi etki yaratabilir (sinyalimde açıkça görülüyor).
Üçüncü katman: dönem
İlk iki katman, eğrinin neden düzgün görünebildiğini açıklıyor.
Ama büyük bir düşüşün neden hiç görünmeyebileceğini açıklamıyor.
Aynı testin bir kayıp dönemini de gösterdiğimizde nasıl göründüğüne bakalım.

Bu yalnızca bir kayıp dönemi.
Şimdi Expert Advisor'ın o tarihte işlem yapmaması durumunda ne olacağını görelim.
Imperial Dominator'da Skip Days parametresi bulunur.
Belirtilen tarihlerde Expert Advisor'ın yeni emirler açmasını engeller.
Değeri Skip Days = 241002 olarak ayarlayın.

Expert Advisor'ın işlem yapmayacağı tarihi girin.
Testi yeniden çalıştırın.

Düşüş ortadan kalktı. 2024.10.02 tarihinde artık açık pozisyon yok.
Kazanma oranı arttı.
Maksimum düşüş azaldı, kâr yükseldi ve eğri kusursuz görünüyor.
Üstelik test özetinde bu günün atlandığına dair hiçbir ipucu yok.
Şimdi bunun ne kadar ileri götürülebileceğine bakalım
Şimdiye kadar yalnızca tek bir kayıp dönemini kaldırdık.
Şimdi aynısını bütün kayıp dönemleri için yapacağız.
16 yıllık bir test dönemi ve dinamik lot büyüklüğü kullanacağız.

Sonuç düpedüz saçma görünüyor.
Yüz milyonlarca kâr.
Bunun nedeni olağanüstü bir işlem stratejisi bulmuş olmamız değil.
Sistemin dinamik lotla yalnızca sonuçlarını beğendiğimiz geçmiş günlerde işlem yapmasına izin verdik; beğenmediğimiz günleri ise çıkardık.
Bu, sistemin hangi günlerde kaybetmesine izin verileceğini kendiniz seçerseniz geçmiş verilerle neler oluşturabileceğinizin hikâyesidir.
Kendiniz oluşturun ve görün!
Bu EA'da kötü günler kodun içine gizlenmiyor; Skip Days alanında duruyor.
Ancak aynı ilke, alıcının göremediği kod içinde de uygulanabilir.
Büyük bir kayıptan sonra Market sayfasında yeni bir sürüm çıkabilir; güncellemenin What's new bölümünde örneğin şöyle yazabilir:
“Performans iyileştirildi”
veya
“Küçük sorunlar giderildi.”
Orada her şey yazabilir. Düzeltme, yanındaki sözler değil güncellemenin kendisidir. Ardından bu EA'nın backtest'i yine kusursuz görünür.
Kayıp tarihi Expert Advisor koduna sabit olarak yazılmışsa bunu ayarlarda göremez ve devre dışı bırakamazsınız.
Böyle bir backtest'in teknik olarak ne kadar kolay hazırlanabildiğini önceki makalemde ayrıntılı anlattım:
DURUN! Backtest'ler Yalan Söyler. Herhangi Bir EA'yı 5 Saniyede Nasıl “Kusursuz” Gösterebilirsiniz?
https://www.mql5.com/en/blogs/post/769134
Bu nedenle size gösterilen backtest, sistemin bütün geçmişi olmayabilir.
Yalnızca sistemin işlem yapmasına izin verilen günlerin geçmişi olabilir.
Kendiniz kontrol edin: atlanan gün
EA'nızın backtest'inde kayıpla sonuçlanan bir gün bulun.
Testi tüm dönem boyunca çalıştırın.
Ardından o tarihi hariç tutup testi yeniden çalıştırın.
Sonuçları karşılaştırın.
Tek bir gün bile bütün backtest'in görünümünü önemli ölçüde değiştirebilir.
Peki bu dürüstçe yapılamaz mı?
Dürüst bir süreç — filtreleme, test etme, doğrulama — zaman alır.
Ama bu sistem için işe yaramayacaktır.
Kayıp sayısı çok azsa birkaç örnekten bunların ortak yönünü anlayamazsınız.
Bir avuç münferit örneğe göre oluşturulan filtre, gerçek bir örüntüye değil rastlantıya uyum sağlayabilir.
Bir sistem yılda yalnızca üç kez kaybetmişse ve bu üç günü çıkarıyorsak robotu iyileştirmiş olmayız.
Yalnızca istatistikten hoşumuza gitmeyen bölümü kaldırmış oluruz.
Bir sonraki kayıp bambaşka bir gün ve bambaşka bir nedenle ortaya çıkabilir.
Buna Rare-Event Overfitting — nadir olaylara aşırı uyum — denir.
Filtre geçmiş kayıpları ne kadar titizlikle temizlerse, o kadar kırılgan hâle gelebilir.
Yalnızca önceki kayıpları filtreleyerek gelecekte sıfır kayıp elde etme olasılığı pratikte sıfırdır.
Backtest'in aşırı optimizasyonu ve test dönemi dışındaki sonuçlara etkisi hakkında daha fazla bilgi:
Bailey, D., Borwein, J., Lopez de Prado, M., & Zhu, Q. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
SSRN — makalenin tam metni
Canlı bir sinyalin ömrünü uzatmanın ve kaçınılmaz olanı ertelemenin başka bir yolu
Expert Advisor'ın işlem yapmasına izin verilen gün sayısını azaltabilirsiniz.
Örneğin işlemleri haftanın belirli bir günüyle sınırlayabilirsiniz.
Bir haber filtresi ekleyebilirsiniz.
Belirli saatlerde işlemi engelleyebilirsiniz.
Bu filtrelerin her biri tek başına tamamen makul görünebilir.
Üstelik yararlı da olabilirler.
Ama onlara pazarlama açısından da bakmak gerekir.
Expert Advisor ne kadar az gün işlem yaparsa kaybetme ihtimaliyle o kadar az karşılaşır.
Testte ne kadar az kayıp kalırsa uzun bir kayıpsız dönem elde etmek de o kadar kolaylaşır.
Bu özellikle Loss-Delayed EA için önemlidir: büyük kayıp ne kadar uzun ertelenirse önceki kazanç serisi o kadar etkileyici görünür.
Filtrelerin mantıklı bir gerekçesi mi var, yoksa pazarlamanın sistemin ne kadar iyi olduğundan daha uzun süre söz edebilmesi için yalnızca işlem yapılan günleri mi azaltıyorlar?
Örneğin sistem cuma günleri işlem yapmıyorsa beş iş gününün yalnızca dördünde işlem yapar.
Bu durumda işlem günü sayısıyla ölçülen aynı kazanç serisi takvimde yaklaşık %25 daha uzun bir döneme yayılır.
Seri daha iyi hâle gelmedi. Sadece daha yavaş gerçekleşiyor.
Peki gerçek sinyal sayfalarındaki eğriler neden bu kadar sık kusursuz biçimde düzgün görünür?
Şimdiye kadar Expert Advisor'ın kendisi ve backtest'i üzerinde neler yapılabileceğine baktık.
Ancak MQL5 sinyallerinde gerçek bir işlem hesabının istatistiklerini görüyorsunuz.
Bu nedenle mantıklı bir soru ortaya çıkıyor:
Bu gerçek bir hesapsa öz sermaye eğrisi nasıl neredeyse kusursuz görünebilir?
Burada manipülasyon başka bir düzeydedir: EA kodunda değil, hesap istatistiklerinin gösterilme biçimindedir.
Aynı hesabı iki görünümde inceleyelim (Growth ve Balance).
Farkı görüyor musunuz?
İşlem sonucu değişmedi.
Growth görünümünde, hesap aynı dönemde düşüşler yaşamış olsa bile eğri düzenli biçimde yükseliyor.
Balance görünümünde ise birden fazla para yatırma ve çekme işlemi görüyoruz.
Bu artık bambaşka bir manipülasyon düzeyidir.
Para yatırma ve çekme işlemlerinin MQL5 sinyallerinde çok daha güzel bir istatistiksel görüntü oluşturmak için nasıl kullanılabileceğini bir sonraki POM Education Series makalesinde ele alacağız.
Ama artık güzel bir eğrinin tek başına yeterli olmadığını biliyorsunuz.
O eğriyi tam olarak neyin oluşturduğuna bakmalısınız.
Artık neler biliyorsunuz?
Artık şunları biliyorsunuz:
- küçük kârlarla büyük bir kaybın nasıl çok yüksek kazanma oranı oluşturabildiğini;
- birden fazla pozisyona bölünmüş tek bir girişin nasıl uzun bir kazanç serisi gibi görünebildiğini;
- kötü dönemleri dışarıda bırakmanın backtest'i nasıl güzelleştirdiğini;
- daha az işlem gününün kazanç serisini takvim üzerinde nasıl uzatabildiğini;
- ve güzel bir eğrinin tek başına neden hiçbir şey kanıtlamadığını.
Bir daha kusursuz bir EA sonucu gördüğünüzde yalnızca eğriye bakmayın.
Kendinize sorun: Bu bir Loss-Delayed EA olabilir mi?
Arkasında ne olduğuna bakın.
Bu yalnızca başlangıç
Bu, POM Education Series kapsamındaki ilk eğitim makalesidir.
Seriyi sürdürmeyi ve EA kalitesi hakkında yanıltıcı izlenim oluşturabilen başka yöntemleri de incelemeyi planlıyorum.
Sonraki makaleleri kaçırmak istemiyorsanız MQL5'teki Pulse of Market kanalını takip edin.
Bu makaleyi yararlı bulduysanız başkalarıyla da paylaşın. Aksi hâlde böyle bilgiler yalnızca onları zaten bulanların elinde kalır.
Pulse of Market kanalı: https://www.mql5.com/en/channels/01a02c54cf2bdd01



