Görselleştirilmiş bilgilerle iyi bir iş parçacığı oluşturuldu - İpuçları dizisi . Bu küçük başlığı tüm yeni başlayanlara (bilmek için) ve deneyimli kullanıcılara (bilgilerini yenilemek için) okumaları şiddetle tavsiye edilir.
----------------
serbest hizmet
MQL5 hesabınıza nasıl para yatırılır
Bir sonraki aşamaya nasıl geçilir
Geri bildirim nasıl bırakılır
ekran görüntüsü nedir
Bir ön Gereksinim Belirtimi dosyası/diğer formatlardaki dosyalar nasıl eklenir
Programda bir hata varsa Geliştiriciye sağlanacak şeyler
Bir metne resim/kod/video/tablo nasıl eklenir
Bir mobil cihazda ekran görüntüsü nasıl yapılır
Sipariş yürütme süresi/maliyeti nasıl uzatılır?
Yürütme için 3 gün ayarladıktan sonra 5 gün boyunca kaybolma Müşteri: Sohbete gömmek için video yerine GIF görüntüsü nasıl oluşturulur?
Güncellenen MetaTrader 5 platformunun beta sürümü 14 Ekim 2018'de yayınlanacak. Access.metatrader5.com:443 adresinde bulunan genel MetaQuotes-Demo sunucumuzu güncelleyeceğiz. Güncellenen platform özelliklerini değerlendirmek ve geliştiricilerin hataları düzeltmesine yardımcı olmak için tüm tüccarları testlere katılmaya davet ediyoruz.
MetaTrader 5 platformunu 1910'a kadar güncellemek için access.metatrader5.com sunucusuna bağlanın:443.
Yeni MetaTrader 5 platformunun son yapısı, genel beta testinden sonra yayınlanacak.
Güncelleme aşağıdaki değişiklikleri içerecek:
Terminal: Artık finansal sembol çizelgelerini ticaret terminali penceresinden ayırabilirsiniz.
Bu özellik, birden fazla monitör kullanıldığında kullanışlıdır. Böylece ana platform penceresini tek bir monitörde hesap durumunuzu kontrol etmek için ayarlayabilir ve piyasa durumunu gözlemlemek için grafiklerinizi ikinci ekrana taşıyabilirsiniz. Bir grafiği terminalden ayırmak için bağlam menüsünde Yerleştirilmiş seçeneğini devre dışı bırakın. Bundan sonra grafiği istediğiniz monitöre taşıyın.
Ayrılmış grafiklerdeki ayrı bir araç çubuğu, monitörler arasında geçiş yapmak zorunda kalmadan analitik nesnelerin ve göstergelerin uygulanmasına olanak tanır. Kullanılabilir komutlar kümesini yönetmek veya gizlemek için araç çubuğu bağlam menüsünü kullanın.
Terminal: Yerleşik sohbetler tamamen güncellendi. Artık grup diyaloglarını ve kanallarını destekliyorlar. Farklı diyaloglar arasında geçiş yapmadan birleşik bir ortamda bir grup insanla özel tartışmalar yapın ve ilgi alanlarınıza ve dillerinize göre kanallar oluşturun. Web sitesini ziyaret etmeden MQL5.community'deki meslektaşlarınız ve arkadaşlarınızla iletişim kurun.
Grup sohbetleri ve kanalları herkese açık veya özel olabilir. Onlara özgürce veya yalnızca davetle katılmanın mümkün olup olmadığına yaratıcıları karar verir. Ayrıca, ek iletişim kontrolü için kanallara ve sohbetlere moderatörler atayabilirsiniz.
Terminal: Kripto para ticareti için artırılmış hacim doğruluğu desteği eklendi. Şimdi mümkün olan minimum işlem hacmi 0,00000001 lottur. Pazar derinliği, zaman ve satışların yanı sıra diğer arayüz öğeleri artık hacimleri 8 ondalık basamağa kadar doğru olarak görüntüleme özelliğine sahiptir.
Minimum hacim ve değişim adımı, komisyoncu tarafındaki finansal araç ayarlarına bağlıdır.
Terminal: MQL5.community'de yayınlanan makalelerin sekmesi Toolbox penceresine eklendi. MQL5'te ticaret stratejilerinin geliştirilmesine ilişkin 600'den fazla ayrıntılı materyal artık terminalden ayrılmaya gerek kalmadan mevcut. Yeni makaleler haftalık olarak yayınlanmaktadır.
Terminal: Bir seviye ile sınırlı olduğunda piyasa derinliğinin sabit gösterimi.
Terminal: Standart araç çubuğuna "Resim Olarak Kaydet" komutu eklendi. Artık grafiklerin fotoğraflarını çekmek ve bunları toplulukta paylaşmak çok daha kolay.
Terminal: Çubuklar ve keneler içe aktarılırken zaman kaymasının uygulanması düzeltildi. Daha önce, bazı durumlarda vardiya uygulanmıyordu.
MQL5: "Akıllı" işlevlerin içe aktarılmasıyla .NET kitaplıkları için yerel destek eklendi. Artık .NET kitaplıkları özel sarmalayıcılar yazmadan kullanılabilir - MetaEditor bunu kendi başına yapar.
.NET kitaplığı işlevleriyle çalışmak için, belirli işlevleri tanımlamadan DLL'nin kendisini içe aktarmanız yeterlidir. MetaEditor, çalışması mümkün olan tüm işlevleri otomatik olarak içe aktarır:
Basit yapılar (POD, düz eski veriler)
Basit veri türlerine sahip yapılar
Yalnızca basit tiplerin ve POD yapılarının veya bunların dizilerinin kullanıldığı parametrelere sahip genel statik işlevler
Kütüphaneden fonksiyonları çağırmak için basitçe içe aktarın:
#import "TestLib.dll"//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart ()
{
int x= 6 ;
TestClass::Inc(x);
Print (x);
}
TestClass'ın Inc işlevinin C# kodu aşağıdaki gibi görünür:
Yürütme sonucunda komut dosyası 7 değerini döndürür.
MQL5: Kod ayrıştırılırken satır içi, __inline ve __forceinline belirteçleri için destek eklendi. Kodda belirteçlerin bulunması hataya neden olmaz ve derlemeyi etkilemez. Şu anda bu özellik, С++ kodunun MQL5'e aktarılmasını kolaylaştırıyor. MSDN'de belirteçler hakkında daha fazla bilgi bulun.
MQL5: MQL5 programlarının önemli ölçüde optimize edilmiş yürütülmesi. Bazı durumlarda, performans artışı %10'a ulaşabilir. Programlarınızı daha hızlı çalıştırmak için yeni MetaEditor sürümünde yeniden derleyin.
Ne yazık ki, bu ek optimizasyon nedeniyle yeni programlar önceki terminal sürümleriyle uyumlu olmayacaktır. MetaEditor sürüm 1910 ve sonraki sürümlerde derlenen programlar, 1880'in altındaki terminal sürümlerinde başlatılamaz. Daha önceki MetaEditor sürümlerinde derlenen programlar yeni terminallerde çalışabilir.
MQL5: Önemli ölçüde optimize edilmiş çoklu MQL5 işlevleri.
MQL5: Terminal ana penceresinden çizelgeleri eklemek/çıkarmak ve konumlarını yönetmek için yeni özellikler eklendi.
TERMINAL_SCREEN_LEFT — sanal ekranın sol koordinatı. Sanal ekran, tüm monitörleri kapsayan bir dikdörtgendir. Sistem sağdan sola sıralanmış iki monitöre sahipse, sanal ekranın sol koordinatı iki monitörün sınırında olabilir.
TERMINAL_SCREEN_TOP — sanal ekranın üst koordinatı.
TERMINAL_SCREEN_WIDTH — terminal genişliği.
TERMINAL_SCREEN_HEIGHT — terminal yüksekliği.
TERMINAL_LEFT — sanal ekrana göre terminalin sol koordinatı.
TERMINAL_TOP — sanal ekrana göre terminalin üst koordinatı.
TERMINAL_RIGHT — sanal ekrana göre terminalin sağ koordinatı.
TERMINAL_BOTTOM — sanal ekrana göre terminalin alt koordinatı.
MQL5: MqlTick ve MqlBookInfo yapılarına volume_real alanı eklendi. Artan doğruluk hacimleriyle çalışmak üzere tasarlanmıştır. Volume_real değeri, 'volume' değerinden daha yüksek bir önceliğe sahiptir. Sunucu, belirtilirse bu değeri kullanır.
struct MqlTick { datetime time; // Last price update time double bid; // Current Bid price double ask; // Current Ask price double last; // Current price of the Last trade ulong volume; // Volume for the current Last price long time_msc; // Last price update time in milliseconds uint flags; // Tick flags double volume_real; // Volume for the current Last price with greater accuracy };
struct MqlBookInfo
{
ENUM_BOOK_TYPE type; // order type from the ENUM_BOOK_TYPE enumerationdouble price; // pricelong volume; // volumedouble volume_real; // volume with greater accuracy
};
MQL5: Döküm numaralandırmaları için rahat gereksinimler. Örtük bir döküm durumunda, derleyici otomatik olarak doğru numaralandırmanın değerini değiştirir ve bir uyarı görüntüler.
Aşağıdaki kod için:
enum Main
{
PRICE_CLOSE_,
PRICE_OPEN_
};
input Main Inp=PRICE_CLOSE;
//+------------------------------------------------------------------+//| Start function |//+------------------------------------------------------------------+voidOnStart ()
{
}
Derleyici şu uyarıyı görüntüler:
implicit conversion from 'enum ENUM_APPLIED_PRICE' to 'enum Main' 'Main::PRICE_OPEN_' instead of 'ENUM_APPLIED_PRICE::PRICE_CLOSE' will be used
Daha önce, bu durumda aşağıdaki hata oluşturuldu:
'PRICE_CLOSE' - cannot convert enum
İşlev parametrelerinde numaralandırmalar yanlış kullanılırsa, derleyici hatayı görüntülemeye devam edecektir.
MQL5: Şablon fonksiyonlarının derlenmesi düzeltildi. Artık, aşırı yüklenmiş şablon işlevleri kullanılırken, mevcut olanların tümü yerine yalnızca gerekli aşırı yükleme somutlaştırılır.
class X { };
void f( int ) { }
template < typename T>
void a(T*) { new T( 2 ); } // previously, the compiler generated the error heretemplate < typename T>
void a() { f( 0 ); }
voidOnInit () { a<X>(); }
MQL5: CopyTicks* işlevi aracılığıyla bazı onay geçmişine erişim durumları optimize edildi.
Test Cihazı: Test/optimizasyon ve ilgili raporların oluşturulması sırasında mevduat para birimi doğruluğunun hesaplanması düzeltildi.
Test Cihazı: Strateji test cihazı işlemini optimize etti ve hızlandırdı.
MetaEditor: Tüm kelimeler için sabit arama. Artık arama yaparken, alt çizgi bir sözcük sınırlayıcı yerine normal bir karakter olarak sayılıyor.
Bu iş parçacığı MQL5 kod örneklerini tartışır. Göstergelerden nasıl veri alınacağına, danışmanların nasıl programlanacağına dair örnekler olacak ... genel olarak, başlangıç seviyesinden MQL5 diline kadar herhangi bir soru.
MetaTrader 5 terminali ile yeni tanışmaya başladıysanız, aşağıdaki konuları önerebilirim:
Why products are checked before they are published in the Market
Herhangi bir ürün, Market'te yayınlanmadan önce zorunlu ön kontrollerden geçmelidir, eksper veya gösterge mantığındaki küçük bir hata işlem hesabında kayıplara neden olabilir. Bu nedenle Market ürünlerinin gerekli kalite seviyesini sağlamak için bir dizi temel kontrol geliştirdik.
Ürününüzü kontrol etme sürecinde Market moderatörleri tarafından herhangi bir hata tespit edilirse, hepsini düzeltmeniz gerekecektir. Bu makale, geliştiriciler tarafından ticaret robotlarında ve teknik göstergelerde en sık yapılan hataları ele almaktadır. Ayrıca aşağıdaki makaleleri okumanızı öneririz:
MetaTrader 5 platform güncellemesi 21 Şubat 2019'da yayınlanacak. Yeni sürüm aşağıdaki değişiklikleri içeriyor:
Terminal: Tamamen revize edilmiş yerleşik Ekonomik Takvim.
Ekonomik Takvim bizim özel çözümümüzdür. Burada en büyük 13 küresel ekonomiyle ilgili 600'den fazla finansal haber ve gösterge bulacaksınız: ABD, Avrupa Birliği, Japonya, Birleşik Krallık, Kanada, Avustralya, Çin ve diğerleri. İlgili veriler açık kaynaklardan gerçek zamanlı olarak toplanır.
Yeni sürüm, güncellenmiş içerikler ve gelişmiş olay filtreleri içerir: zamana, önceliğe, para birimlerine ve ülkelere göre.
Takvim verilerine artık MQL5 programlarından erişilebilir. Ayrıntılar için lütfen aşağıya bakın.
Terminal: Yeni MQL5 uygulamaları türü eklendi — Hizmetler. Bu yeni tür, terminal için özel fiyat beslemelerinin oluşturulmasını sağlar, yani, tıpkı brokerlerin ticaret sunucularında uygulandığı gibi, harici sistemlerden gerçek zamanlı olarak fiyat teslimini uygulamak için.
Uzman Danışmanların, göstergelerin ve komut dosyalarının aksine, hizmetler belirli bir çizelgeye bağlı değildir. Bu tür uygulamalar arka planda çalışır ve terminal başlatıldığında otomatik olarak başlatılır (böyle bir uygulama zorla durdurulmadıysa).
Hizmetler, Gezgin penceresindeki yeni bir bölümden yönetilebilir:
Hizmetler nasıl oluşturulur? Bir hizmet şablonu oluşturmak için ilgili MQL5 Sihirbazı seçeneğini kullanın. Hizmetler, komut dosyalarına benzer bir OnStart giriş noktasına sahiptir. Bu noktada, ağ işlevlerini kullanarak sonsuz bir veri alma ve işleme döngüsü uygulayabilirsiniz.
Hizmetler nasıl başlatılır Farklı parametrelere sahip birden fazla Expert Advisor veya gösterge kopyası çalıştırmak için bunları farklı grafiklerde başlatmanız gerekir. Bu durumda, daha sonra bağımsız olarak çalışan farklı program örnekleri oluşturulur. Hizmetler grafiklere bağlı değildir, bu nedenle hizmet örneklerinin oluşturulması için özel bir mekanizma uygulanmıştır.
Gezgin'den bir hizmet seçin ve bağlam menüsünde "Hizmet ekle"ye tıklayın. Bu, ticareti etkinleştirebileceğiniz/devre dışı bırakabileceğiniz ve sinyal ayarlarına erişimin yanı sıra çeşitli parametreleri ayarlayabileceğiniz standart bir MQL5 program iletişim kutusunu açacaktır.
Bir hizmet örneği, uygun örnek menüsü kullanılarak başlatılabilir ve durdurulabilir. Tüm örnekleri yönetmek için servis menüsünü kullanın.
Terminal: Bir öğrenme programı eklendi.
Yeni özellik, yeni başlayanların platformla nasıl etkileşime gireceklerini öğrenmelerine yardımcı olacak. Ana platform özellikleriyle ilgili 100'den fazla etkileşimli ipucu ekledik.
İpuçları, araç çubuğunda bir ilerleme çubuğu olarak sorunsuz bir şekilde görüntülenir ve böylece kullanıcının dikkatini dağıtmaz.
İpuçları, yalnızca platformda hiç gerçekleştirmediğiniz eylemler için görünür.
Tüm ipuçları, ilgili arayüz öğelerine gidebileceğiniz etkileşimli bağlantılar içerir. Örneğin, bir ticaret iletişim kutusu veya istenen programı içeren bir menü, doğrudan uçtan başlatılabilir.
Uygun eylemleri gerçekleştirdiğinizde ve eğitime devam ettiğinizde ilerleme çubuğunun dolu alanı artacaktır.
Terminal: İşlem hesabı geçmişi pozisyonlar olarak sunulabilir. Platform, pozisyonla ilgili (açılış, hacim artışı, kısmi veya tam kapanış) işlem verilerini toplar ve bilgileri tek bir kayıtta gruplandırır. Böylece pozisyon detaylarına erişebilirsiniz: açılış ve kapanış zamanı, hacim, fiyat ve sonuç. Bu verimli sunum formu artık dosyalara aktarılan geçmiş raporlarında mevcuttur.
Terminal: R dilini kullanan uygulamalar aracılığıyla MetaTrader 5 terminal verilerinin talep edilmesini sağlayan yeni API eklendi.
Özel bir MetaTrader paketi hazırladık. R ve MetaTrader 5 terminali, belgeler ve yardımcı r dosyaları arasındaki etkileşimler için DLL içerir. CRAN deposundaki paket kaydını tamamlıyoruz, ardından indirme ve kurulum için hazır olacak.
Paket özel bir komut kullanılarak kurulabilir:
R CMD INSTALL --build MetaTrader
Veri talebiyle ilgili aşağıdaki komutlar mevcuttur:
MT5Initialize, MetaTrader 5 terminalini başlatır ve onunla bağlantı kurar. Gerekirse, komut yürütme sırasında terminal başlatılır.
MT5Shutdown, MetaTrader 5'i başlatır ve bağlantısını keser.
MT5Version, MetaTrader 5 terminal sürümünü alır.
MT5TerminalInfo, bir aracının sunucusuna (hesap numarası ve sunucu adresi) terminal bağlantısının durumunu ve parametrelerini alır.
MT5WaitTerminal, MetaTrader 5 terminalinin bir aracının sunucusuna bağlanmasını bekler.
MT5CopyTicksFrom(symbol, from, count, flags) belirtilen tarihten başlayarak belirtilen sayıda onay işaretini kopyalar. Tarih, 01.01.1970 tarihinden itibaren milisaniye cinsinden belirtilir.
MT5CopyTicksRange(symbol, from, to, flags) belirtilen süre içinde keneleri kopyalar. Tarihler 01.01.1970 tarihinden itibaren milisaniye cinsinden belirtilmiştir.
MT5CopyRatesFrom(symbol, timeframe, from, count), belirtilen tarihten başlayarak belirtilen sayıda bir dakikalık çubukları kopyalar. Tarih, 01.01.1970 tarihinden itibaren saniye cinsinden belirtilir.
MT5CopyRatesFromPos(symbol, timeframe, start_pos, count), son çubuğa göre belirtilen konumdan bir dakikalık çubukları kopyalar.
MT5CopyRatesFromRange(symbol, timeframe, date_from, date_to) belirtilen süre içindeki çubukları kopyalar. Tarihler 01.01.1970 tarihinden itibaren saniye cinsinden belirtilir.
Desteklenen komutların listesi daha da genişletilecektir.
Terminal: Bir pozisyonu zıt bir pozisyonla kapatmak için kullanılan Close By diyalogu optimize edildi. Artık, çok sayıda açık pozisyonunuz olsa bile diyalog yavaşlamıyor.
Terminal: Verilerin zaman zaman atlanabileceğinden kaynaklanan sabit sentetik sembol hesaplama hataları.
Terminal: Özel bir sembol silindiğinde, işaretini ve çubuk geçmişini saklayan dosyalar da silinir. Bu, sabit diskte kullanılmayan verilerin birikmesini önler.
Terminal: Arama sonuçlarının Yüksek DPI ekranlarında görüntülenmesi düzeltildi.
MQL5: MQL5 programlarından ekonomik takvim verilerine erişim uygulandı.
Yeni işlevler
CalendarCountryById — tanımlayıcıya göre ülke açıklamasını alır.
bool CalendarCountryById(
constlong country_id, // country ID
MqlCalendarCountry& country // country description
);
CalendarEventById — tanımlayıcıya göre olay açıklamasını alır.
CalendarValueHistoryByEvent — olay tanımlayıcısına göre belirtilen zaman aralığı için değerler dizisini alır.
bool CalendarValueHistoryByEvent(
ulong event_id, // event ID
MqlCalendarValue& values[], // array of valuesdatetime datetime_from, // period beginning datedatetime datetime_to= 0 // period end date
);
CalendarValueHistory — tüm etkinlikler için belirtilen zaman aralığı için ülkeye ve/veya para birimine göre filtrelenmiş değerler dizisini alır.
bool CalendarValueHistory(
MqlCalendarValue& values[], // array of valuesdatetime datetime_from, // beginning of perioddatetime datetime_to= 0 , // end of periodstring country_code=NULL, // country codestring currency=NULL // currency
);
CalendarValueLastByEvent — tanımlayıcıya göre bir dizi son olay değeri alır. Bu fonksiyon, önceki istekten bu yana görünen değerlerin isteğini etkinleştirir. Bu işlem için ayrıca "change_id" giriş/çıkış parametresi kullanılır.
Takvim veritabanı her değiştiğinde, "change_id" özelliği (son değişiklik tanımlayıcısı) güncellenir. Veri talebi sırasında, "change_id" belirtirsiniz ve terminal, bir sonraki istek için kullanılabilecek mevcut "change_id" değerinin yanı sıra, o zamandan sonra görünen olayları döndürür. İlk işlev çağrısı sırasında sıfır "change_id" belirtin: işlev herhangi bir olay döndürmez, ancak daha sonraki istekler için geçerli "change_id" değerini döndürür.
bool CalendarValueHistory(
ulong event_id, // event IDulong & change_id, // last calendar change ID
MqlCalendarValue& values[] // array of values
);
CalendarValueLast — tüm etkinlikler için ülkeye ve/veya para birimine göre filtrelenmiş son değerler dizisini alır. Bu fonksiyon, önceki istekten bu yana görünen değerlerin isteğini etkinleştirir. CalendarValueLastByEvent'e benzer şekilde, istek için "change_id" özelliği kullanılır.
bool CalendarValueHistory(
ulong event_id, // event IDulong & change_id, // last calendar change ID
MqlCalendarValue& values[], // array of valuesstring country_code=NULL, // country codestring currency=NULL // currency
);
Yeni yapılar
MqlCalendarCountry — ülke açıklaması.
struct MqlCalendarCountry
{
ulong id; // country ID in ISO 3166-1string name; // text name of the countrystring code; // code name of the country in ISO 3166-1 alpha-2string currency; // country currency codestring currency_symbol; // country currency symbol/signstring url_name; // country name used in URL on mql5.com
};
MqlCalendarEvent — olay açıklaması.
struct MqlCalendarEvent
{
ulong id; // event ID
ENUM_CALENDAR_EVENT_TYPE type; // event type
ENUM_CALENDAR_EVENT_SECTOR sector; // sector to which the event belongs
ENUM_CALENDAR_EVENT_FREQUENCY frequency; // event release frequency
ENUM_CALENDAR_EVENT_TIMEMODE time_mode; // event release time modeulong country_id; // country ID
ENUM_CALENDAR_EVENT_UNIT unit; // unit for the event values
ENUM_CALENDAR_EVENT_IMPORTANCE importance; // event importance
ENUM_CALENDAR_EVENT_MULTIPLIER multiplier; // event importance multiplieruint digits; // number of decimal places in the event valuestring source_url; // source URLstring event_code; // event codestring name; // text name of the event in the terminal language
};
MqlCalendarValue — olay değeri açıklaması.
struct MqlCalendarValue
{
ulong id; // value IDulong event_id; // event IDdatetime time; // event date and timedatetime period; // period, for which the event is publishedint revision; // published indicator revision in relation to the reported periodlong actual_value; // current event valuelong prev_value; // previous event valuelong revised_prev_value; // revised previous event valuelong forecast_value; // forecast event value
ENUM_CALENDAR_EVENT_IMPACRT impact_type; // potential impact on the currency rate
};
Yeni numaralandırmalar
enum ENUM_CALENDAR_EVENT_FREQUENCY
{
CALENDAR_FREQUENCY_NONE = 0 , // not used
CALENDAR_FREQUENCY_WEEK = 1 , // weekly
CALENDAR_FREQUENCY_MONTH = 2 , // monthly
CALENDAR_FREQUENCY_QUARTER = 3 , // quarterly
CALENDAR_FREQUENCY_YEAR = 4 , // yearly
CALENDAR_FREQUENCY_DAY = 5 , // daily
};
enum ENUM_CALENDAR_EVENT_TYPE
{
CALENDAR_TYPE_EVENT = 0 , // event (meeting, speech, etc.)
CALENDAR_TYPE_INDICATOR = 1 , // indicator
CALENDAR_TYPE_HOLIDAY = 2 , // holiday
};
enum ENUM_CALENDAR_EVENT_SECTOR
{
CALENDAR_SECTOR_NONE = 0 , // no
CALENDAR_SECTOR_MARKET = 1 , // market
CALENDAR_SECTOR_GDP = 2 , // GDP
CALENDAR_SECTOR_JOBS = 3 , // jobs
CALENDAR_SECTOR_PRICES = 4 , // prices
CALENDAR_SECTOR_MONEY = 5 , // money
CALENDAR_SECTOR_TRADE = 6 , // trade
CALENDAR_SECTOR_GOVERNMENT = 7 , // government
CALENDAR_SECTOR_BUSINESS = 8 , // business
CALENDAR_SECTOR_CONSUMER = 9 , // consumer
CALENDAR_SECTOR_HOUSING = 10 , // housing
CALENDAR_SECTOR_TAXES = 11 , // taxes
CALENDAR_SECTOR_HOLIDAYS = 12 , // holidays
};
enum ENUM_CALENDAR_EVENT_IMPORTANCE
{
CALENDAR_IMPORTANCE_LOW = 0 , // no
CALENDAR_IMPORTANCE_NONE = 1 , // low
CALENDAR_IMPORTANCE_MODERATE = 2 , // moderate
CALENDAR_IMPORTANCE_HIGH = 3 , // high
};
enum ENUM_CALENDAR_EVENT_UNIT
{
CALENDAR_UNIT_NONE = 0 , // no
CALENDAR_UNIT_PERCENT = 1 , // percent
CALENDAR_UNIT_CURRENCY = 2 , // national currency
CALENDAR_UNIT_HOUR = 3 , // number of hours
CALENDAR_UNIT_JOB = 4 , // number of jobs
CALENDAR_UNIT_RIG = 5 , // number of rigs
CALENDAR_UNIT_USD = 6 , // US dollar
CALENDAR_UNIT_PEOPLE = 7 , // number of people
CALENDAR_UNIT_MORTGAGE = 8 , // number of mortgages
CALENDAR_UNIT_VOTE = 9 , // number of votes
CALENDAR_UNIT_BARREL = 10 , // number of barrels
CALENDAR_UNIT_CUBICFEET = 11 , // volume in cubic feet
CALENDAR_UNIT_POSITION = 12 , // number of job positions
CALENDAR_UNIT_BUILDING = 13// number of buildings
};
enum ENUM_CALENDAR_EVENT_MULTIPLIER
{
CALENDAR_MULTIPLIER_NONE = 0 , // no
CALENDAR_MULTIPLIER_THOUSANDS = 1 , // thousands
CALENDAR_MULTIPLIER_MILLIONS = 2 , // millions
CALENDAR_MULTIPLIER_BILLIONS = 3 , // billions
CALENDAR_MULTIPLIER_TRILLIONS = 4 , // trillions
};
enum ENUM_CALENDAR_EVENT_IMPACRT
{
CALENDAR_IMPACT_NA = 0 , // not available
CALENDAR_IMPACT_POSITIVE = 1 , // positive
CALENDAR_IMPACT_NEGATIVE = 2 , // negative
};
enum ENUM_CALENDAR_EVENT_TIMEMODE
{
CALENDAR_TIMEMODE_DATETIME = 0 , // the source publishes the exact time
CALENDAR_TIMEMODE_DATE = 1 , // the event takes the whole day
CALENDAR_TIMEMODE_NOTIME = 2 , // the source does not publish the event time
CALENDAR_TIMEMODE_TENTATIVE = 3 , // the source provides only date, but does not publish the exact time in advance, exact time is added when event occurs
};
Yeni hata kodları
ERR_CALENDAR_MORE_DATA = 5400 , // the array is small for the whole result (values which fit in the array were passed)
ERR_CALENDAR_TIMEOUT = 5401 , // timed out waiting for a response to the calendar data request
ERR_CALENDAR_NO_DATA = 5402 , // data not found
MQL5: Onay ve çubuk geçmişiyle ilgili düzeltmeler ve çalışma hızı iyileştirmeleri.
MQL5: Özel işlem sembollerinin, CustomTicks* ve CustomRates* 'in onay ve çubuk geçmişi değiştirme işlevleriyle ilgili düzeltmeler ve önemli işlem hızı iyileştirmeleri.
ArrayRemove, belirtilen dizinden başlayarak belirtilen sayıda öğeyi bir diziden kaldırır.
bool ArrayRemove(
void & array[], // array of any typeuint start, // the index to start removaluint count=WHOLE_ARRAY // number of elements
);
ArrayInsert, belirtilen dizinden başlayarak, kaynak diziden belirtilen sayıda öğeyi alıcı dizisine ekler.
bool ArrayInsert(
void & dst_array[], // receiver arrayconstvoid & src_array[], // source arrayuint dst_start, // index in the receiver array where to insertuint src_start= 0 , // index in the source array to start copyinguint count=WHOLE_ARRAY // number of inserted elements
);
ArrayReverse, bir dizide belirtilen dizinden başlayarak belirtilen sayıda öğeyi tersine çevirir.
bool ArrayReverse(
void & array[], // array of any typeuint start= 0 , // index to start reversinguint count=WHOLE_ARRAY // number of elements
);
MQL5: CustomRatesUpdate , CustomRatesReplace , CustomTicksAdd ve CustomTicksReplace işlevlerine yeni "uint count" parametresi eklendi. Bu işlevler için kullanılacak, geçirilen dizinin eleman sayısının belirtilmesine izin verir. WHOLE_ARRAY değeri, varsayılan olarak parametre için kullanılır. Bu, tüm dizinin kullanılacağı anlamına gelir.
MQL5: Özel bir sembol için Pazar Derinliği durumunu iletmek için CustomBookAdd işlevi eklendi. Bu işlev, fiyatlar bir aracının sunucusundan geliyormuş gibi Pazar Derinliği'nin yayınlanmasına izin verir.
int CustomBookAdd(
conststring symbol, // symbol nameconst MqlBookInfo& books[] // an array with the DOM elements descriptionsuint count=WHOLE_ARRAY // number of elements to be used
);
MQL5: CustomSymbolCreate işlevi aşırı yüklemesi eklendi. Bu, mevcut olana dayalı olarak özel bir ticaret sembolü oluşturulmasına izin verir. Oluşturulduktan sonra, ilgili işlevler kullanılarak herhangi bir sembol özelliği düzenlenebilir.
boolCustomSymbolCreate (
conststring symbol_name, // custom symbol nameconststring symbol_path= "" , // name of the group in which the symbol will be createdconststring symbol_origin=NULL // name of the symbol based on which the custom symbol will be created
);
Özel sembolün özelliklerinin kopyalanması gereken sembolün adı "symbol_origin" parametresinde belirtilir.
Dizeyi tarih/saat ile bir tarih saat değerine dönüştüren StringToTime işlevi güncellendi. Artık aşağıdaki tarih biçimlerini desteklemektedir:
yyyy.mm.dd [ss:mi]
yyyy.mm.dd [ss:mi:ss]
yyyymmdd [ss:mi:ss]
yyyymmdd [hhmis]
yyyy/aa/gg [ss:mi:ss]
yyyy-aa-gg [ss:mi:ss]
MQL5: ENUM_TERMINAL_INFO_INTEGER numaralandırmasında yeni TERMINAL_VPS özelliği; terminalin MetaTrader Sanal Barındırma sunucusunda (MetaTrader VPS) çalıştığını gösterir. Bir barındırma sunucusunda bir uygulama çalışıyorsa, sanal sunucunun grafiksel bir kullanıcı arayüzü olmadığından tüm görsel işlevlerini devre dışı bırakabilirsiniz.
MQL5: ENUM_SYMBOL_INFO_INTEGER numaralandırmasındaki yeni SYMBOL_EXIST özelliği, bu ad altındaki sembolün var olduğu anlamına gelir.
MQL5: Şablon işlevi ön bildirimlerini kullanırken yazma düzeltildi.
MQL5: Bir ticaret hesabını değiştirirken göstergelerin yeniden başlatılması eklendi.
MQL5: Standart kitaplık işlemindeki sabit hatalar.
Tester: TesterStop işlevi eklendi — bir test aracısında bir Expert Advisor'ın rutin olarak erken kapatılması. Artık belirtilen sayıda kaybedilen işlem sayısına, önceden ayarlanmış bir düşüş düzeyine veya başka herhangi bir kritere ulaştıktan sonra testi zorla durdurabilirsiniz.
Bu işlev kullanılarak tamamlanan testler başarılı olarak kabul edilir. Fonksiyon çağrısından sonra, test sırasında elde edilen ticaret geçmişi ve tüm ticaret istatistikleri terminale iletilir.
Test Edici: Gerçek onay modunda MQL5 Cloud Network aracılığıyla Expert Advisor'ları test etme ve optimize etme yeteneği devre dışı bırakıldı. Bu mod yalnızca yerel aracılarda ve yerel ağ çiftliklerinde kullanılabilir.
Test Cihazı: Görsel test sırasında göstergelerle iyileştirilmiş çalışma. Artık fiyat tablosu ve gösterge çizgileri, maksimum görselleştirme hızı için bile eşzamanlı olarak çizilir.
Test Cihazı: Optimize edilmiş ve önemli ölçüde hızlandırılmış test ve optimizasyon.
Test Cihazı: Geçmiş verilerdeki göstergelerin hata ayıklaması düzeltildi. Artık OnInit ve OnDeinit gösterge işlevleri düzgün bir şekilde hata ayıklanabilir.
Test Edici: Çok para birimli Uzman Danışmanları test ederken geçmiş verilere daha hızlı erişim uygulandı.
Test Cihazı: Geçmiş verilerde hata ayıklama sırasında görsel test cihazının ara sıra donması düzeltildi.
Test Edici: Bir aracı tarafından bir görev paketi işlenirken, optimizasyon geçişlerinin daha hızlı başlatılması uygulandı.
Testçi: Görev paketlerini test etme aracılarına dağıtma politikası değiştirildi. Paket boyutu büyütülmüş ve böylece ağ operasyonlarındaki kaynak tüketimi önemli ölçüde azaltılmıştır.
Test Edici: Yerel, ağ ve bulut aracılarının kullanımını sağlayan seçeneklerin davranışı değişti. Artık, seçenekleri kapattığınızda, aracılar alınan görevlerin işlenmesini tamamlar ve kendilerine yeni görev verilmez. Önceki sürümlerde, davranış, aracı işlemini hemen durduran "Devre Dışı Bırak" komutuna benziyordu.
MetaEditor: Hata ayıklayıcıda ANSI olmayan karakterler için destek eklendi. Artık, değişken adı Kiril alfabesinde belirtilmiş olsa bile ifadeler düzgün bir şekilde görüntüleniyor.
MetaEditor: Yüksek DPI ekranlarında arama sonuçlarının görüntülenmesi düzeltildi.
Hırvatça'ya kullanıcı arayüzü çevirisi eklendi.
Belgeler güncellendi.
Güncelleme, LiveUpdate sistemi aracılığıyla sunulacak.
Bu 2005'i kurmadan önce 1940 yapımı kaldırmam gerekir mi? Kaldırmadan denedim ve yükledikten sonra 1940 ile aynı. Ayrıca, geçen yıldan beri güncelleme yapamıyorum, herhangi bir sebep var mı? Tümünü kaldırıp tekrar denemeli miyim?
Yakında gelecek -
Yeni iletişim sistemi Telegram'ın bir benzeri - bu yazıyı okuyun.
============
Ichimoku
Başlangıç
Sonrasında
============
Görselleştirilmiş bilgilerle iyi bir iş parçacığı oluşturuldu - İpuçları dizisi .
Bu küçük başlığı tüm yeni başlayanlara (bilmek için) ve deneyimli kullanıcılara (bilgilerini yenilemek için) okumaları şiddetle tavsiye edilir.
----------------
serbest hizmet
----------------
platformu
----------------
Uzman danışman
----------------
test cihazı
Bu çok önemli ve çok ilginç bir güncelleme - lütfen okuyun -
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
MetaTrader 5 Platform Beta Build 1910: MQL5'te grafiklerin ve .Net kitaplıklarının bağlantısız sürükle ve bırak özelliği
MetaQuotes Yazılım A.Ş. , 2018.10.12 19:43
Güncellenen MetaTrader 5 platformunun beta sürümü 14 Ekim 2018'de yayınlanacak. Access.metatrader5.com:443 adresinde bulunan genel MetaQuotes-Demo sunucumuzu güncelleyeceğiz. Güncellenen platform özelliklerini değerlendirmek ve geliştiricilerin hataları düzeltmesine yardımcı olmak için tüm tüccarları testlere katılmaya davet ediyoruz.
Yeni MetaTrader 5 platformunun son yapısı, genel beta testinden sonra yayınlanacak.
Güncelleme aşağıdaki değişiklikleri içerecek:
Bu özellik, birden fazla monitör kullanıldığında kullanışlıdır. Böylece ana platform penceresini tek bir monitörde hesap durumunuzu kontrol etmek için ayarlayabilir ve piyasa durumunu gözlemlemek için grafiklerinizi ikinci ekrana taşıyabilirsiniz. Bir grafiği terminalden ayırmak için bağlam menüsünde Yerleştirilmiş seçeneğini devre dışı bırakın. Bundan sonra grafiği istediğiniz monitöre taşıyın.

Ayrılmış grafiklerdeki ayrı bir araç çubuğu, monitörler arasında geçiş yapmak zorunda kalmadan analitik nesnelerin ve göstergelerin uygulanmasına olanak tanır. Kullanılabilir komutlar kümesini yönetmek veya gizlemek için araç çubuğu bağlam menüsünü kullanın.Grup sohbetleri ve kanalları herkese açık veya özel olabilir. Onlara özgürce veya yalnızca davetle katılmanın mümkün olup olmadığına yaratıcıları karar verir. Ayrıca, ek iletişim kontrolü için kanallara ve sohbetlere moderatörler atayabilirsiniz.
Minimum hacim ve değişim adımı, komisyoncu tarafındaki finansal araç ayarlarına bağlıdır.
.NET kitaplığı işlevleriyle çalışmak için, belirli işlevleri tanımlamadan DLL'nin kendisini içe aktarmanız yeterlidir. MetaEditor, çalışması mümkün olan tüm işlevleri otomatik olarak içe aktarır:
Kütüphaneden fonksiyonları çağırmak için basitçe içe aktarın:
TestClass'ın Inc işlevinin C# kodu aşağıdaki gibi görünür:
Yürütme sonucunda komut dosyası 7 değerini döndürür.
MSDN'de belirteçler hakkında daha fazla bilgi bulun.
ENUM_CHART_PROPERTY_INTEGER numaralandırmasına aşağıdaki özellikler eklendi:
ENUM_TERMINAL_INFO_INTEGER numaralandırmasına aşağıdaki işlevler eklendi:
struct MqlTick
{
datetime time; // Last price update time
double bid; // Current Bid price
double ask; // Current Ask price
double last; // Current price of the Last trade
ulong volume; // Volume for the current Last price
long time_msc; // Last price update time in milliseconds
uint flags; // Tick flags
double volume_real; // Volume for the current Last price with greater accuracy
};
Bu özellikleri almak için SymbolInfoDouble işlevini kullanın.
Aşağıdaki kod için:
Derleyici şu uyarıyı görüntüler:
'Main::PRICE_OPEN_' instead of 'ENUM_APPLIED_PRICE::PRICE_CLOSE' will be used
İyi iş parçacığı başlatıldı - MQL5 ile nasıl başlanır
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
MQL5 ile nasıl başlanır
Vladimir Karputov , 2018.12.24 20:34
Bu iş parçacığı MQL5 kod örneklerini tartışır. Göstergelerden nasıl veri alınacağına, danışmanların nasıl programlanacağına dair örnekler olacak ... genel olarak, başlangıç seviyesinden MQL5 diline kadar herhangi bir soru.
MetaTrader 5 terminali ile yeni tanışmaya başladıysanız, aşağıdaki konuları önerebilirim:
Metatrader 5'e Nasıl Başlanır?
nereden başlamalıyım?
Freelance hizmetindeki ipuçlarını kullanın!
Piyasadaki her satıcının okuması gereken bir makale var: Market ürünlerinin doğrulanması ile ilgili -
----------------
Bir ticaret robotunun Market'te yayınlanmadan önce geçmesi gereken kontroller
Herhangi bir ürün, Market'te yayınlanmadan önce zorunlu ön kontrollerden geçmelidir, eksper veya gösterge mantığındaki küçük bir hata işlem hesabında kayıplara neden olabilir. Bu nedenle Market ürünlerinin gerekli kalite seviyesini sağlamak için bir dizi temel kontrol geliştirdik.
Ürününüzü kontrol etme sürecinde Market moderatörleri tarafından herhangi bir hata tespit edilirse, hepsini düzeltmeniz gerekecektir. Bu makale, geliştiriciler tarafından ticaret robotlarında ve teknik göstergelerde en sık yapılan hataları ele almaktadır. Ayrıca aşağıdaki makaleleri okumanızı öneririz:
Teşekkürler dostum...
Çok faydalı, büyük çaba...
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Yeni MetaTrader 5 Platform build 2005: Ekonomik Takvim, hizmet olarak MQL5 uygulamaları ve R dili API'si
MetaQuotes Yazılım A.Ş. , 2019.02.20 17:20
MetaTrader 5 platform güncellemesi 21 Şubat 2019'da yayınlanacak. Yeni sürüm aşağıdaki değişiklikleri içeriyor:
- Terminal: Tamamen revize edilmiş yerleşik Ekonomik Takvim.

- Terminal: Yeni MQL5 uygulamaları türü eklendi — Hizmetler. Bu yeni tür, terminal için özel fiyat beslemelerinin oluşturulmasını sağlar, yani, tıpkı brokerlerin ticaret sunucularında uygulandığı gibi, harici sistemlerden gerçek zamanlı olarak fiyat teslimini uygulamak için.

- Terminal: Bir öğrenme programı eklendi.

- Terminal: İşlem hesabı geçmişi pozisyonlar olarak sunulabilir. Platform, pozisyonla ilgili (açılış, hacim artışı, kısmi veya tam kapanış) işlem verilerini toplar ve bilgileri tek bir kayıtta gruplandırır. Böylece pozisyon detaylarına erişebilirsiniz: açılış ve kapanış zamanı, hacim, fiyat ve sonuç. Bu verimli sunum formu artık dosyalara aktarılan geçmiş raporlarında mevcuttur.

- Terminal: R dilini kullanan uygulamalar aracılığıyla MetaTrader 5 terminal verilerinin talep edilmesini sağlayan yeni API eklendi.

R CMD INSTALL --build MetaTrader
- MT5Initialize, MetaTrader 5 terminalini başlatır ve onunla bağlantı kurar. Gerekirse, komut yürütme sırasında terminal başlatılır.
- MT5Shutdown, MetaTrader 5'i başlatır ve bağlantısını keser.
- MT5Version, MetaTrader 5 terminal sürümünü alır.
- MT5TerminalInfo, bir aracının sunucusuna (hesap numarası ve sunucu adresi) terminal bağlantısının durumunu ve parametrelerini alır.
- MT5WaitTerminal, MetaTrader 5 terminalinin bir aracının sunucusuna bağlanmasını bekler.
- MT5CopyTicksFrom(symbol, from, count, flags) belirtilen tarihten başlayarak belirtilen sayıda onay işaretini kopyalar. Tarih, 01.01.1970 tarihinden itibaren milisaniye cinsinden belirtilir.
- MT5CopyTicksRange(symbol, from, to, flags) belirtilen süre içinde keneleri kopyalar. Tarihler 01.01.1970 tarihinden itibaren milisaniye cinsinden belirtilmiştir.
- MT5CopyRatesFrom(symbol, timeframe, from, count), belirtilen tarihten başlayarak belirtilen sayıda bir dakikalık çubukları kopyalar. Tarih, 01.01.1970 tarihinden itibaren saniye cinsinden belirtilir.
- MT5CopyRatesFromPos(symbol, timeframe, start_pos, count), son çubuğa göre belirtilen konumdan bir dakikalık çubukları kopyalar.
- MT5CopyRatesFromRange(symbol, timeframe, date_from, date_to) belirtilen süre içindeki çubukları kopyalar. Tarihler 01.01.1970 tarihinden itibaren saniye cinsinden belirtilir.
- Terminal: Bir pozisyonu zıt bir pozisyonla kapatmak için kullanılan Close By diyalogu optimize edildi. Artık, çok sayıda açık pozisyonunuz olsa bile diyalog yavaşlamıyor.
- Terminal: Verilerin zaman zaman atlanabileceğinden kaynaklanan sabit sentetik sembol hesaplama hataları.
- Terminal: Özel bir sembol silindiğinde, işaretini ve çubuk geçmişini saklayan dosyalar da silinir. Bu, sabit diskte kullanılmayan verilerin birikmesini önler.
- Terminal: Arama sonuçlarının Yüksek DPI ekranlarında görüntülenmesi düzeltildi.
- MQL5: MQL5 programlarından ekonomik takvim verilerine erişim uygulandı.
- MQL5: Onay ve çubuk geçmişiyle ilgili düzeltmeler ve çalışma hızı iyileştirmeleri.
- MQL5: Özel işlem sembollerinin, CustomTicks* ve CustomRates* 'in onay ve çubuk geçmişi değiştirme işlevleriyle ilgili düzeltmeler ve önemli işlem hızı iyileştirmeleri.
- MQL5: Yeni veri dönüştürme işlevleri.
- Ushort, uint ve ulong değerlerinde bayt sırasını değiştirmek için MathSwap işlevi eklendi.
- MQL5: Sistem soketleri aracılığıyla uzak ana bilgisayarlara TCP bağlantıları oluşturmak için ağ işlevleri eklendi:
- SocketCreate, belirtilen bayraklarla bir soket oluşturur ve tutamağını döndürür
- SocketClose soketi kapatır
- SocketConnect, sunucuya zaman aşımı kontrolü ile bağlanır
- SocketIsConnected, soketin şu anda bağlı olup olmadığını kontrol eder
- SocketIsReadable, soketten okunabilen bayt sayısını alır
- SocketIsWritable, o anda bu sokete veri yazmanın mümkün olup olmadığını kontrol eder.
- SocketTimeouts, sistem soket nesnesi için veri alma ve gönderme zaman aşımlarını ayarlar
- SocketRead bir soketten veri okur
- SocketSend, verileri bir sokete yazar
- SocketTlsHandshake, TLS El Sıkışma protokolünü kullanarak belirtilen ana bilgisayarla güvenli bir TLS (SSL) bağlantısı başlatır
- SocketTlsCertificate, güvenli ağ bağlantısı için kullanılan sertifikayla ilgili bilgileri alır
- SocketTlsRead, güvenli bir TLS bağlantısından veri okur
- SocketTlsReadAvailable, güvenli bir TLS bağlantısından mevcut tüm verileri okur
- SocketTlsSend, güvenli bir TLS bağlantısı kullanarak veri gönderir
Ağ işlevlerini kullanarak bağlantı kurulan ana bilgisayarın adresi, terminal ayarlarında izin verilen adresler listesine açıkça eklenmelidir.
- ERR_NETSOCKET_INVALIDHANDLE (5270): işleve geçersiz yuva tanıtıcısı aktarıldı
- ERR_NETSOCKET_TOO_MANY_OPENED (5271): çok fazla açık soket (maksimum 128)
- ERR_NETSOCKET_CANNOT_CONNECT (5272): uzak ana bilgisayara bağlanırken hata oluştu
- ERR_NETSOCKET_IO_ERROR (5273): soketten veri gönderirken/alırken hata oluştu
- ERR_NETSOCKET_HANDSHAKE_FAILED (5274): güvenli bağlantı kurma hatası (TLS El Sıkışma)
- ERR_NETSOCKET_NO_CERTIFICATE (5275) — güvenli bağlantı için kullanılan sertifika hakkında veri yok
- MQL5: Dizi işlemleri için yeni işlevler eklendi:
- MQL5: Dizi işlemleri için yeni işlev eklendi:
- MQL5: CustomRatesUpdate , CustomRatesReplace , CustomTicksAdd ve CustomTicksReplace işlevlerine yeni "uint count" parametresi eklendi. Bu işlevler için kullanılacak, geçirilen dizinin eleman sayısının belirtilmesine izin verir. WHOLE_ARRAY değeri, varsayılan olarak parametre için kullanılır. Bu, tüm dizinin kullanılacağı anlamına gelir.
- MQL5: Özel bir sembol için Pazar Derinliği durumunu iletmek için CustomBookAdd işlevi eklendi. Bu işlev, fiyatlar bir aracının sunucusundan geliyormuş gibi Pazar Derinliği'nin yayınlanmasına izin verir.
- MQL5: CustomSymbolCreate işlevi aşırı yüklemesi eklendi. Bu, mevcut olana dayalı olarak özel bir ticaret sembolü oluşturulmasına izin verir. Oluşturulduktan sonra, ilgili işlevler kullanılarak herhangi bir sembol özelliği düzenlenebilir.
- Dizeyi tarih/saat ile bir tarih saat değerine dönüştüren StringToTime işlevi güncellendi. Artık aşağıdaki tarih biçimlerini desteklemektedir:
- yyyy.mm.dd [ss:mi]
- yyyy.mm.dd [ss:mi:ss]
- yyyymmdd [ss:mi:ss]
- yyyymmdd [hhmis]
- yyyy/aa/gg [ss:mi:ss]
- yyyy-aa-gg [ss:mi:ss]
- MQL5: ENUM_TERMINAL_INFO_INTEGER numaralandırmasında yeni TERMINAL_VPS özelliği; terminalin MetaTrader Sanal Barındırma sunucusunda (MetaTrader VPS) çalıştığını gösterir. Bir barındırma sunucusunda bir uygulama çalışıyorsa, sanal sunucunun grafiksel bir kullanıcı arayüzü olmadığından tüm görsel işlevlerini devre dışı bırakabilirsiniz.
- MQL5: ENUM_SYMBOL_INFO_INTEGER numaralandırmasındaki yeni SYMBOL_EXIST özelliği, bu ad altındaki sembolün var olduğu anlamına gelir.
- MQL5: Şablon işlevi ön bildirimlerini kullanırken yazma düzeltildi.
- MQL5: Bir ticaret hesabını değiştirirken göstergelerin yeniden başlatılması eklendi.
- MQL5: Optimize edilmiş StringSplit işlevi.
- MQL5: Standart kitaplık işlemindeki sabit hatalar.
- Tester: TesterStop işlevi eklendi — bir test aracısında bir Expert Advisor'ın rutin olarak erken kapatılması. Artık belirtilen sayıda kaybedilen işlem sayısına, önceden ayarlanmış bir düşüş düzeyine veya başka herhangi bir kritere ulaştıktan sonra testi zorla durdurabilirsiniz.
- Test Edici: Gerçek onay modunda MQL5 Cloud Network aracılığıyla Expert Advisor'ları test etme ve optimize etme yeteneği devre dışı bırakıldı. Bu mod yalnızca yerel aracılarda ve yerel ağ çiftliklerinde kullanılabilir.
- Test Cihazı: Görsel test sırasında göstergelerle iyileştirilmiş çalışma. Artık fiyat tablosu ve gösterge çizgileri, maksimum görselleştirme hızı için bile eşzamanlı olarak çizilir.
- Test Cihazı: Optimize edilmiş ve önemli ölçüde hızlandırılmış test ve optimizasyon.
- Test Cihazı: Geçmiş verilerdeki göstergelerin hata ayıklaması düzeltildi. Artık OnInit ve OnDeinit gösterge işlevleri düzgün bir şekilde hata ayıklanabilir.
- Test Edici: Çok para birimli Uzman Danışmanları test ederken geçmiş verilere daha hızlı erişim uygulandı.
- Test Cihazı: Geçmiş verilerde hata ayıklama sırasında görsel test cihazının ara sıra donması düzeltildi.
- Test Edici: Bir aracı tarafından bir görev paketi işlenirken, optimizasyon geçişlerinin daha hızlı başlatılması uygulandı.
- Testçi: Görev paketlerini test etme aracılarına dağıtma politikası değiştirildi. Paket boyutu büyütülmüş ve böylece ağ operasyonlarındaki kaynak tüketimi önemli ölçüde azaltılmıştır.
- Test Edici: Yerel, ağ ve bulut aracılarının kullanımını sağlayan seçeneklerin davranışı değişti. Artık, seçenekleri kapattığınızda, aracılar alınan görevlerin işlenmesini tamamlar ve kendilerine yeni görev verilmez. Önceki sürümlerde, davranış, aracı işlemini hemen durduran "Devre Dışı Bırak" komutuna benziyordu.

- MetaEditor: Hata ayıklayıcıda ANSI olmayan karakterler için destek eklendi. Artık, değişken adı Kiril alfabesinde belirtilmiş olsa bile ifadeler düzgün bir şekilde görüntüleniyor.
- MetaEditor: Yüksek DPI ekranlarında arama sonuçlarının görüntülenmesi düzeltildi.
- Hırvatça'ya kullanıcı arayüzü çevirisi eklendi.
- Belgeler güncellendi.
Güncelleme, LiveUpdate sistemi aracılığıyla sunulacak.Ekonomik Takvim bizim özel çözümümüzdür. Burada en büyük 13 küresel ekonomiyle ilgili 600'den fazla finansal haber ve gösterge bulacaksınız: ABD, Avrupa Birliği, Japonya, Birleşik Krallık, Kanada, Avustralya, Çin ve diğerleri. İlgili veriler açık kaynaklardan gerçek zamanlı olarak toplanır.
Yeni sürüm, güncellenmiş içerikler ve gelişmiş olay filtreleri içerir: zamana, önceliğe, para birimlerine ve ülkelere göre.
Takvim verilerine artık MQL5 programlarından erişilebilir. Ayrıntılar için lütfen aşağıya bakın.
Uzman Danışmanların, göstergelerin ve komut dosyalarının aksine, hizmetler belirli bir çizelgeye bağlı değildir. Bu tür uygulamalar arka planda çalışır ve terminal başlatıldığında otomatik olarak başlatılır (böyle bir uygulama zorla durdurulmadıysa).
Hizmetler, Gezgin penceresindeki yeni bir bölümden yönetilebilir:
Hizmetler nasıl oluşturulur?
Bir hizmet şablonu oluşturmak için ilgili MQL5 Sihirbazı seçeneğini kullanın. Hizmetler, komut dosyalarına benzer bir OnStart giriş noktasına sahiptir. Bu noktada, ağ işlevlerini kullanarak sonsuz bir veri alma ve işleme döngüsü uygulayabilirsiniz.
Hizmetler nasıl başlatılır
Farklı parametrelere sahip birden fazla Expert Advisor veya gösterge kopyası çalıştırmak için bunları farklı grafiklerde başlatmanız gerekir. Bu durumda, daha sonra bağımsız olarak çalışan farklı program örnekleri oluşturulur. Hizmetler grafiklere bağlı değildir, bu nedenle hizmet örneklerinin oluşturulması için özel bir mekanizma uygulanmıştır.
Gezgin'den bir hizmet seçin ve bağlam menüsünde "Hizmet ekle"ye tıklayın. Bu, ticareti etkinleştirebileceğiniz/devre dışı bırakabileceğiniz ve sinyal ayarlarına erişimin yanı sıra çeşitli parametreleri ayarlayabileceğiniz standart bir MQL5 program iletişim kutusunu açacaktır.

Bir hizmet örneği, uygun örnek menüsü kullanılarak başlatılabilir ve durdurulabilir. Tüm örnekleri yönetmek için servis menüsünü kullanın.Yeni özellik, yeni başlayanların platformla nasıl etkileşime gireceklerini öğrenmelerine yardımcı olacak. Ana platform özellikleriyle ilgili 100'den fazla etkileşimli ipucu ekledik.
- İpuçları, araç çubuğunda bir ilerleme çubuğu olarak sorunsuz bir şekilde görüntülenir ve böylece kullanıcının dikkatini dağıtmaz.
- İpuçları, yalnızca platformda hiç gerçekleştirmediğiniz eylemler için görünür.
- Tüm ipuçları, ilgili arayüz öğelerine gidebileceğiniz etkileşimli bağlantılar içerir. Örneğin, bir ticaret iletişim kutusu veya istenen programı içeren bir menü, doğrudan uçtan başlatılabilir.
Uygun eylemleri gerçekleştirdiğinizde ve eğitime devam ettiğinizde ilerleme çubuğunun dolu alanı artacaktır.Özel bir MetaTrader paketi hazırladık. R ve MetaTrader 5 terminali, belgeler ve yardımcı r dosyaları arasındaki etkileşimler için DLL içerir. CRAN deposundaki paket kaydını tamamlıyoruz, ardından indirme ve kurulum için hazır olacak.
Paket özel bir komut kullanılarak kurulabilir:
Veri talebiyle ilgili aşağıdaki komutlar mevcuttur:
Desteklenen komutların listesi daha da genişletilecektir.
Yeni işlevler
CalendarCountryById — tanımlayıcıya göre ülke açıklamasını alır.
CalendarEventById — tanımlayıcıya göre olay açıklamasını alır.
CalendarValueById — tanımlayıcıya göre olay değeri açıklamasını alır.
CalendarEventByCountry — ülke için mevcut olan olaylar dizisini alır.
CalendarEventByCurrency — etkilenen para birimi için mevcut olaylar dizisini alır.
CalendarValueHistoryByEvent — olay tanımlayıcısına göre belirtilen zaman aralığı için değerler dizisini alır.
CalendarValueHistory — tüm etkinlikler için belirtilen zaman aralığı için ülkeye ve/veya para birimine göre filtrelenmiş değerler dizisini alır.
CalendarValueLastByEvent — tanımlayıcıya göre bir dizi son olay değeri alır. Bu fonksiyon, önceki istekten bu yana görünen değerlerin isteğini etkinleştirir. Bu işlem için ayrıca "change_id" giriş/çıkış parametresi kullanılır.
Takvim veritabanı her değiştiğinde, "change_id" özelliği (son değişiklik tanımlayıcısı) güncellenir. Veri talebi sırasında, "change_id" belirtirsiniz ve terminal, bir sonraki istek için kullanılabilecek mevcut "change_id" değerinin yanı sıra, o zamandan sonra görünen olayları döndürür. İlk işlev çağrısı sırasında sıfır "change_id" belirtin: işlev herhangi bir olay döndürmez, ancak daha sonraki istekler için geçerli "change_id" değerini döndürür.
CalendarValueLast — tüm etkinlikler için ülkeye ve/veya para birimine göre filtrelenmiş son değerler dizisini alır. Bu fonksiyon, önceki istekten bu yana görünen değerlerin isteğini etkinleştirir. CalendarValueLastByEvent'e benzer şekilde, istek için "change_id" özelliği kullanılır.
Yeni yapılar
MqlCalendarCountry — ülke açıklaması.
MqlCalendarEvent — olay açıklaması.
MqlCalendarValue — olay değeri açıklaması.
Yeni numaralandırmalar
Yeni hata kodları
CharArrayToStruct , bir uchar dizisini bir POD yapısına kopyalar.
StructToCharArray , bir POD yapısını bir uchar dizisine kopyalar.
Ağ işlevlerine sahip işlemler için yeni hata kodları eklendi:
StringReserve, belirtilen boyuttaki bellek arabelleğini bir dize için ayırır.
StringSetLength, belirtilen dize uzunluğunu karakter olarak ayarlar.
ArrayRemove, belirtilen dizinden başlayarak belirtilen sayıda öğeyi bir diziden kaldırır.
ArrayInsert, belirtilen dizinden başlayarak, kaynak diziden belirtilen sayıda öğeyi alıcı dizisine ekler.
ArrayReverse, bir dizide belirtilen dizinden başlayarak belirtilen sayıda öğeyi tersine çevirir.
Özel sembolün özelliklerinin kopyalanması gereken sembolün adı "symbol_origin" parametresinde belirtilir.
Bu işlev kullanılarak tamamlanan testler başarılı olarak kabul edilir. Fonksiyon çağrısından sonra, test sırasında elde edilen ticaret geçmişi ve tüm ticaret istatistikleri terminale iletilir.
Merhaba.
Bu 2005'i kurmadan önce 1940 yapımı kaldırmam gerekir mi?
Kaldırmadan denedim ve yükledikten sonra 1940 ile aynı.
Ayrıca, geçen yıldan beri güncelleme yapamıyorum, herhangi bir sebep var mı?
Tümünü kaldırıp tekrar denemeli miyim?
Teşekkürler...