English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Italiano
MQL5 Sihirbazı: Yeni Sürüm

MQL5 Sihirbazı: Yeni Sürüm

MetaTrader 5Ticaret | 9 Aralık 2021, 11:36
103 0
MetaQuotes
MetaQuotes

MetaTrader 5 terminali gelişmeye ve yeni özellikler kazanmaya devam ediyor. Yeni MetaTrader 5 build 439, daha esnek alım satım kurallarına dayalı Uzman Danışmanlar oluşturabilmenizi sağlayan güncellenmiş MQL5 Sihirbazını içerir. Bu makalede, MQL5 Sihirbazının sunduğu yeni imkanları anlatıyoruz ve bu uygulama kullanılarak oluşturulan Uzman Danışman mimarisindeki değişiklikleri açıklıyoruz.


Arka plan

MQL5 Sihirbazı, asıl olarak yatırımcıların MQL5'te kolayca programlar oluşturmasına yardımcı olmaya yarayan kullanışlı bir araç olarak tasarlanmıştır. Daha MQL5 Sihirbazı'nın ilk sürümünde kaynak kodunu MQL5'te alarak, bir dizi basit modül şeklinde hızlıca kullanıma hazır bir Uzman Danışman oluşturabiliyordunuz. Önemli bir nokta da, MQL5 dilini bilmenize gerek olmamasıdır. Tek ihtiyacınız olan şey MQL5 Sihirbazında Kendi Uzman Danışmanınızı Oluşturun makalesini okumaktır.

Sihirbaz tarafından oluşturulan bir Uzman Danışman üç modül içerir:

Her Uzman Danışman modülü belirli bir sınıfa dayalıdır ve Uzman Danışmanınızın davranışını değiştirmeye yönelik birçok fırsat sunar.

Standart Kitaplık, çeşitli para yönetimi mekanizmalarını, açık pozisyon bakımını ve alım satım sinyallerinin oluşturulmasını uygulamak için işlevsel olarak eksiksiz, kullanıma hazır bir dizi sınıf içerir.

Bu yaklaşım, kanıtlanmış ve iyi işleyen modüllere dayalı alım satım robotları oluşturmaya olanak tanır. Sadece birkaç adımdan geçmeniz ve gerekli parametreleri belirtmeniz yeterlidir. Ancak deneyimlerimiz, özel sınıflar yazma ilkelerini açıklayan iyi örneklerin bile acemi MQL5 programcılarına her zaman yardımcı olamayacağını göstermektedir. 

MQL5 Sihirbazı'nın önceki sürümünün bir başka dezavantajı, biraz değiştirilmiş yeni bir alım satım algoritması uygulamak için yeni bir sınıf yazmanızı gerektirmesidir.

Bu deneyim ve kullanıcılardan alınan yorumlar üzerine MetaQuotes, MQL5 Sihirbazı'nın daha da fazla işleve sahip gelişmiş bir sürümünü oluşturmaya karar verdi.


Alım Satım Sinyalleri Oluşturmada Yeni Bir Konsept

MQL5 Sihirbazı'nın önceki sürümündeki temel engel, kişinin kendi alım sinyallerini oluştururken ortaya çıkabilecek sorunlarla ilgiliydi. Bu nedenle, Sihirbazın yeni sürümü geliştirilirken, basit ilkelere dayalı olarak, birleştirilmiş alım satım sinyallerinin oluşturulmasının basitleştirilmesine odaklanılmıştır.

Bu amaçla, alım satım sinyali oluşturucunun (bundan böyle Sinyal olarak anılacaktır) temel sınıfında aşağıdaki değişiklikler yapılmıştır:

  • Herhangi bir Sinyal (CExpertSignal sınıfından türetilmiştir), olası fiyat hareketi hakkında görüşlerini bildiren "danışmanların" tahminlerine dayanır. Bu danışmanlar da CExpertSignal sınıfından türetilmiştir ve bu nedenle kendi danışmanlarına sahip olabilirler. Her Sinyaldeki danışman sayısı 64'e kadar çıkabilir.
  • Fiyat hareketi yönü üzerinde "oylama" uygulayan CExpertSignal sınıfına yeni yöntemler eklenmiştir. Ek olarak, böyle bir "oylamaya" katılım için yeni bir mekanizma da bulunur.
  • Karar verme esnekliğini artırmak için, karar verme sürecine dahil olan her bir Sinyal ("danışmanların" da birer sinyal olduğunu unutmayın), artık kendi (mevcut olandan farklı) piyasa araçlarından ve/veya kendi zaman diliminden bilgi alabilir.

Böylece, şu veya bu yönde piyasaya girme kararı artık "toplu olarak", yani her danışmanın "düşünülmüş görüşü" dikkate alınarak verilebilir.

Sinyal, (bu Sinyale özel) gömülü piyasa modeli algılama algoritmalarına bağlı olarak fiyat hareketinin yönünü "oylar". Örneğin stokastik tabanlı bir Sinyal, fiyattaki bir geri dönüşü, sapmayı vs. belirleyebilir.

Standart Kitaplık halihazırda çeşitli göstergelere dayalı olarak kullanıma hazır yirmi adet Sinyal içermektedir.


Alım Satım Kararları Vermek İçin Yeni Bir Mekanizma

Sinyal tarafından alım satım kararları alma mekanizması aşağıdaki temel hükümler şeklinde sunulabilir:

  • Her Sinyalin kendi piyasa kalıpları vardır (bazı fiyat ve gösterge değerleri kombinasyonu).
  • Her piyasa modelinin 1 ile 100 arasında bir ağırlık değeri vardır. Değer ne kadar yüksek olursa, model o kadar güçlü olur.
  • Her model, belirli bir yönde bir fiyat hareketi tahmini oluşturur.
  • Uygulanan modellerden alınan tahminlerin karşılaştırılması sonucunda, en güçlü olanı seçilir ve işaretin tahmin edilen hareketin yönünü belirlediği, -100 ila +100 aralığında bir tahmin verilir (negatif - fiyat düşecek, pozitif - fiyat yükselecek). Mutlak bir değer, elde edilen en iyi modelin gücüne karşılık gelir. Bu sonuç genel oylamaya gönderilir.
  • Modül içindeki her danışmanın tahmini, ayarlarında ("Ağırlık") belirtilen ve 0'dan 1.0'a kadar olan ağırlık faktörü ile oylamaya gider.
  • Oylamanın sunucu, -100 ile 100 arasında değişen bir sayıdır. Bu sayının işareti tahmini hareketin yönünü belirtirken, mutlak değeri ise sinyal gücünü temsil eder. Modülün tüm danışmanlarının ağırlıklı tahminlerinin aritmetik ortalaması olarak hesaplanır. Bu sonuç, Sinyalin bir tahminidir ve mutlak değer, Sinyalin ne kadar güçlü olduğunun bir göstergesidir.

Oluşturulan her bir Uzman Danışmanın ayarları, bir pozisyonu açma veya kapatma kararı verme eşiği (ThresholdOpen ve ThresholdClose) olmak üzere 0 ile 100 arasında bir değere sahip olabilen iki parametre içerir. Bir Sinyalin gücü eşik değerini aşarsa, bir alım satım operasyonu yürütmeye karar verilir.

MQL5 Sihirbazı kullanılarak oluşturulan Uzman Danışman, üç bölümden oluşur; bunlardan en önemlisi alım satım sinyalleri üretme modülünü içeren baş öğesidir. Sinyal modülündeki süreçler aşağıdaki gibi gösterilebilir:



Şekil, Sinyal modülünün bir piyasa modeli bloğu ve bir danışman bloğu olmak üzere iki blok içerebileceğini göstermektedir. Model bloğu, her modelden tahminler üretir, ardından bunlardan en güçlüsü seçilir. Danışmanların tahminleri (diğer Sinyaller) karşılık gelen ağırlıkla çarpılır ve aritmetik ortalama tahminini üretmek için oylama sırasında elde edilen değerler toplanır. Bu durumda Sinyal modülü mevcut durum için -36.6 = (-100+60-54)/3 üretmiştir. Bu, 36,6 mutlak gücüne sahip Satış tahmini anlamına gelir.

İki basit örnek üzerinden karar verme mekanizmasını düşünün.

ThresholdOpen=20 ve ThresholdClose=90 ile bir Uzman Danışman olduğunu varsayalım. 0.4 ağırlıklı MA ve 0.8 ağırlıklı Stokastik tabanlı sinyal modülleri bir alım satım kararının alınmasında rol oynar. Elde edilen alım satım sinyallerinin iki seçeneğini göz önünde bulundurun:

  • Seçenek 1.

    Fiyat, yükselen bir MA göstergesini yukarı yönde kesmiştir. Bu, MA modülünde yerleşik olan fiyat artışını işaret eden piyasa modellerinden birine karşılık gelir. Anlamlılık değeri 100'dür. Bu sırada Stochastic osilatör de aşağı dönmüş olsun ve fiyat serisi ile bir ayrışma göstersin. Bu, Stokastik modülde uygulanan fiyat düşüşüne işaret eden bir modeldir. Bu modelin anlamlılık değeri 80'dir.

    Nihai oylamanın sonucunu hesaplayalım. MA modülünden elde edilen ağırlıklı tahmin, 0.4 * 100 = 40 şeklinde hesaplanır. Stokastik modülün ağırlıklı tahmini 0,8 * (-80) = -64 olarak hesaplanmıştır. Nihai tahmin, iki ağırlıklı tahminin aritmetik ortalaması olarak hesaplanır: (40 - 64)/2 = -12. Bu, 12 koşullu gücüyle satış yapmak için bir sinyaldir. 20 eşik değerine ulaşılamadı. Buna göre alım satım işlemi yapılmayacaktır.

  • Seçenek 2.

    Fiyat, yükselen bir MA göstergesini aşağı yönde kesmiştir. Bu, MA modülünde yerleşik olan fiyat artışını işaret eden piyasa modellerinden birine karşılık gelir. Anlamlılık değeri 10'dur. Bu sırada Stochastic osilatör de aşağı dönmüş olsun ve fiyat serisi ile bir ayrışma göstersin. Bu, Stokastik modülde uygulanan fiyat düşüşüne işaret eden bir modeldir. Bu modelin anlamlılık değeri 80'dir.

    Nihai oylamanın sonucunu hesaplayalım. MA modülünden elde edilen ağırlıklı tahmin 0,4 * 10 = 4 olarak hesaplanır. Stokastik modülün ağırlıklı tahmini 0,8 * (-80) = -64 olarak hesaplanmıştır. Nihai tahmin, iki ağırlıklı tahminin aritmetik ortalaması olarak hesaplanır: (4 - 64)/2 = -30. Bu, 30 koşullu gücüyle satış yapmak için bir sinyaldir. 20 eşik değerine ulaşılmıştır. Buna göre sonuç, bir kısa pozisyon açma sinyalidir.



Şekil 1. Grafikteki piyasa modellerine bir örnek

Şekil, örneklerde açıklanan piyasa modellerini göstermektedir:

a) Fiyatın sapması ve Stokastik osilatör 1. ve 2. seçeneklerde kullanılır.
b) Fiyat MA göstergesini
aşağıdan yukarıya doğru kesmiştir - Seçenek 1'de kullanılır.
c) Fiyat MA'yı yukarıdan aşağıya doğru kesmiştir - Seçenek 2'de kullanılır.


Uzman Danışmanda Sinyalleri Birleştirme

Kendi Uzman Danışmanımızı oluşturmak için öncelikle hangi enstrümanda ve hangi zaman diliminde alım satım yapacağımıza karar vermemiz gerekiyor. İkinci olarak, alım satım için kullanacağımız göstergelere göre Sinyalleri seçmeliyiz.

Örneğimiz için aşağıdaki koşullara sahip olacağız:

  1. İşlem gören sembol EURUSD'dir. Zaman dilimimiz ise M10.
  2. Kullanılan Sinyaller:
    • EMA('EURUSD',M10,31) - üstel hareketli ortalamaya dayalı sinyaller;
    • Stokastik('EURUSD',M10,8,3,3) - stokastik osilatöre dayalı sinyaller;
    • EMA('EURUSD',H1,24) - farklı bir zaman diliminden alınan üstel hareketli ortalamaya dayalı sinyaller;
    • Stokastik('EURJPY',H4,8,3,3) - farklı bir sembol ve zaman diliminden alınan stokastik osilatöre dayalı sinyaller;
    • IntradayTimeFilter - Günün saatine ve haftanın gününe göre çalışan bir filtre.


Yeni MQL5 Sihirbazında Bir Alım Satım Robotu Oluşturma

Uzman Danışmanın kaynak kodu, MetaEditor'da MQL5 Sihirbazı kullanılarak oluşturulur.

Ticaret stratejilerinin temel sınıfları, terminal_data_folder\MQL5\Include\Expert\ içinde bulunur. Alım satım sinyalleri sınıfları, açık pozisyon takip etme sınıfları ve para ve risk yönetimi sınıflarının kullanıma hazır algoritmaları Sinyal, Takip ve Para alt klasörlerinde yer almaktadır. MQL5 Sihirbazı bu klasörlerdeki dosyaları ayrıştırır ve bunları Uzman Danışman kodunu oluşturmak için kullanır.

MQL5 Sihirbazı için Temel Sınıflar

Şekil 2. MQL5 Sihirbazı için Temel Sınıflar

MQL5 Sihirbazını başlatmak için araç çubuğunda "Yeni"ye tıklamanız veya "Dosya" menüsünden "Yeni"yi seçmeniz (veya Ctrl+N tuşlarına basmanız) gerekir:

Şekil 2. MQL5 Sihirbazını Başlatma

Şekil 3. MQL5 Sihirbazını Başlatma

Ardından oluşturmak istediğiniz programın türünü seçin. Biz "Uzman Danışman (oluştur)" seçeneğini seçeceğiz:

Şekil 3. Program türünün seçilmesi

Şekil 4. Program türünün seçilmesi


Adım 1. Uzman Danışmanın Genel Özellikleri

Ardından, Uzman Danışmanın genel özelliklerini ayarlayabileceğiniz iletişim kutusu açılır:

Şekil 4. Bir Uzman Danışmanın genel özellikleri

Şekil 5. Bir Uzman Danışmanın genel özellikleri

"Ad", "Yazar" ve "Bağlantı" alanlarında (sırasıyla) Uzman Danışmanınızın adını, yazarın adını ve web sitenizin bağlantısını belirtin.

Uzman Danışman ayrıca aşağıdaki girdi parametrelerine sahiptir:

  • Sembol (dizgi tipi)                            - Uzman Danışmanın üzerinde çalıştığı sembol;
  • TimeFrame (ENUM_TIMEFRAMES tipi) - Uzman Danışmanın üzerinde çalıştığı zaman çerçevesidir.

Varsayılan olarak, her iki seçenek de "geçerli" olarak ayarlanmıştır (yani, Uzman Danışman herhangi bir sembolde/zaman diliminde sınanacak ve alım satım yapacaktır).

Ama her zaman bu kadar iyi mi? Örneğin, yanlışlıkla EURUSD'de (ayrıca, bir çapraz çiftin onayını kullanır) gün içi alım satım için ayarlanmış bir Uzman Danışmanı haftalık AUDNZD tablosunda çalıştırdınız diyelim. İyi bir şey değil gibi duruyor.

Bu nedenle, gerekli parametreleri ayarlamak daha iyi olacaktır. Bir sonraki adımda, Uzman Danışmanın alım satım yapacağı alım satım sinyallerinin türünü seçin. Sembol seçimine gitmek için "İleri" ye tıklayın.


Adım 2. Alım Satım Sinyallerinin Modüllerini Seçmek

Açılış ve kapanış pozisyonlarının algoritması, alım satım sinyallerinin modülleri tarafından belirlenir. Alım satım sinyalleri modülleri, pozisyon açma/kapama/ters çevirme kurallarını içerir.

Bir Uzman Danışman, aynı anda 64'e kadar farklı (veya aynı, ancak farklı ayarlara sahip) alım satım sinyali modülünü kullanabilir.

Şekil 5. Uzman Danışman sinyallerinin parametreleri (başlangıç).

Şekil 6. Uzman Danışman sinyallerinin parametreleri (başlangıç).

Standart Kitaplık, kullanıma hazır alım satım sinyalleri Modüllerine sahiptir:

  1. 'Accelerator Oscillator' göstergesinin sinyalleri;
  2. 'Adaptive Moving Average' göstergesinin sinyalleri;
  3. 'Awesome Oscillator' göstergesinin sinyalleri;
  4. 'Bears Power' osilatörünün sinyalleri;
  5. 'Bulls Power' osilatörünün sinyalleri;
  6. 'Commodity Channel Index' osilatörünün sinyalleri;
  7. 'DeMarker' osilatörünün sinyalleri;
  8. 'Double Exponential Moving Average' göstergesinin sinyalleri;
  9. 'Envelopes' göstergesinin sinyalleri;
  10. 'Fractal Adaptive Moving Average' göstergesinin sinyalleri;
  11. Gün içi zaman filtresinin sinyalleri;
  12. 'Moving Average Convergence/Divergence' osilatörünün sinyalleri;
  13. 'Moving Average' göstergesinin sinyalleri;
  14. 'Parabolic SAR' göstergesinin sinyalleri;
  15. 'Relative Strength Index' osilatörünün sinyalleri;
  16. 'Relative Vigor Index' osilatörünün sinyalleri;
  17. 'Stochastic' osilatörünün sinyalleri;
  18. 'Triple Exponential Average' osilatörünün sinyalleri;
  19. 'Triple Exponential Moving Average' göstergesinin sinyalleri;
  20. 'Williams Percent Range' osilatörünün sinyalleri.


Şekil 6. Sinyallerin seçilmesi

Şekil 7. Sinyallerin seçilmesi

"Referans Şartlarımıza" göre, önce 'Moving Average' göstergesinin sinyallerini seçiyoruz.

Gerekli parametreleri yapılandıralım (PeriodMA ve Method). Ağırlık hariç tüm parametreleri optimizasyondan çıkarmak için (varsayılan olarak sinyalin tüm parametreleri girdi parametreleri olarak işaretlenir) "Ad" alanına çift tıklayın.

Burada "Symbol" ve "TimeFrame" alanlarından bahsetmemiz gerekiyor. Sinyalin uygun ayarları mevcut parametrelerden farklıysa bu alanlar doldurulmalıdır. Bir sinyal için, mevcut ayarlar "üstün zeka"nın ayarlarıdır (bu durumda bu, Uzman Danışmandır).

Şekil 7. Sinyal parametrelerinin yapılandırılması

Şekil 8. Sinyal parametrelerinin yapılandırılması

Kalan sinyalleri ekleyin ve gerekli parametreleri yapılandırın. Optimizasyon için, tüm sinyaller için yalnızca Ağırlık parametresini bırakın.

Sinyallerin yapılandırılması tamamlanmıştır. Devam etmek için "İleri" ye tıklayın.

Şekil 8. Uzman Danışman sinyallerinin parametreleri (bitiş)

Şekil 9. Uzman Danışman sinyallerinin parametreleri (bitiş)


Adım 3. Açık Pozisyonları Takip Etme Modülünü Seçmek

Bir sonraki adım, açık pozisyonları takip etme algoritmasını seçmektir (Trailing Stop). Takibi kullanmak, kazanılan kârdan tasarruf etmenizi sağlar.

Bu modülün yapılandırması MQL5 Sihirbazı makalesinde ayrıntılı olarak açıklanmıştır: Programlama Olmadan Uzman Danışmanlar Oluşturma. Biz takip kullanmayacağız.

Şekil 9. Pozisyon takip algoritmasını seçme

Şekil 10. Pozisyon takip algoritmasını seçin


Adım 4. Para ve Risk Yönetimi Modülünü Seçin

Son adımda, Uzman Danışmanda kullanacağınız para ve risk yönetimi sistemini seçmeniz gerekiyor. Bu modülün yapılandırması MQL5 Sihirbazı makalesinde ayrıntılı olarak açıklanmıştır: Programlama Olmadan Uzman Danışmanlar Oluşturma. Biz sabit bir lot kullanacağız.


Şekil 10. Para yönetimi algoritmasını seçme

Şekil 11. Para yönetimi algoritmasını seçme

İşte bu. "Bitir"e tıklayın.


MetaTrader 5 Strateji Sınama Aracında Oluşturulan Uzman Danışmanı Kontrol Etme

Standart Kitaplığın tüm bileşenleri mevcutsa, oluşturulan Uzman Danışmanın kodu başarıyla derlenir. En iyi Uzman Danışman parametreleri seti, optimizasyondan sonra MetaTrader 5 Strateji Sınama Aracında bulunabilir.

Uzman Danışmanın optimizasyonu için 01.01.10 ile 01.01.11 arasındaki periyodu seçin ve iki aşamada çalıştırın.

İlk aşama: "Sinyal ağırlıklarının seçimi, giriş/çıkış koşullarının tetiklenmesi için eşikler ve alım satım seviyeleri."

Şekil 11. Uzman Danışman optimizasyonunun parametreleri

Şekil 12. Uzman Danışman optimizasyonunun parametreleri

İşte en iyi optimizasyon çalıştırmasının sonucu.

Şekil 12. Uzman Danışman optimizasyonunun sonuçları

Şekil 13. Uzman Danışman optimizasyonunun sonuçları

Şimdiden iyi sonuçlar aldık (kâr ve maksimum düşüş açısından). Sabit bir lotla "alım satım yaptığımızı" unutmamalıyız.

Ama sonuçları daha da iyileştirmeye çalışalım. Bu amaçla başka bir sinyalimiz var (henüz bunun ayarlarını kullanmadık). Parametreleri optimize etme sonucunda bulunan değerler, Uzman Danışman tarafından tanınan bir piyasa modelini açıklar.

Ancak ortaya çıkan piyasa modelinin her zaman eşit derecede iyi çalışmadığını varsayalım. Zaman filtresini optimizasyon sonuçlarına uygulamaya çalışalım.

Bunun için Uzman Danışmanı "IntradayTimeFilter" Sinyallerinin "Kötü saatler" parametresine göre optimize edelim. "Kötü saatler" parametresi, 24 bitlik (günlük saat sayısı) bir bit eşlemdir. Bit maskesinin her biti, saatlerden biriyle benzersiz bir şekilde eşleşir (maskedeki bit sayısı ve bir gündeki saat sayısı eşleşir). Mevcut saatin sayısı bu bitin sayısına eşitse (yani saat alım satım için kötü olarak kabul edilirse), 1'e eşit herhangi bir bitin değeri herhangi bir oylama sonucunu geçersiz kılar.

"İyi" ve "kötü" saatlerin tüm olası kombinasyonlarını gözden geçirmek için, parametreyi 1'e eşit bir adımda 0'dan 2^24-1'e (doğal biçimde 16 777 215) optimize edeceğiz.

Şekil 13. Uzman Danışman optimizasyonunun parametreleri

Şekil 14. Uzman Danışman optimizasyonunun parametreleri

Optimizasyon sonucunda 11 665 415 değerini elde ediyoruz. Bunun ne demek olduğunu anlamak için ikili biçimde ifade edelim:

  •  101100100000000000000111 - yani "kötü" saatlerin sayıları 0, 1, 2, 17, 20, 21 ve 23'tür.

İşte tüm optimizasyonlardan sonra Uzman Danışmanın parametreleri.

Şekil 14. Uzman Danışmanın özellikleri

Şekil 15. Uzman Danışmanın Özellikleri

En iyi parametrelere sahip tek bir sınamanın raporu ektedir. Kâr daha yüksek ve düşüş daha azdır. Zaman filtrelemesinden sonra, geçmiş dönemde alım satım sisteminin sonuçlarının iyileştiği sonucuna varılabilir.


Sonuç

Alım satım stratejileri sınıflarının kullanımı, MQL5 Sihirbazını kullanarak alım satım fikirlerini doğrudan MetaEditor'da sınamak üzere robotların oluşturulmasını önemli ölçüde kolaylaştırır. Artık Uzman Danışmanın tüm kaynak kodu, Standart Kitaplığın kullanıma hazır modüllerinin kombinasyonuna dayalı olarak veya kendi modülleriniz kullanılarak oluşturulabilir.

MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal makale: https://www.mql5.com/ru/articles/275

Ekli dosyalar |
sample.mq5 (8.75 KB)
Özel Grafik Kontrolleri. Kısım 1: Basit Kontrol Oluşturma Özel Grafik Kontrolleri. Kısım 1: Basit Kontrol Oluşturma
Bu makalede grafik kontrollerinin geliştirilmesine ilişkin genel ilkeler ele alınacaktır. Grafik nesnelerle hızlı ve kullanışlı bir çalışma için araçlar hazırlayacağız, metin veya nümerik verilerin girilmesi için basit bir kontrol oluşturma örneğini ve bunu kullanma yollarını analiz edeceğiz.
MQL5'te Kaynak Kullanımı MQL5'te Kaynak Kullanımı
MQL5 programları sadece rutin hesaplamaları otomatikleştirmekle kalmaz, aynı zamanda tam özellikli bir grafik ortam yaratabilir. Gerçekten etkileşimli kontroller oluşturmaya yönelik fonksiyonlar, artık neredeyse klasik programlama dillerinde olduğu kadar zenginler. MQL5'te tam teşekküllü bir bağımsız program yazmak istiyorsanız, kaynakları içinde kullanın. Kaynakları olan programların bakımı ve dağıtımı kolaydır.
Özel Grafik Kontrolleri. Kısım 2. Kontrol Kitaplığı Özel Grafik Kontrolleri. Kısım 2. Kontrol Kitaplığı
"Özel Grafik Kontrolleri" serisinin ikinci makalesi, bir program (Uzman Danışman (EA), komut dosyası, gösterge) ve bir kullanıcı arasındaki etkileşimde ortaya çıkan temel sorunları ele almak için bir kontrol kitaplığını tanıtmaktadır. Kitaplık çok sayıda sınıfı (CInputBox, CSpinInputBox, CCheckBox, CRadioGroup, CVSсrollBar, CHSсrollBar, CList, CListMS, CComBox, CHMenu, CVMenu, CHProgress, CDialer, CDialerInputBox, CTable) ve bunların kullanım örneklerini içerir.
MetaTrader 5'de Sınamanın Temelleri MetaTrader 5'de Sınamanın Temelleri
MetaTrader 5'deki üç test modu arasındaki farklar nelerdir ve özellikle nelere dikkat edilmelidir? Birden fazla enstrüman üzerinde aynı anda işlem gören bir EA'nın testi nasıl yapılır? Test sırasında gösterge değerleri ne zaman ve nasıl hesaplanır ve olaylar nasıl ele alınır? Bir "yalnızca açılış fiyatı" modunda test yaparken farklı enstrümanlardan çubukları nasıl senkronize edebilirim? Bu makale, bunlara ve diğer birçok soruya cevap vermeyi amaçlamaktadır.