X ve xCustomEA: Test ve Optimizasyon

Partial Close and Trailing. Rollback sırasında kısmi pozisyon kapatma
Close Minus by Plus, Kârlı pozisyonları arayarak ve kapatarak kârsız pozisyonları kapatma
Partial Close and Trailing. Rollback sırasında kısmi pozisyon kapatma
Close Minus by Plus, Kârlı pozisyonları arayarak ve kapatarak kârsız pozisyonları kapatma

X ve xCustomEA: Test ve Optimizasyon Video Thumbnail

Açıklama

The X ve The xCustomEA, son beş yılda Forex ticaret topluluğunda geniş çapta popülerlik kazanan iki öne çıkan Expert Advisor (EA). Bu araçlar, ticaret stratejilerini özelleştirmek isteyen ve performansı artırmak ile değişen piyasa koşullarına uyum sağlamak için test etme ve optimizasyon üzerine odaklanan trader’lar için tasarlanmıştır.

Ana Özellikler:

  • The X: Bu EA, kullanıcıların standart MetaTrader indikatörlerini kullanarak ticaret stratejileri oluşturmasını sağlayan kapsamlı bir strateji oluşturucu. 20’den fazla signal options ve çeşitli filtreler içerir, bu da herhangi bir ticaret stiline uyum sağlayabilen esnek bir araç olmasını sağlar.
  • The xCustomEA: özelleştirme‘yi bir adım daha ileri götüren bu EA, trader’ların iCustom indikatörler (iCustom) bazında stratejiler geliştirmesine olanak tanır, bu da ticaret stratejileri‘nde daha fazla esneklik sağlar. Bu, herhangi bir custom indicatorı otomatik ticaret‘inize entegre edebileceğiniz anlamına gelir.

Neden The X ve The xCustomEA’yı Seçmelisiniz?

  • Çok Yönlü ve Uyarlanabilir: Her iki advisor da birden fazla currency pair, timeframe ve piyasa koşullarında kullanılabilir, trader’lara strateji geliştirme için sonsuz olasılıklar sunar.
  • Kodlama Gerektirmez: Araçlar son derece özelleştirilebilir olsalar da, programlama bilgisi olmayanlar tarafından bile kolay kullanım için tasarlanmıştır. Sadece indikatörlerinizi ve parametrelerinizi seçin ve EAs geri kalanını yapsın.
  • Gelişmiş Fonksiyonlar: Her iki Expert Advisor da dynamic lot sizing, trailing stops, break-even levels gibi gelişmiş özelliklerle birlikte gelir. İster yeni başlayan olun ister deneyimli bir trader, bu fonksiyonlar risk yönetimi ve ticaret yürütme için hassasiyet sağlar.

Esneklik

The X ile standart MetaTrader indikatörleri kullanarak bir strateji oluşturabilirken, The xCustomEA kendi custom indikatörlerinizi entegre etmenizi sağlar, bu da ticaret stratejinizi gerçekten kişiselleştirmenize olanak tanır.

Bu EAs, ticaret stratejilerini otomatikleştirmek, potansiyeli maksimize etmek ve sofistike teknik analizlere dayalı bilinçli kararlar almak isteyen herkes için eksiksiz bir paket sunar.

Terminal MT4 ve MT5 içindeki Expert Advisors (EAs)‘ın nasıl test edileceği veya optimize edileceği hakkında konuşmayacağız! Bunu zaten makalemizde tartıştık: Expert Advisors’ın Test Edilmesi ve Optimizasyonu.

Bu makalede, Expert Advisor‘ı optimize etmenin bazı yollarını ve doğru fonksiyonları göstereceğim.

Bilgisayarınızda optimizasyona başlamanız için birkaç optimizasyon ayarı seti oluşturduk.

18.008 sürüm‘den itibaren, hem MT4 hem de MT5 sürümlerinde tüm değişkenlere aynı isimleri atadık. Bu, konfigürasyon dosyalarını bir terminalden diğerine aktarabilmeniz için yapılmıştır!

THE X bazlı ticaret stratejileri örneklerini göstereceğiz.

UnutmayınThe X veya The xCustomEA, ticaret stratejileri için bir tasarım aracıdır. Farklı fonksiyon kombinasyonlarını gruplayarak ve uygulayarak farklı sonuçlar elde edebilirsiniz.

Mucizelerin olmadığını anlamalısınız. Bizim Expert Advisors (EAs) sadece Forex‘te ticaret yapmak için araçlardır. Forex ticareti %100 risk içerir!


XCustomEA Universal Expert Advisor for Forex trading on custom indicators.

EA The xCustomEA Universal Trading Expert Advisor (EA) on iCustom indikatörler.


The X Universal Expert Advisor for Forex trading on standard indicators.

The X – Universal Expert Advisor (EA) for Forex on standard indikatörler.


Expert Advisor‘ların işlevsel özellikleri ve ayarların açıklaması, makalemizde zaten ele alınmıştır: The X – Forex MT4 MT5 İçin Evrensel Danışman Tam Kılavuz.

Bu makalede, Expert Advisor‘ın parametrelerini optimize etme ve istenen sonuçlara ulaşma konusunu tartışacağız.

test etme yöntemlerini, optimizasyon stratejilerinin seçimlerini ve Forex ticareti için çeşitli fonksiyonların dahil edilmesini ele alacağız.

Başlat, Adım, Durdur

Ayarlar seti, depositunuza ve drawdown limitine, currency pair ve contract specifications‘a, ayrıca uzun vadeli ticaret mi yoksa pipsing mi yaptığınıza bağlıdır!

Optimization settings overview

Burada ve aşağıda bu değerleri kullanacağım:

0-10-100 = optimizasyon için parametreler şu anlama gelir:

  1. Başlangıç optimizasyon değeri = 0
  2. Parametre optimizasyon adımı = 10
  3. Durdurma parametre değeri için optimizasyon = 100

Tüm parametreler Points (Pips) cinsinden ölçülür (Stop Loss, Take Profit, Distance, vb.) 4 haneli fiyatlamalara dayanmaktadır.

  1. Örneğin, EURUSD = 1.2001, broker’ın 4 haneli fiyatlamaları olduğunu gösterir. Ve 1 = 1 point!
  2. 10 yazarsam, aklımda 10 Points (Pips) olduğu anlamına gelir.
  3. Eğer broker’ınızın 5 haneli fiyatlamaları varsa, önerilerimi 10 ile çarpmanız gerekir!
  4. Örneğin, EURUSD = 1.20015, broker’ın 5 haneli fiyatlamaları olduğunu gösterir. Ve 1 = 1 point!
  5. 10 yazarsam, aklımda 10 Points (Pips) olduğu anlamına gelir. Ancak değerleri 100 olarak ayarlamalısınız.

Sorunun cevabını unutmayın!

Parametreler‘deki değerler points veya pips cinsinden mi?

Puanlarda! Değer, Point değişkeninden türetilmiştir.

  • Eğer broker’ınız 5 veya 3 haneli ise, 1 point = 0.00001 veya 0.001
  • Eğer broker’ınız 4 veya 2 haneli ise, 1 point = 0.0001 veya 0.01

Expert Advisor’ın Optimizasyonu için Hazırlık

Bizim Expert Advisors (EAs) aynı signal ve fonksiyon algoritmalarını paylaşır.

Ancak, MT5 ve MT4 terminalleri arasındaki farklar nedeniyle, performans farklılıkları olabilir.

MT5 terminalindeki strateji testeri şu anda en teknolojik olarak gelişmiş ve doğru olanıdır.

MetaTrader 5 terminali ve Strategy Tester‘ın en önemli özelliği, gerçek tick’ler üzerinde test yapabilme yeteneğidir. Spread ve stop seviyeleri MetaTrader 5‘te yüzer halde olduğu için, MT5 strateji testeri‘de test yapmak canlı ticarete mümkün olduğunca yakındır.

MetaTrader 4 terminalinde test etme ve optimizasyon hakkında açıklama yapmayacağız! Zaten nasıl test edeceğinizi biliyorsunuz. Optimizasyon süreci, MT5 süreci ile benzer (Ayarlar ve Başlatma).

Ancak MT5‘teki strateji testeri‘nın ana özelliği, tabii ki, bulutta optimize edebilme yeteneğidir MQL5 Bulut Ağı.

Bulut, Expert Advisor (EA)‘yı binlerce başka bilgisayar kullanarak minimum maliyetle optimize etmenize olanak tanır. Çok uygun fiyatlı ve hızlıdır. Bu nedenle, MQL5 Bulut‘u kullanmanızı şiddetle tavsiye ederim.

Expert Advisor ile birlikte gelen arşivde, optimizasyon ayarları içeren birkaç dosya bulacaksınız. Bunlar sadece örneklerdir, ancak optimizasyonun nasıl yapılandırılacağını gösterecekler.

Unutmayın: Her currency pair ve broker kendi ticaret koşullarına sahiptir (Spread, swap, komisyon, settlement method, execution, account type), bu nedenle optimizasyon sonuçları farklılık gösterebilir!

Sonuçları daha tutarlı hale getirmek için Random Delay‘i kapatmanız gerekir. Bu, optimizasyon için gerekli değildir!

Strategy Tester’ı Ayarlama:

  1. Listeden bir Expert Advisor seçin.
  2. Test edeceğiniz currency pair‘ı ayarlayın.
  3. TF: M1 seçmek daha iyidir. (TimeFrame, Expert Advisor‘ın ayarlarından belirlenecektir)
  4. Optimizasyon tarihi: Mevcut yılı seçebilirsiniz! Unutmayın, geçmiş sonuçlar gelecekte kâr garantisi vermez! Her yarıyılda optimizasyon yapmak en pratik aralıktır!
  5. Forward’u 1 ay olarak ayarlayabilirsiniz, ancak önce temiz sonuçlar almanızı öneririz. Daha sonra, Forward Test‘i gerçekleştireceğiz.
  6. Deposit: Ticaret yapmaya başlayacağınız deposit‘u ayarlamak daha iyidir. Çok küçük bir bakiye ayarlamayın, çok büyük de değil!
  7. Leverage: Ticaret yapacağınız leverage‘ı ayarlayın.
  8. Slow Complete algoritmasını optimize edin.
  9. Ve emin olun: “Her tick, gerçek tick’lere dayanarak”!
Strategy Tester'ı Ayarlama:

Expert Advisor Ayarlarını Yapılandırma:

  1. Inputs sekmesine tıklayın ve bizim Set dosyamızı yükleyin.
  2. Optimize etmek istediğiniz seçenekleri işaretleyin veya işaretini kaldırın. (Varsayılan olarak, tüm önemli parametreleri optimize edebileceğiniz şekilde dosyayı ayarladım)
    1. Value—Bu, parametre‘in sabit değeridir. Expert Advisor, bu parametre optimize edilmezse veya test sırasında bu değeri kullanır!
    2. Startoptimizasyon için parametre‘in başlangıç değeri.
    3. Stepoptimizer çalıştıkça parametre‘in değiştiği adım.
    4. Stopoptimizasyon için parametre‘in son değeri.
  3. Unutmayın! Parametreler ve adımlar ne kadar çok olursa, test etme ve optimizasyon tamamlanması için o kadar fazla zaman gereklidir!

Bulut Optimizasyonunu Etkinleştirme

Bulut optimizasyonunu etkinleştirmeyi şiddetle tavsiye ederim!

Bu durumda, işlemcinin kullanımını devre dışı bırakıyorum, böylece bilgisayarım optimizasyon sırasında yavaşlamaz. Ayrıca, bulutta bir geçişin maliyeti 0.01 sent’ten azdır!

Bulut optimizasyonunu etkinleştirin

START butonuna basın ve görevlerinize devam edin!

Forex ticaret illüstrasyonu

Optimizasyon için Özelleştirilebilir Parametreler

Bizim optimizasyon dosyalarını The X için indirebilirsiniz.

Bölüm 1: Ticaret Sinyalleri ve Filtreler

Bizim Expert Advisors (EAs)‘da, 20’den fazla ticaret stratejisi, MetaTrader terminalinin standart indikatörleri üzerine kuruludur.

Neden Standart Indikatörler Kullanıyoruz?

Tüm kullanıcı indikatörleri, neredeyse tamamen terminalde zaten bulunan standart indikatörleri çoğaltır.

Kod içindeki parametreleri değiştirerek bir custom indikatör oluşturursunuz. Mantıken, custom indikatör %90 standart indikatörlerden oluşur!

5.000’den fazla Expert Advisor (EA) yazdık ve custom indikatörler kullanarak bunu yapmanın mantıklı olmadığını güvenle söyleyebiliriz.

Standart indikatörlerle çalışmak öngörülebilir ve %90 oranında daha kârlıdır.

Bu nedenle, ticaret için standart indikatörler kullanıyoruz. Standart indikatörler bazında açılış pozisyonu örneklerini ve sinyallerin açıklamasını makalede okuyun: Sinyal Operasyonu Örnekleri!

Indikatörler ve sinyaller, optimizasyon ve test etme‘ye başladığınızda dikkate almanız gereken ana unsurlardır!

Yazı yazıldığında, 20 sinyalimiz var:

  1. NoSignal = 0, // Sinyal Yok
  2. Ma = 1, // Moving Average
  3. MACD = 2, // Moving Average Convergence Divergence (MACD)
  4. STOCH = 3, // Stochastic Oscillator
  5. RSI = 4, // Relative Strength Index (RSI)
  6. CCI = 5, // Commodity Channel Index (CCI)
  7. WPR = 6, // Williams Percent Range (WPR)
  8. BB = 7, // Bollinger Bands
  9. Envelopes = 8, // Envelopes
  10. Alligator = 9, // Alligator
  11. OsMA = 10, // Moving Average of Oscillator (OsMA)
  12. AO = 11, // Awesome Oscillator (AO)
  13. ISH = 12, // Ichimoku
  14. AC = 13, // AC
  15. BAR = 14, // BAR BEAR \ BULL
  16. ADX = 15, // Average Directional Index (ADX)
  17. ADXWilder = 19, // ADX Wilder
  18. ZigZag = 17, // ZigZag
  19. MFI = 20, // Money Flow Index (MFI)
  20. Fractals = 21, // Fractals

Her sinyal ve strateji, indikatör kullanımı için standart stratejidir. Bu stratejiler, bu indikatörlerin yaratıcıları tarafından geliştirilmiştir. Her stratejinin tüm amacını açıklamayacağız.

Bunlar standart ticaret stratejileridir!

Standart indikatör kullanmanın 100.000.000 seçeneğiniz olacak, ancak bunları Expert Advisor‘a ekleyemeyeceğimizi de anlıyorsunuz!

Kendi stratejinizi veya Expert Advisor (EA)‘ınızı kendi indikatörünüzde yazmak istiyorsanız, açık kaynak kod‘a ihtiyacınız var:

  1. The X için MetaTrader5 Açık Kaynak (Şu anda mevcut değil)
  2. The X için MetaTrader4 Açık Kaynak (Şu anda mevcut değil)
  3. Expert Advisor’ı Programlama: Başarı için 10 Adım!

Bizim Expert Advisor‘ımızda, bir sinyal ve beşe kadar filtreyi birleştirebilirsiniz.

Sinyal ve Filtre Farkı:

Sinyal

  1. Sinyal — tüm sinyal koşulları karşılandığında meydana gelir, örneğin MA çizgilerinin kesişmesi veya yeni bir ZigZag noktasının ortaya çıkması.
  2. Örneğin, RSI göstergesi için 70 seviyesi kesişimi bir sinyaldir. Eğer RSI 70 seviyesinin üzerindeyse, bu zaten bir filtredir.
  3. Sinyal, kotalar alındığında, çubukta sabitlendiğinde ortaya çıkar. Expert Advisor (EA) sinyali kabul eder.
  4. Örneğin, ışık yandı. Bu bir sinyaldir çünkü ışık yeni yandı. Işığı açtığınızda, kişi uyanır. Bu bir sinyaldir.
  5. Pozisyonların açılması, sinyal doğrulandıktan sonra gerçekleşir. Çizgiler kesişir ve ardından pozisyon açılır. Eğer çizgiler daha önce kesilmişse, bu bir sinyal değildir; sinyal zaten geçmiş demektir.

Filtre:

  1. Filtre – Bu, mevcut göstergenin konumudur, örneğin birbirlerine göre mevcut MA çizgilerinin konumu veya mevcut son ZIGZAG düğümüdür.
  2. Filtre, göstergenin o anda gösterdiğidir. Bu bir sinyal değildir. Bu, göstergenin mevcut konumudur.
  3. Örneğin, ışık yanıyordu. Bu bir filtredir çünkü ışık zaten açıldı ve şu anda yanıyor. Işık yanıyorken, kişi artık uyumaz. Bu bir filtredir.
  4. Sinyaller, göstergenin mevcut değerine göre filtrelenir. Eğer Hızlı MA Yavaş MA‘nın üzerindeyse, bu filtre ile sadece AL pozisyonları açılmalıdır.

Sinyal Parametrelerini Optimize Etmek İçin İpuçları:

string Signal1s = "========= KENDİ Sinyal seçenekleri =========";
typesignals IndSigToTrade = 1;
ENUM_TIMEFRAMES TF_IndSigToTrade1 = PERIOD_CURRENT;
bool Signal_Reverse = false;
bool ClosePositionifChangeOWNSignal = false;
int OWNSIGNAL_shift = 1;
string Signal2s = "========= Filtre 1 seçenekleri =========";
typesignals2 FILTER_IndSigToTrade1 = 0;
ENUM_TIMEFRAMES FILTER_TF_IndSigToTrade1 = PERIOD_CURRENT;
bool Filter1_Reverse = false;
int FILTERSIGNAL1_shift = 1; 

Sinyal için iki filtre‘den fazlasını kullanmamanızı tavsiye ediyoruz, bu yüzden diğer üç filtreyi ayarlar tablosunun altında gizledik.

Bunun nedeni, her filtre‘nin sinyal sayısını azaltmasıdır. İki filtre‘den fazlasını kullanırsanız, sinyaller çok nadir hale gelecektir.

Neden beş filtre oluşturduk?

Expert Advisor (EA) programlama ve oluşturma aşamasında, ilk kullanıcılarımız bize özellikler ve istekler listesi (“wishlist”) sağladı. Bu istekleri yerine getirerek beş filtre oluşturduk.

Sinyal Blok Optimizasyonu Varyantları

IndSigToTrade parametresi optimize edilebilir! Bu parametre için 20 seçenek olacaktır. Çok fazla olmasa da, bu veya şu strateji için en iyi sonucu seçebilirsiniz.

Değerlerin Optimizasyonu: 1 – 20 veya Moving Average – Fractals

TF_IndSigToTrade1 parametresi de optimize edilebilir. Ancak, Zaman Dilimini genellikle ticaret yaptığınız dilime ayarlamanızı tavsiye ederiz.

  1. Unutmayın: Zaman Dilimi ne kadar yüksek olursa, sinyal sayısı o kadar az olur. Zaman Dilimi ne kadar yüksek olursa, strateji o kadar uzun olur.

Signal_Reverse parametresi, stratejileri tersine çevirmek için kullanılır! Bazen, bir stratejiyi tersine çevirdiğimizde trade daha karlı hale gelir.

Optimizasyon yapmak mantıklı değildir.

  1. Ancak, bu parametreyi dahil etmek için, sadece uzun vadeli işlemleri ve büyük Stop Loss ile Take Profit kullanmanızı öneririm.
  2. Eğer zararsız ve takip duraklarını kullanırsanız ve spread içinde zarar ederseniz, bu parametreyi etkinleştirerek karlı işlem yapmanız mümkün olmayacaktır!
  3. Örneğin, stratejiniz Stop Loss = 2000 Points (Pips) ve Take Profit = 500 Points (Pips) içeriyorsa, 100 zarar ve 1 kar elde edersiniz.
  4. Stratejiyi tersine çevirdiğinizde, 100 kazanç ve 1 zarar elde edersiniz.
  5. Ama her şey görecelidir. Her teori test edilmelidir! Mucizeler gerçekleşmez!

ClosePositionifChangeOWNSignal parametresi, birincil sinyal değiştiğinde açık pozisyonların kapatılmasına izin verir.

Optimizasyon yapmak mantıklı değildir.

  1. Bu seçenek, yanlış sinyalleri hemen kesmek için kullanılabilir.
  2. Örneğin, ortalamayı kullanmıyorsanız (toplam karda bir dizi trade göstermek) ve bazı sinyallerin yanlış olacağını kabul ediyorsanız, sinyal kapandığında anında zarar oluşuyorsa, bu fonksiyonu etkinleştirebilirsiniz.

OWNSIGNAL_shift parametresi çok önemlidir! Kapalı veya mevcut çubuktan bir sinyal alımını düzenler.

Optimizasyon yapmak mantıklı değildir.

  1. Varsayılan ayarda bırakmanızı öneririm.
  2. 1 – Zaten kapanmış ve tamamen oluşmuş bir çubuktan sinyal alımı.
  3. 0 – Hâlâ oluşturulmakta olan mevcut çubuktan sinyal alımı.
  4. SHIFT sinyalini nasıl kullanacağınız hakkında ayrıntılı bir makale.

Filter N seçeneklerinin parametreleri, sinyallerle aynı mantıksal açıklamalara sahiptir. Bu nedenle, bunları tekrarlamayacağız, ancak aşağıdaki hususları belirtiyoruz:

  1. Sinyallerden farklı olan diğer göstergelerin filtrelerini kullanabilirsiniz.
  2. Aynı göstergeleri sinyalde kullanabilir ancak Zaman Dilimini sinyalin Zaman Dilimi‘nden daha yüksek olarak ayarlayabilirsiniz. Örneğin, TF sinyal = M15 ve TF filtre = H1.
  3. Filtre, sinyal ve açık pozisyon sayısını azaltır.
  4. Bir filtre, başka bir sinyal ile çalışmayabilir. Her şey ayarladığınız stratejilere bağlıdır. Bazı filtreler ve sinyaller birbirleriyle çelişebilir.
  5. Örneğin, Moving Average bir AL sinyali gösterirken, RSI Filtre o anda sadece SAT sinyali gösterir. Böyle çelişkilerle karşılaşılmıştır.
  6. Filtreyi kullanarak pozisyon açmazsanız, filtreyi kapatın ve bu konuyu araştırın. Belki de iki gösterge birbirleriyle çelişiyordur.

Blok 2: Sinyal Seçenekleri

Bu blokta, sinyal bloğunu ince ayarlamaya yardımcı olabilecek parametreler ekledik.

Bu parametreler yardımcıdır ve bunları optimize etmenizi önermiyorum.

bool Show_alert_without_opening_positions = false;
bool OpenBarControlOnly = false;
bool ControlNewBarforSIGNAL = true;
bool ReverseSignal = false;

Show_alert_without_opening_positions parametresi, pozisyonların gerçek açılmasını kapatmanıza izin verir. Bunun yerine, Expert Advisor (EA) bir sinyal geldiğinde ekranda bilgi görüntüler.

Optimizasyon yapmak mantıklı değildir.

  1. Expert Advisor (EA) pozisyonu açmaz.
  2. Sinyal hakkında hesaplanmış parametrelerle bilgi görüntülenir.
  3. Bu sinyal için pozisyon açmayı açıp kapatabilirsiniz.

OpenBarControlOnly parametresi, sadece Açık Fiyatlar biçimindeki test modeli için kullanılır.

Optimizasyon yapmak mantıklı değildir.

  1. Bu, Expert Advisor (EA)‘nın gerçek grafikteki açık çubuklar üzerinde çalışmasını sağlar.
  2. Bu parametre etkinleştirildiğinde, Expert Advisor‘nın tüm algoritması sadece yeni bir çubuk açıldığında bir kez çalıştırılır.
  3. Bu seçeneği etkinleştirdiğinizde elde edilen sonuçlar, Açık Fiyatlar Yalnızca modundaki test sonuçlarına benzer.

ControlNewBarforSIGNAL parametresi – Yeni bir çubukta sinyal işleme sadece bir kez dahil eder.

Optimizasyon yapmak mantıklı değildir.

  1. Bu, Expert Advisor (EA)‘nın optimizasyon sırasında bilgisayarınız üzerindeki yükü önemli ölçüde azaltmasına olanak tanır.
  2. Strateji test edicisinde test hızını artırır.
  3. Sadece SHIFT > 0 için kullanılır.

ReverseSignal parametresi, pozisyon açma için genel sinyali tersine çevirir.

Değerlerin Optimizasyonu: True – False

  1. Signal_Reverse‘ın aksine, açılış için ana sinyali, sinyalleri ve filtreleri dahil ederek tersine çevirebilirsiniz.

Blok 3: Açılış Filtre Seçenekleri

Bu blok, teknik sınırlamalara dayalı olarak pozisyon açılışını filtrelemenize izin veren parametreleri içerir.

string oo_121 = "========= Açılış Filtre seçenekleri =========";
TypeTrade TypeTradeBUYSELL = 0;
int MinuteToOpenNextPosition = 0;
bool OpenOppositePositionAfterStoploss = false;
bool OnlyOnePosbySignal = true;
bool OnePosPerDirection = true;
bool OnlyOnePositionPerMagic = false;
bool OnlyAlternateSignals = false;
int MAX_BUY_POSITION = 0;
int MAX_SELL_POSITION = 0;
int MaxSpreadToNotTrade = 0;
int MinSpreadToNotTrade = 0;

TypeTradeBUYSELL parametresi – Sadece bir yönde ticaret yapabilme yeteneğini içerir.

Optimizasyon yapmak mantıklı değildir.

  1. Expert Advisor (EA)‘yı manuel olarak yönetirken, örneğin haberleri analiz ederken kullanışlıdır.
  2. Ya da ek sinyalleri belirlemek için ek araçlar kullanırken, örneğin trend çizgileri.
  3. Bu özelliği, trendin yönüne emin olduğunuzda kullanmanızı öneririm.

MinuteToOpenNextPosition parametresi – aynı sinyal üzerinde ek bir pozisyon açılmasını engeller.

Optimizasyon yapmak mantıklı değildir.

  1. Bu, sinyal üzerindeki ticaret ayarlarını ince ayarlamanıza olanak tanır, trader sinyalin gücüne güvendiğinde.
  2. OnlyOnePosbySignal = false iken kullanılır.
  3. Aynı sinyal üzerinde pozisyon açılmasını sınırlar.

OpenOppositePositionAfterStoploss parametresi – önceki pozisyon stop loss ile kapatıldıysa (zararda), ters pozisyon açar.

Optimizasyon yapmak mantıklı değildir.

  1. Bu, deneysel bir seçenektir ve çalışmanın özünü anlayan bir trader tarafından kullanılabilir.

OnlyOnePosbySignal parametresi – Seçilen döviz çifti ve magic numarası için sadece bir pozisyon açılmasına izin verir.

Bu parametreyi OnePosPerDirection = true kullanırken True veya False olarak ayarlayabilirsiniz.

  1. Bu fonksiyonu kapatmak, aynı yönde aynı sinyal üzerinde pozisyonları “düğmelemek” (dial) olanağı sağlar.
  2. Bu parametreyi değiştirmenizi önermiyorum.

OnePosPerDirection parametresi – Expert Advisor (EA)‘nın sadece bir yönde pozisyon açmasına veya aynı anda iki yönde ticaret yapma olasılığını içermesine izin verir.

Optimizasyon yapmak mantıklı değildir.

  1. Yalnızca OnlyOnePosbySignal = false iken çalışır.
  2. Bu parametreyi değiştirmenizi önermiyorum.

OnlyOnePositionPerMagic parametresi, aynı MAGIC’e sahip tüm Expert Advisor (EA)‘ların açık pozisyonlarını kontrol etmenize olanak tanır.

Optimizasyon yapmak mantıklı değildir.

  1. Yalnızca OnlyOnePosbySignal = false iken çalışır.
  2. Bu parametreyi değiştirmenizi önermiyorum.

OnlyAlternateSignals parametresi – Sadece son kapatılan pozisyondan ters yönde pozisyon açmanıza izin verir.

Optimizasyon yapmak mantıklı değildir.

  1. Sinyal sayısını önemli ölçüde azaltır.
  2. Bu parametreyi değiştirmenizi önermiyorum.

MAX_BUY_POSITION ve MAX_SELL_POSITION parametreleri – Aynı anda açık olan işlemlerin (pozisyonların) sayısını sınırlamanıza izin verir.

Optimizasyon yapmak mantıklı değildir.

  1. Yalnızca OnlyOnePosbySignal = false iken çalışır.
  2. Bu parametreyi değiştirmenizi önermiyorum.
  3. Bu parametre, sinyal sayısını sınırlamadan farklı yönde ticaret yapmanız için oluşturulmuştur.
  4. Bir sinyal üzerinde aynı anda pozisyon açılmasını sınırlamanıza veya piyasada açık pozisyonları bulmanıza olanak tanır.

MaxSpreadToNotTrade ve MinSpreadToNotTrade parametreleri, brokerin spread’i sık sık değiştirdiği durumlarda sinyal üzerinde pozisyon açılmasını sınırlamanıza izin verir.

Optimizasyon yapmak mantıklı değildir.

  1. Bu parametreyi değiştirmenizi önermiyorum.
  2. Bu parametreler sadece gerçek bir grafikte ayarlanmalıdır.
  3. Önemli haber yayınları sırasında ve spread’in keskin sıçramalar yaşandığında sinyalleri sınırlamanıza izin verir, burada Expert Advisor (EA) büyük duraklamalar (stops) ayarlayabilir.

Blok 4: Kapatma Seçenekleri

Bu blok, belirli durumlarda pozisyonları kapatmanıza izin veren parametreleri içerir.

input string oo_123 = "========= Kapatma seçenekleri =========";
input bool ClosePosIfChange = true;
input bool CloseChangeOnlyInProfit = true;
input int ClosePosition_After_X_Minutes = 0;

ClosePosIfChange parametresi – Açılış için sinyal değiştiğinde ters pozisyonu kapatır.

Değerlerin Optimizasyonu: True – False

  1. Bu, mevcut sinyalin yanlış olduğu anlaşıldığında veya yeni bir sinyal ortaya çıktığında mevcut sinyali değiştirmenizi sağlar.
  2. Göstergenin sinyalini değiştirdiğinde kar veya zararı sabitlemenize olanak tanır.

CloseChangeOnlyInProfit parametresi – Sadece karlı pozisyonları kapatmanıza izin verir.

Bir sinyal alındığında ters pozisyon açma sinyali, mevcut pozisyon kârdaysa kapatılır.

Değerlerin Optimizasyonu: True – False

  1. Göstergenin sinyalini değiştirdiğinde kârı sabitlemenize izin verir.
  2. Yalnızca ClosePosIfChange = true iken çalışır.

ClosePosition_After_X_Minutes parametresi – Belirli bir süre sonra pozisyonu kapatır.

Değerlerin Optimizasyonu: Zaman Diliminizin (TF) katları olan sayıları ayarlamanız önerilir.

Örneğin, Expert Advisor (EA)‘yı M15 Zaman Dilimi‘nde kullanırken, değerleri şu şekilde ayarlayın: başlangıç 0, adım 15, dur 75.

  1. Expert Advisor (EA)‘nın ticaret yapmasına izin verilen zamanı sıkıca sabitler.
  2. Sinyal tarafından açılan pozisyonları kapatmanıza olanak tanır. Örneğin, açılıştan 15 dakika sonra.
  3. CloseChangeOnlyInProfit parametresine bağlıdır ve çalışır:
  4. CloseChangeOnlyInProfit = true ise, pozisyonlar kârda ise kapatılır.

Blok 5: Bekleyen Emir Seçenekleri

Bu blokta, bekleyen emirleri yönetmek için parametreler açıklanmıştır.

input StopOrderType StopOrderUSE = 0;
input int StopOrderDeltaIfUSE = 0;
input int StopOrderDayToExpiration = 0;
input int StopOrderBarToExpiration = 0;
input bool ReInstallStopOrdersNewSignalAppears = true;

StopOrderUSE parametresi – Pozisyonlar yerine bekleyen veya limit emirleri açmanıza izin verir.

Değerlerin Optimizasyonu: False – Stop Emirlerini Kullan.

  1. Bu, sinyalleri işletme mesafesine göre ek olarak filtrelemenizi sağlar.
  2. Stop Emirlerini Kullan: Expert Advisor (EA) bir sinyal aldığında ve 100 nokta (pip) mesafede bekleyen bir emir açtığımızda, fiyat 100 nokta (pip) yönümüzde geçtiğinde ve bekleyen emir tetiklendiğinde, sinyal doğrulanmış sayılır.
  3. Limit Emirlerini Kullan: Expert Advisor (EA) bir sinyal aldığında ve 100 nokta (pip) mesafede limit emir açtığımızda, fiyat karşı yönde 100 nokta (pip) geçtiğinde ve limit emir tetiklendiğinde, sinyal bir geri tepme olarak kabul edilir. Geri tepmenin olacağını sağlamak en iyisidir.
  4. Limit Emirlerini Kullan için optimizasyon yapmanızı önermiyorum.
  5. Stop Emirlerini Kullan değeri sadece uzun vadeli ticaret için anlamlıdır.

StopOrderDeltaIfUSE parametresi, bekleyen stop veya limit emrine olan mesafedir.

Değerlerin Optimizasyonu: Her çift için ayrı ayrı parametreleri ayarlamanız önerilir.

  1. Örneğin, EURUSD döviz çifti ve M30 zaman diliminde ticaret yapıyorsanız ve dönemdeki ortalama fiyat hareketi, örneğin 50 çubuk = 7500 nokta (pip), bu parametreyi optimize etmek için başlangıç 0, adım 100 ve dur 1000 olarak ayarlayın.
  2. Örneğin: XAUUSD döviz çifti ve M1 zaman diliminde ticaret yapıyorsanız ve dönemdeki ortalama fiyat hareketi, örneğin 50 çubuk = 100 nokta (pip), bu parametreyi optimize etmek için başlangıç 0, adım 10 ve dur 100 olarak ayarlayın.
  3. Bir açılış sinyalinin doğrulanmasına ve dönemdeki ortalama fiyat hareketine ihtiyaç duyuyorsanız. Örneğin, 100 çubuk = 1000 nokta (pip), başlangıç 0, adım 50 ve dur 500 olarak ayarlayın.

StopOrderDayToExpiration parametresi, bekleyen emir ayarlanmış gün sayısı içinde gerçekleşmezse emri siler.

Optimizasyon yapmak mantıklı değildir.

StopOrderBarToExpiration parametresi, bekleyen emir ayarlanmış çubuk sayısı içinde gerçekleşmezse emri siler (zaman diliminize bağlıdır).

Optimizasyon seçenekleri: başlangıç 0, adım 1, dur 10

  1. Bekleyen emrin StopOrder ayar seviyesini fiyatın kırmaması durumunda emri silmenize izin verir.

ReInstallStopOrdersNewSignalAppears parametresi, sinyal güncellendiğinde bekleyen emri sıfırlar.

Optimizasyon yapmak mantıklı değildir.

  1. Bu, her yeni sinyal ortaya çıktığında bekleyen emir ayarlamanıza izin verir.
  2. Bu ayarı değiştirmenizi önermiyorum.

Blok 6: Ticaret Seçenekleri

Bu blokta, pozisyonları gerçekleştirirken ayarlanan parametreler toplanmıştır.

Optimizasyon yapmak mantıklı değildir.

Blok 7: Durak Seçenekleri

Stop loss ve take profit ile çalışmak için blok.

input string oo5 = "========= Durak seçenekleri =========";
input bool VirtualStops = false;
input bool ForcedModifySLTP = false;
input minlevel SetMinStops = 0;
input int StopLoss = 2000;
input int TakeProfit = 0;
input bool Include_Commission_Swap = true;

ForcedModifySLTP, SetMinStops, Include_Commission_Swap parametrelerini değiştirmeyi önermiyorum. Optimizasyon yapmak mantıklı değildir.

VirtualStops parametresi – Pozisyonların gerçek durak loss ve take profit’ını değiştirmeden sanal durak loss ve take profit kurma yeteneğini içerir (pozisyondaki durak loss ve take profit = 0 olacaktır).

Değerlerin Optimizasyonu: True – False

  1. Tüm StopLoss ve TakeProfit seviyeleri global değişkenlerde ve grafikte saklanır.
  2. StopLoss ve TakeProfit için sanal yürütme vardır.
  3. Gerçek pozisyonların çok küçük (sunucudaki minimum seviyeden daha az) durak seviyeleri kurmanız gerektiğinde uygulanması mantıklıdır.
  4. Durak seviyelerinizi brokerdan gizlemenize izin verir, böylece stratejinizin mantığını anlamayı zorlaştırır.

StopLoss parametresi – Pozisyon için stop loss.

Değerlerin Optimizasyonu: Her çift için ayrı ayrı parametreleri ayarlamanız önerilir.

  1. Örneğin, EURUSD döviz çifti ve M30 zaman diliminde ticaret yapıyorsanız ve dönemdeki ortalama fiyat hareketi, örneğin 50 çubuk = 7500 nokta (pip), bu parametreyi optimize etmek için başlangıç 0, adım 100 ve dur 1000 olarak ayarlayın.
  2. Örneğin: XAUUSD döviz çifti ve M1 zaman diliminde ticaret yapıyorsanız ve dönemdeki ortalama fiyat hareketi, örneğin 50 çubuk = 100 nokta (pip), bu parametreyi optimize etmek için başlangıç 0, adım 5 ve dur 100 olarak ayarlayın.
  3. Her pozisyon için limitlerinize bağlıdır.
  4. StopLoss ne kadar büyükse, pozisyonun tutulma süresi o kadar uzun olur ve fiyatın açılış pozisyonuna geri dönme olasılığı o kadar artar.
  5. StopLoss ne kadar küçükse, yanlış sinyaller o kadar hızlı kapatılır.
  6. DistanceAdditionalOpening‘den daha az olan küçük StopLoss kullanmak mantıklı değildir.

TakeProfit parametresi – Pozisyon için take profit.

Değerlerin Optimizasyonu: Her çift için ayrı ayrı parametreleri ayarlamanız önerilir.

  1. Örneğin, EURUSD döviz çifti ve M30 zaman diliminde ticaret yapıyorsanız ve dönemdeki ortalama fiyat hareketi, örneğin 50 çubuk = 7500 nokta (pip), bu parametreyi optimize etmek için başlangıç 0, adım 25 ve dur 500 olarak ayarlayın.
  2. Örneğin: XAUUSD döviz çifti ve M1 zaman diliminde ticaret yapıyorsanız ve dönemdeki ortalama fiyat hareketi, örneğin 50 çubuk = 100 nokta (pip), bu parametreyi optimize etmek için başlangıç 0, adım 5 ve dur 100 olarak ayarlayın.
  3. StopLoss / 2 veya StopLoss / 3 hesaplamasında bir take profit ayarlayabilirsiniz.
  4. TakeProfit ne kadar büyükse, pozisyonun tutulma süresi o kadar uzun olur. TakeProfit‘ün hedefini gerçekleştirmediği takdirde kar pozisyonunu kaçırabilirsiniz.
  5. TakeProfit ne kadar küçükse, kârlı sinyaller o kadar erken kapatılır.
  6. DistanceAdditionalOpening‘den daha az olan küçük TakeProfit kullanmak mantıklı değildir.

Blok 8: Lot Seçenekleri

Sabit lot ve otomatik lot ile çalışmak için blok.

input string oo4 = "========= Lot seçenekleri =========";
input double Lots = 0.01;
input bool DynamicLot = false;
input double LotBalancePercent = 0.01;
input double RiskRate = 0;
input double MaxLot = 999;
input double Martingale = 1;

Parametreleri MaxLot ve RiskRate değiştirmeyi önermiyorum. Optimizasyon yapmak mantıklı değil.

Lots parametresi – pozisyon hacmini ayarlar.

Değer optimizasyonu: Bu, hesabınızın bakiyesine bağlıdır. Örneğin: 0.01 adım lotu ve 1000 $ depozito için: başlangıç 0.01, adım 0.01, dur 0.1

  1. Bu parametre, stratejinin kalan parametrelerinin optimizasyonundan sonra daha iyi optimize edilir.
  2. Lotu artırdığınızda, bir pozisyondan elde edilen karı artırırsınız.
  3. Lot arttıkça, depozitoyu boşaltabilirsiniz.
  4. DynamicLot = true iken optimizasyon yapmak mantıklı değil.
  5. Pozisyonu bu lot ile açtığınızda, sadece Balance’ın %1-2’sini kullanacak şekilde lotu hesaplayın. Örneğin:
  • 0.01 lot ile bir pozisyon açmak için 10 $ serbest marjin gereklidir.
  • 100 stop noktası (pip) kullanırsanız (fiyat 1 nokta = 0.1 $ ise), 10 $ zarar edersiniz. Bu, 1000 $’ın %1’idir.

Parametreler DynamicLot ve LotBalancePercent – lot pozisyonunun otomatik hesaplanmasını ayarlar.

Değer optimizasyonu: DynamicLot = true ve LotBalancePercent ile parametreler: başlangıç 0.1, adım 0.1, dur 1

  1. Bu parametre, stratejinin kalan parametrelerinin optimizasyonundan sonra daha iyi optimize edilir.
  2. Kâr elde ederken geometrik bir ilerleme ile lotu artırmanıza olanak tanır.
  3. Nihai kârı etkileyebilir.
  4. %1’den daha yüksek değerler kullanmanızı önermiyorum.

Martingale parametresi – stop loss kapatıldığında Martingale’ı etkinleştirir.

Değer optimizasyonu: başlangıç 0.1, adım 0.2, dur 2

  1. StopLoss değeri > 0 kullanmak mantıklıdır.
  2. Martingale 1’den küçükse, her sonraki pozisyon ve lotu önceki olandan küçük olur.
  3. Değer 1’den küçükse, bu, pozisyon lotları sunucudaki minimum lottan daha yüksek olduğunda kullanmak mantıklıdır.
  4. Martingale 1’den büyükse, her sonraki pozisyon ve lotu önceki olandan büyük olur.
  5. Martingale değeri ne kadar yüksekse, ticaret Expert Advisor (EA) o kadar tehlikelidir.
  6. Martingale çok basit ve tehlikeli bir stratejidir.
  7. Martingale ticaret stratejimiz hakkında kontrol etmeyi ve okumayı öneririm: Two Sides.

Blok 9: Averager Seçenekleri

Trend karşısında açılış ile çalışmak için blok. Pozisyonları ortalama.

input string oo2 = "========= Averager seçenekleri =========";
input bool AverageUSE = true;
input bool OnlyModify = false;
input int TakeProfitALL = 200;
input int Distance = 500;
input double DistanceMartingale = 1;
input double LotsMartingale = 1;
input int MaxOrdersOpen = 5;

Parametre OnlyModify – değiştirmeyi önermiyorum. Optimizasyon yapmak mantıklı değil.

Parametre AverageUSE ortalama fonksiyonlarını etkinleştirir. Sadece AverageUSE true olarak ayarlandığında diğer parametreler optimize edilebilir!

Değer optimizasyonu: True – False

  1. Ortalama pozisyonlar, hesabınızı ek pozisyonlarla yükleyebilir.
  2. Ortalama strateji, standart depozitodan en az üç kat daha büyük bir bakiye gerektirir (ortalama olmadan).
  3. Ortalama pozisyonlar, kaybeden bir pozisyonu kâra geçirmek için yapılan girişimlerdir.
  4. Önerilen depozitoyu kullanırsanız, kârlı ticaret sayısını %70-90’a çıkarabilirsiniz.
  5. Ortalama kullanırken, Expert Advisor (EA) yanlış bir sinyali kâra çevirmeye çalışacaktır. Diğer sinyaller ortalama serisi kapanana kadar görmezden gelinecektir.

Parametre TakeProfitALL tüm pozisyonların take profit’ını bir seviye ile değiştirir.

Değer optimizasyonu: 10-50-1000 (başlangıç = 10, adım = 50, dur = 1000)

  1. Ortalama devre dışı bırakıldıysa pozisyonlar için ek koruma sağlar.
  2. AdditionalOpening parametresi false olarak ayarlanmışsa, faydalıdır.

Parametre Distance trend karşısında ek pozisyonların açılacağı mesafeyi belirler.

Değer optimizasyonu: Her döviz çifti için parametrelerin bireysel olarak ayarlanması önerilir.

  1. Örneğin, bu EURUSD döviz çifti ise ve M30 zaman diliminde ortalama fiyat hareketi 50 bar = 7500 puan (pip) ise, bu parametreyi optimizasyon için şu şekilde ayarlayın: başlangıç = 0, adım = 25, dur = 500.
  2. Örneğin, bu XAUUSD döviz çifti ise ve M1 zaman diliminde ortalama fiyat hareketi 50 bar = 100 puan (pip) ise, bu parametreyi optimizasyon için şu şekilde ayarlayın: başlangıç = 0, adım = 5, dur = 100.
  3. Bu parametreyi optimize etmenin başka bir yolu, seçilen döviz çifti için ortalama spread’i kullanmaktır. Biz bu yöntemi TickSniper Expert Advisor (EA)’da kullanıyoruz.
  4. Örneğin, bir döviz çifti için ortalama spread 3 puan (pip) ise, ortalama Distance = 50 * 3 = 150 puan (pip). Bu durumda, optimizasyon şu şekilde ayarlanabilir: 100-25-250.
  5. Ortalama Distance ile ilgili öneriler hakkında daha fazla bilgi edinin: MT4 ve MT5 için Averager
  6. Distance değerleri ne kadar yüksekse, Expert Advisor (EA) pozisyon serisini toplam kâra getirmesi için o kadar uzun süre alır.
  7. Ortalama Distance değeri ne kadar küçükse, hesabınızın bakiyesine yük daha büyük olur. Daha fazla açık pozisyon, kârı daha hızlı elde etmenizi sağlar, ancak ticaret hesabınız ağır yüklenir!

Parametre DistanceMartingale her ek pozisyonda mesafeyi artırır.

Değer optimizasyonu: Sadece aşırı durumlarda, 1-0.1-2

  1. Bu parametre, serideki her yeni pozisyon için Distance‘i artırmanız gerektiğinde optimize edilmelidir.
  2. Distance çok küçükse, DistanceMartingale ortalama ızgarasının adımını artırmanıza olanak tanır.
  3. DistanceMartingale 1’den küçükse, ortalama ızgarasının adımı ve Distance her ek ortalama pozisyon açıldığında azalacaktır!
  4. DistanceMartingale 1’den büyükse, ortalama ızgarasının adımı ve Distance her ek ortalama pozisyon açıldığında artacaktır!

Parametre LotsMartingale her ek pozisyon için lot boyutunu artırır!

Değer optimizasyonu: Sadece aşırı durumlarda, 1-0.1-2

  1. Kâr elde etmek için pozisyon serisinin hareket etme süresini azaltmanıza olanak tanır.
  2. Ticaret hesabınızın ve bakiyenizin yükünü artırabilir.
  3. Sadece yeterli bir bakiye ile kullanmanız önerilir!
  4. LotsMartingale 1’den küçükse, her ek ortalama pozisyon açıldığında sonraki ek pozisyonun lot boyutu azalır.
  5. LotsMartingale 1’den büyükse, her ek ortalama pozisyon açıldığında sonraki ek pozisyonun lot boyutu artar.

Parametre MaxOrdersOpen trend karşısında ek ortalama pozisyon sayısını sınırlar!

Değer optimizasyonu: Sadece aşırı durumlarda, 0 – 1 – 10

  1. Yeni ek pozisyon sayısını sınırlandırarak hesabın yükünü sınırlamanıza olanak tanır.
  2. Değeri 5 olarak kullanıyorum. Ancak, bu değeri daha iyi sonuçlar için optimize edebilirsiniz.

Blok 10: Ek Açılış

Bu blok, trend yönünde pozisyon açma ile ilgilidir. Ek analiz.

input string oo10 = "========= Ek açılış ================================== ======= ";
input bool AdditionalOpening = false;
input bool OnlyModifyAdditionalOpening = false;
input int StopLossALL = 0;
input int DistanceAdditionalOpening = 100;
input double LotsMartinAdditionalOpening = 1;
input int MaxOrdersOpenAdditionalOpening = 0;
  

Parametre OnlyModifyAdditionalOpening değiştirilmesi önerilmez! Optimizasyon yapmak mantıklı değil.

Parametre AdditionalOpening, trend bazlı ek açılış fonksiyonunu etkinleştirir. Sadece AdditionalOpening true olarak ayarlandığında diğer parametreler optimize edilebilir!

Değer optimizasyonu: True – False

  1. Ek pozisyon açılışları, sinyal çok kârlıysa daha fazla kâr elde etmenizi sağlar.
  2. Ek pozisyon, bir zarara neden olabilir ve orijinal seriden elde edilen kârı azaltabilir.
  3. Kâr yönünde bir pozisyon ızgarası oluşturmanıza olanak tanır.
  4. Absolute Stop veya Trailing Stop ile birlikte kullanmak mantıklıdır.

Parametre StopLossALL tüm pozisyonların StopLoss’unu bir seviye ile değiştirir.

Değer optimizasyonu: 10-50-1000 (başlangıç = 10, adım = 50, dur = 1000)

  1. Ortalama devre dışı bıraktıysanız pozisyonlar için ek açılış olarak hizmet eder.
  2. Averaging parametresi false olarak ayarlanmışsa mantıklıdır.

Parametre Distance trend yönünde ek pozisyonların açılacağı mesafeyi belirtir.

Değer optimizasyonu: Her döviz çifti için parametrelerin bireysel olarak ayarlanması önerilir.

  1. Örneğin, bu EURUSD döviz çifti ise ve M30 zaman diliminde ortalama fiyat hareketi 50 bar = 7500 puan (pip) ise, bu parametreyi optimizasyon için şu şekilde ayarlayın: başlangıç = 0, adım = 25, dur = 500.
  2. Örneğin, bu XAUUSD döviz çifti ise ve M1 zaman diliminde ortalama fiyat hareketi 50 bar = 100 puan (pip) ise, bu parametreyi optimizasyon için şu şekilde ayarlayın: başlangıç = 0, adım = 5, dur = 100.
  3. Bu parametreyi optimize etmenin başka bir yolu, seçilen döviz çifti için ortalama spread’i kullanmaktır.
  4. Örneğin, bir döviz çifti için ortalama SPREAD 3 puan (pip) ise, ortalama mesafe = 50 * 3 = 150 puan (pip). Bu durumda, optimizasyon şu şekilde ayarlanabilir: 100-25-250.
  5. Ortalama Distance ile ilgili öneriler hakkında daha fazla bilgi edinin: MT4 ve MT5 için Averager
  6. Distance değerleri ne kadar yüksekse, Expert Advisor (EA) pozisyon serisini toplam kâra getirmesi için o kadar uzun süre alır.
  7. Ortalama Distance değeri ne kadar küçükse, hesabınızın bakiyesine yük daha büyük olur. Daha fazla açık pozisyon, kârı daha hızlı elde etmenizi sağlar, ancak ticaret hesabınız ağır yüklenir!

Parametre DistanceMartingale her ek pozisyonda mesafeyi artırır.

Değer optimizasyonu: Sadece aşırı durumlarda, 1-0.1-2

  1. Bu parametre, serideki her yeni pozisyon için Distance‘i artırmanız gerektiğinde optimize edilmelidir.
  2. Distance çok küçükse, DistanceMartingale ortalama ızgarasının adımını artırmanıza olanak tanır.
  3. DistanceMartingale 1’den küçükse, ortalama ızgarasının adımı ve Distance her ek ortalama pozisyon açıldığında azalacaktır!
  4. DistanceMartingale 1’den büyükse, ortalama ızgarasının adımı ve Distance her ek ortalama pozisyon açıldığında artacaktır!

Parametre LotsMartingale her ek pozisyon için lot boyutunu artırır!

Değer optimizasyonu: Sadece aşırı durumlarda, 1-0.1-2

  1. Kâr elde etmek için pozisyon serisinin hareket etme süresini azaltmanıza olanak tanır.
  2. Ticaret hesabınızın ve bakiyenizin yükünü artırabilir.
  3. Sadece yeterli bir bakiye ile kullanmanız önerilir!
  4. LotsMartingale 1’den küçükse, her ek ortalama pozisyon açıldığında sonraki ek pozisyonun lot boyutu azalır.
  5. LotsMartingale 1’den büyükse, her ek ortalama pozisyon açıldığında sonraki ek pozisyonun lot boyutu artar.

Parametre MaxOrdersOpen trend karşısında ek pozisyon sayısını sınırlar!

Değer optimizasyonu: Sadece aşırı durumlarda, 0 – 1 – 10

  1. Yeni ek pozisyon sayısını sınırlandırarak hesabın yükünü sınırlamanıza olanak tanır.
  2. Değeri 5 olarak kullanıyorum. Ancak, bu değeri daha iyi sonuçlar için optimize edebilirsiniz.

Blok 11: Kayıpsız BreakEven Seçenekleri

BreakEven bloğu.

input string MovingInWLUSE_ = "========= Kayıpsız BreakEven seçenekleri =========";
input bool MovingInWLUSE = false;
input int LevelWLoss = 0;
input int LevelProfit = 0;
  

Parametre MovingInWLUSE break-even noktasında Stop-Loss kurulumunu etkinleştirir. Sadece MovingInWLUSE true olarak ayarlandığında diğer parametreler optimize edilebilir!

Değer optimizasyonu: True – False

Parametre LevelWLoss stop loss’ı kâra ayarlamak için seviyesi belirler. Parametre LevelProfit ise break-even’in çalışmaya başladığı puan (pip) cinsinden kâr değerini tanımlar.

Değer optimizasyonu: 0-5-50

  1. LevelProfit parametresi her zaman LevelWLoss parametresinden büyük olmalıdır.
  2. LevelProfit optimizasyonunu 25-5-100 ve LevelWLoss‘u 0-5-50 olarak ayarlayabilirsiniz.
  3. LevelProfit değerinin ne kadar yüksekse, Expert Advisor (EA) için break-even noktasını ayarlamak ve pozisyonu kâra çevirmek için pozisyonun kâra hareket etmesi o kadar fazla gerekir. Bu, küçük kayıplara karşı korur, ancak kârları kaçırabilirsiniz.
  4. LevelProfit ile LevelWLoss arasındaki fark ne kadar büyükse, break-even eşiği o kadar az duyarlı hale gelir.

Blok 12: Standart Trailing Seçenekleri

Standart trailing stop birimi.

input string Trailing_ = "========= Standart Trailing seçenekleri =========";
input bool TrailingStopUSE = true;
input bool IfProfTrail = true;
input int TrailingStop = 100;
input int TrailingStep = 1;
input bool SaveTPafterTrailingStop = false;
  

IfProfTrail, TrailingStep ve SaveTPafterTrailingStop parametrelerini değiştirmeyi önermiyorum! Optimizasyon yapmak mantıklı değil.

Parametre TrailingStopUSE Stop-Loss‘ın kâra desteklenmesi ve değiştirilmesini etkinleştirir. Sadece TrailingStopUSE true olarak ayarlandığında diğer parametreler optimize edilebilir!

Değer optimizasyonu: True – False

  1. TrailingStop ile BreakEven arasındaki fark, trailing stop’un BreakEven noktasını ayarlaması ve piyasa koşulları izin verdiğinde stop loss’ı kâra ayarlamasıdır.
  2. TrailingStop ve BreakEven için farklı parametre değerleri kullanabilirsiniz. Her ikisi için aynı parametreleri kullanmak mantıklı değil.

Parametre TrailingStop, stop loss’ın mevcut fiyattan uzaklığını tanımlar. Bu durumda, pozisyon TrailingStop kâr pip’lerini biriktirmelidir.

Değer optimizasyonu: 0-10-100 (Günlük ortalama döviz çifti hareketi 200-300 puan (pip) ise)

  1. TrailingStop değeri ne kadar yüksekse, Expert Advisor (EA) pozisyon serisini toplam kâra getirmesi için o kadar fazla hareket etmesi gerekir. Bu, küçük kayıplara karşı korur, ancak daha büyük kârları kaçırabilirsiniz.

Blok 13: SAR ile Trailing Stop

SAR göstergesi tabanlı trailing stop birimi.

input period periods6 = "========= SAR ile TrailingStop ================================= ==== ";
input bool TrailingStopSAR = false;
input ENUM_TIMEFRAMES TrailingStopSAR_TimeFrame = PERIOD_CURRENT;
input double step = 0.02;
input double maximum = 0.2;
  

Parametreler TrailingStopSAR_TimeFrame, step ve maximum değiştirilmesi önerilmez! Optimizasyon yapmak mantıklı değil.

Parametre TrailingStopSAR, Parabolic SAR göstergesinin puan (pip) bazında Stop-Loss‘ı kâra ayarlamayı ve değiştirmeyi etkinleştirir. Sadece TrailingStopSAR true olarak ayarlandığında diğer parametreler optimize edilebilir!

Değer optimizasyonu: True – False

  1. Stop-Loss‘ı göstergenin ekstremlerine göre ayarlamanıza olanak tanır.
  2. Mevcut fiyat ile ekstrem arasındaki mesafeyi otomatik olarak hesaplayarak mesafeyi koruyun.
  3. TrailingStopUSE true olarak ayarlandığında kullanmak mantıklı değil.

Blok 14: Zaman Ticaret Seçenekleri

Expert Advisor (EA)’nın zaman yönetimi birimi.

input string oo6 = "========= Time Trade seçenekleri ================================= ======= ";
input bool TradeStartStopbyTime = false;
input string SeveralTimeWork = "";
input string of_times41 = "=== Time Trade Başlangıç / Durdurma Zamanı ============================";
input int OpenHour = 0;
input int OpenMinute = 0;
input int ClosePeriod_Minute = 0;
input int CloseHour = 23;
input int CloseMinute = 59;

input typeofclosebyouttime CloseAllTradesByOutOfTime = NotUse;
input string period43 = "=== Time Trade Günleri ============================";
input bool TradeByDays = false;
input string Days = "1,2,3,4,5,6,0";
input int DayForOptimization = 0;
input string period42 = "=== Time Trade Pazartesi ============================";
input bool TradeStartbyTimeMonday = false;
input int OpenHourMonday = 0;
input int OpenMinuteMonday = 0;
input string of_periods44 = "=== Time Trade Cuma ============================";
input bool TradeStartStopbyTimeFriday = false;
input int OpenHourFriday = 0;
input int OpenMinuteFriday = 0;
input int CloseHourFriday = 23;
input int CloseMinuteFriday = 59;
input bool CloseFriday = false;
  

Bu blok, birçok parametre içerir, bu da hepsini optimize etmeyi zaman alıcı hale getirir.

Test sonuçlarını iyileştirmek için diğer tüm blokları optimize ettikten sonra zaman ayarlarını optimize edebilirsiniz.

Sadece TradeStartStopbyTime true olarak ayarlandığında, kalan parametreleri optimize etmek mantıklıdır!

Yalnızca bu parametreleri optimize etmeyi öneririm:

  1. OpenHour = 0-1-23
  2. CloseHour = 0-1-23
  3. TradeByDays = True-False
  4. DayForOptimization = 0-1-6

Blok 15: Kâr veya Zarar Durumunda CloseALL Seçenekleri

Toplam kâra dayalı kapatma için blok.

input string CloseProfitLoss = "========= Kâr veya Zarar Durumunda CloseALL seçenekleri =========";
input typeprofloss TypeofClose = 1;
input bool CloseProfit = false;
input double prifitessss = 10;
input bool CloseLoss = false;
input double lossss = -10;
input double TrailOptions = 0;
input double TrailOptionsStep = 0;
input double BalanceStart = 0;
input bool ForcedClose = true;
input bool MailSend;
input bool Orderdelete = true;
input bool OFFAfterClosePROF = false;
input bool OFFAfterCloseLOSS = false;
input bool CloseTerminalAfterClosePROF = false;
input bool CloseTerminalAfterCloseLOSS = false;
  

Bireysel blok. Parametreleri sadece stratejiniz için gerekli olduğunda optimize edebilirsiniz.

Örneğin, birden fazla pozisyon açtığınızda veya kaotik pozisyon açılışları yaptığınızda.

Sadece TypeofClose PercentBalance olarak ayarlandığında aşağıdaki parametreleri optimize etmek mantıklıdır:

  1. CloseProfit = True-False;
  2. prifitessss = 0.1-0.1-1
  3. CloseLoss = True-False;
  4. lossss = (-0.1) – (-0.1) – (-1)

OnTester_Custom_max Çağırma Seçenekleri:

İlk parametre, optimizer çalıştırma sonucunu elde etmek için genel formüldür!

Varsayılan olarak: (Profit * Ticaret Sayısı) / Mevcut Fonların Drawdown Yüzdesi

OnTester_Custom_maxKendi genetik optimizasyon kriteriniz.
Test sonuçları hakkında daha fazla bilgi: İstatistikler
Formül şeklinde kaydedilmiştir. Örneğin: OnTester_Custom_max = “STAT_PROFIT * STAT_TRADES / STAT_EQUITY_DD”
Değişken isimlerini referansa göre belirtmeyi unutmayın!

OnTester_**** Çağırma Seçenekleri:

OnTester_Min_TradesOptimizasyon için Minimum İşlemBaşarılı bir optimizasyon sonucu için testin sonunda minimum Balance (depozito para biriminde).
Örneğin, 1000 (Başlangıç depozitosu ile aynı) = Bu optimizer çalışmasında Balance başlangıç depozitosundan az ise, bu sonuç 0 olacaktır.
OnTester_Min_ProfitOptimizasyon için Minimum KârBaşarılı bir optimizasyon sonucu için testin sonunda minimum Serbest Fonlar (depozito para biriminde).
Örneğin, 500 = Bu optimizer çalışmasında Equity 500’den az ise (depozito para biriminde), bu sonuç 0 olacaktır.
OnTester_Min_ProfitFactorOptimizasyon için Minimum ProfitFactorBaşarılı bir optimizasyon sonucu için gereken minimum Profit Factor.
Örneğin, 1.5 = Bu optimizer çalışmasında Profit Factor 1.5’ten az ise, bu sonuç 0 olacaktır.
OnTester_Min_BalanceOptimizasyon için Minimum BalanceBaşarılı bir optimizasyon sonucu için testin sonunda minimum Balance (depozito para biriminde).
Örneğin, 1000 (Başlangıç depozitosu ile aynı) = Bu optimizer çalışmasında Balance başlangıç depozitosundan az ise, bu sonuç 0 olacaktır.
OnTester_Min_EquityOptimizasyon için Minimum EquityBaşarılı bir optimizasyon sonucu için Expert Advisor (EA) tarafından açılan minimum işlem sayısı.
Örneğin, 50 = Bu optimizer çalışmasında işlem sayısı 50’den az ise, bu sonuç 0 olacaktır.
OnTester_Max_Balance_DDOptimizasyon için Maximum Balance Drawdown %Başarılı bir optimizasyon sonucu için izin verilen maksimum Balance Drawdown (depozito para biriminde).
Örneğin, %20 = Bu optimizer çalışmasında Balance Drawdown %20’yi aşarsa, bu sonuç 0 olacaktır.
OnTester_Max_Equity_DDOptimizasyon için Maximum Equity Drawdown %Başarılı bir optimizasyon sonucu için izin verilen maksimum Equity Drawdown (depozito para biriminde).
Örneğin, %15 = Bu optimizer çalışmasında Equity Drawdown %15’i aşarsa, bu sonuç 0 olacaktır.

Sonuçlar

Expert Advisor (EA) optimizasyonu ve testi sürekli bir çabadır.

Optimizasyonun karmaşık ve pahalı olduğunu düşünebilirsiniz. Ama milyonlarca dolar kazanmayı mı planlıyorsunuz?

Forex’in kolay olmadığını anlamalısınız. Her EA, koda entegre edilmiş sadece bir algoritmadır.

10 yıldan fazla çalışıyoruz ve ticaret uzmanlarının neler gerektirdiğini anlıyoruz.

Güvenle söyleyebiliriz ki, bir EA’yi optimize etmek ve yapılandırmak, binlerce diğer robotu arayıp optimize etmekten çok daha kolaydır.

  1. Ticaret seçeneklerini test edin ve size en uygun olanları bulun!
  2. Her altı ayda bir optimize edin!
  3. Expert Advisor (EA)’yı izleyin, günlükleri inceleyin ve EA‘ya dikkat edin!
  4. Expert Advisor (EA) parametrelerini haberler doğrultusunda ayarlayın.

Forex ticaretine dair materyalleri öğrenin.

Sorularınız mı Var?

Herhangi bir sorunuz varsa, lütfen sorun. Pişmanlık yoktur.

Ürünlerimizin her biri, satın almadan önce kontrol edilebilir.

Geri bildirimlerinizi ve ürünlerimize yönelik dileklerinizi takdir ediyoruz ve yüksek kalite standartlarını korumaya çalışıyoruz.

Bizimle olduğunuz için teşekkür ederiz!

Bir sorunuz mu var?

Leave a Reply

Your email address will not be published. Required fields are marked *

This post is also available in: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어


     

    Risk Uyarısı:


    Geçmiş işlem performansı gelecekteki sonuçları garanti etmez.

    Teminatlı döviz ticareti yüksek derecede risk taşır ve tüm yatırımcılar için uygun olmayabilir.

    Ticaret robotlarını kullanmanın önemli risk içerdiğini ve ilk yatırımınızdan daha fazlasını kaybedebileceğinizi unutmayın.

    Lütfen dikkatli davranın, mali durumunuzu dikkatle değerlendirin ve kalifiye bir profesyonelden tavsiye almayı düşünün.

    Sorumluluk Reddi

    Bu web sitesi deneyiminizi geliştirmek için çerezler kullanmaktadır. Bu web sitesini kullanarak, Veri Koruma Politikamızı ve Feragatnamemizi kabul etmiş olursunuz.
    Devamını oku