Bir terminalde başlatılan farklı MQL5 Uzman Danışmanlarında aynı veritabanını paylaşabilirsiniz. .
Bir terminalde aynı veritabanına sahip iki Uzman Danışmanın çalışmasını test ettim. Hatasız çalışıyor - her iki Uzman Danışman da verileri 2 saniyelik bir zamanlayıcı ile bir dosyaya yazıyor.
Dosyalar eklenmiştir, yalnızca Uzman Danışman adına göre farklılık gösterirler.
2020.02.1917:56:14.624 SecondExpertDataBase (GBPUSD,H1) 16:56:14: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:16.627 SecondExpertDataBase (GBPUSD,H1) 16:56:16: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:18.616 SecondExpertDataBase (GBPUSD,H1) 16:56:18: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:20.630 SecondExpertDataBase (GBPUSD,H1) 16:56:20: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:22.078 FirstExpertDataBase (USDCHF,H1) 16:56:21: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:22.629 SecondExpertDataBase (GBPUSD,H1) 16:56:22: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:24.071 FirstExpertDataBase (USDCHF,H1) 16:56:24: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:24.619 SecondExpertDataBase (GBPUSD,H1) 16:56:24: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:26.070 FirstExpertDataBase (USDCHF,H1) 16:56:26: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:26.619 SecondExpertDataBase (GBPUSD,H1) 16:56:26: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:28.079 FirstExpertDataBase (USDCHF,H1) 16:56:27: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:28.625 SecondExpertDataBase (GBPUSD,H1) 16:56:28: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:30.079 FirstExpertDataBase (USDCHF,H1) 16:56:30: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:30.617 SecondExpertDataBase (GBPUSD,H1) 16:56:30: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:32.069 FirstExpertDataBase (USDCHF,H1) 16:56:32: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:32.627 SecondExpertDataBase (GBPUSD,H1) 16:56:32: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:34.073 FirstExpertDataBase (USDCHF,H1) 16:56:33: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:34.627 SecondExpertDataBase (GBPUSD,H1) 16:56:34: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:36.616 SecondExpertDataBase (GBPUSD,H1) 16:56:36: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:38.079 FirstExpertDataBase (USDCHF,H1) 16:56:38: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:38.615 SecondExpertDataBase (GBPUSD,H1) 16:56:38: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:40.072 FirstExpertDataBase (USDCHF,H1) 16:56:40: added 1 record on USDCHF to timer.sqlite
2020.02.1917:56:40.618 SecondExpertDataBase (GBPUSD,H1) 16:56:40: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:42.630 SecondExpertDataBase (GBPUSD,H1) 16:56:42: added 1 record on GBPUSD to timer.sqlite
2020.02.1917:56:44.617 SecondExpertDataBase (GBPUSD,H1) 16:56:44: added 1 record on GBPUSD to timer.sqlite
Veritabanının MetaEditor'da nasıl göründüğü aşağıda açıklanmıştır
Database file is by default stored to . If you specify a full path as database filename, it's used. Terminal data path TERMINAL_DATA_PATH can be known by the following instruction. Open MT4 Open [File] menu Click "Open Data Folder" Sample Many sample scripts in under . Precautions Argument mess MT4 build 610 has a weird bug when dll function...
Bunu kim çözdü, lütfen böyle bir görevin uygulamasını gösterin.
İki Terminal vardır.
Bir sembolün gerçek zamanlı kotasyonlarını Terminal1'den Terminal2'nin ilgili özel sembolüne aktarmak gerekir.
Başka bir nüans daha var - veritabanına değeri artan tutarlı verileri kaydetmek, tırnak işaretleri gibi dağılmamak (artan bir tarihle) - ÇOK pahalı bir işlem. Ağaç dengeli değildir, bir dal sonsuza kadar büyür ve motor ağacı düzenli olarak yeniden dengeler (bu çöp toplamadan daha kötüdür). Belki de bu sadece indeksli tablo için geçerlidir, artık hatırlamıyorum. Ya da belki de kullanmadığım birkaç yıl içinde çoktan çözülmüştür. Denemem gerekecek. Belki geliştiriciler bile bunu analiz eder, bununla ilgileniyor olmalılar.
voidOnStart()
{
string filename="DOMdb.db";
int database=DatabaseOpen(filename, DATABASE_OPEN_READWRITE );
DatabaseImport(database, // DatabaseOpen'da alınan veritabanı tanıtıcısı"DOMtb", // veri ekleme için tablo adı"AllDOM.csv", // verileri içe aktarmak için dosya adı0, // bayrak kombinasyonu";", // veri ayırıcı 0, // kaç ilk satırın atlanacağı "//"// yorumları tanımlayan bir karakter dizisi
);
}
2020.02.20 15:09:27.171 MQL5 'DOMcopy.ex5'in desteklenmeyen yeni bir sürümü var, lütfen istemci terminalinizi güncelleyin
sürüm 5 yapı 2323 en son meta düzenleyici aynı ve hata ayıklama çalışmıyor.
21 Şubat 2020 Cuma günü, MetaTrader 5 platformunun güncellenmiş bir sürümü yayınlanacak. Güncelleme aşağıdaki değişiklikleri içeriyor:
MetaEditor: SQLite veritabanlarıyla rahatça çalışma yeteneği eklendi.
Önceki platform güncellemesinde, doğrudan MQL5'ten SQLite veritabanlarıyla çalışma desteği ekledik. Artık ana işlevler MetaEditor kullanıcı arayüzü üzerinden kullanılabilir:
.
Veritabanı oluşturma ve veritabanlarına bağlanma
Tabloları ve hızlı veri sorgusunu görüntüleme
SQL sorguları oluşturma ve yürütme, değişiklikleri geri alma
Nasıl çalışır Veritabanlarını hızlı bir şekilde oluşturmak için "MQL5 Sihirbazı "nı kullanın. Burada hemen ilk tabloyu oluşturabilir ve alanlarının bir listesini tanımlayabilirsiniz.
Bir veritabanı oluşturduktan sonra, "Navigator "un yeni bir bölümüne gideceksiniz. Verilerle ilgili tüm çalışmalar bu bölümden gerçekleştirilir.
Sol kısımda, veritabanı tabloları görüntülenir. İlk 1.000 kaydı hızlı bir şekilde sorgulamak için tablo adına çift tıklayın. Burada ayrıca başka veritabanları oluşturabilir ve açabilir ve tablolarla çalışabilirsiniz.
Düzenleyicinin ana bölümü veritabanıyla çalıştığınız yerdir: tabloyu verilerle doldurun, arama ve seçim yapın, SQL sorguları girin, vb. .
MetaEditor: Çok dilli projeler için destek eklemeye devam ediyoruz. Bu sürümde Python komut dosyalarıyla çalışmak için işlevleri genişlettik:
.
Artık bunları "MQL5 Sihirbazı" aracılığıyla rahatça oluşturabilir, gerekli kütüphanelere olan bağımlılıkları hemen koda dahil edebilirsiniz.
Bunlar için gezgine özel simgeler ve düzenleyiciye sözdizimi vurgulaması eklendi.
MetaEditor aracılığıyla kod çalıştırılırken, Python konsolundan (stdout, stderr) gelen mesajlar "Hatalar" bölümünde görüntülenir.
Komut dosyasını düzenleyicide çalıştırmak için "Derle" ye tıklayın: .
Python ile çalışmak için, MetaEditor'daki "Ayarlar / Derleyiciler" bölümünde yolunu belirtmeyi unutmayın. Ve MetaTrader 5 kütüphanesi ile çalışmak için şu komutla yükleyin: .
pip install MetaTrader 5
Belgelerde Python ile entegrasyon hakkında daha fazla bilgi edinin.
.
MQL5: Python ile entegrasyon tamamen yeniden tasarlandı. Birçok yeni özellik eklendi ve komut isimlendirmesi değiştirildi.
Yeni komut isimlendirmesi Mevcut komutlar yeniden adlandırıldı:
Yeni komutlar Desteklenen komutların listesi büyük ölçüde genişletildi. İşlem yapma ve işlem geçmişiyle çalışma, finansal araçlar ve cari hesap hakkında bilgi alma işlevleri eklendi.
positions_total() - açık pozisyonların sayısını alır. PositionsTotal'ın bir benzeri.
positions_get(symbol, ticket) - açık pozisyonları sembole veya bilete göre alır.
orders_total() - emir sayısını alır. OrdersTotal'ın bir benzeri.
orders_get(symbol, ticket) - açık emirleri sembole veya bilete göre alır.
history_orders_total(from, to) - belirli bir zaman aralığında geçmişteki emirlerin sayısını alır.
history_orders_get(from, to, position, ticket) - geçmişten belirli bir zaman aralığındaki siparişleri bilete göre veya pozisyona göre filtreleyerek alır.
history_deals_total() - geçmişteki anlaşma sayısını alır. HistoryDealsTotal'ın bir benzeri.
history_deals_get(from, to, position, ticket) - Belirli bir zaman aralığında geçmişteki anlaşmaları bilete göre veya pozisyona göre filtreleyerek alır.
symbol_info_tick(symbol) - sembole göre son tıklamayı alır. SymbolInfoTick'in bir benzeri.
symbol_select(symbol, enable) - "Market Watch" içinde sembolü etkinleştirir/devre dışı bırakır. SymbolSelect'in bir benzeri.
order_check(request) - bir emir için marjı kontrol eder. OrderCheck'in bir benzeri.
order_send(request) - sunucuya bir emir gönderir. OrderSend'in bir benzeri.
order_calc_margin(action, symbol, volume, price) - emir için marj hesaplaması. OrderCalcMargin'in bir benzeri.
order_calc_profit(action, symbol, volume, price_open, price_close) - kar hesaplaması. OrderCalcProfit'in bir benzeri. .
Grafiklerde Py thon komut dosyaları çalıştırma Artık Python komut dosyaları, normal MQL5 programlarına benzer şekilde doğrudan platformdaki grafiklerde çalıştırılabilir. "Navigator "da özel simgelerle görüntüleneceklerdir. .
Komut dosyası mesajları "Araçlar / Uzmanlar" bölümünde görüntülenecektir. Komut dosyası MetaTrader 5 kütüphanesini kullanıyorsa, enstrüman, hesap ve işlem hakkında bilgi alabilecektir.
Python komut dosyaları, diğer MQL5 komut dosyaları ve Uzman Danışmanlarla paralel olarak aynı grafik üzerinde çalıştırılabilir. Yürütülmesi döngüye girmişse bir komut dosyasını durdurmak için, onu grafikten kaldırmanız yeterlidir.
Ek koruma Üçüncü taraf Python kütüphanelerini kullanırken hesaplarınızı daha fazla korumak için terminal ayarlarına "Harici Python API aracılığıyla otomatik ticareti devre dışı bırak" seçeneği eklendi. .
Python komut dosyalarının yalnızca bu seçenek açıkça devre dışı bırakıldığında işlem yapmasına izin verilecektir.
.
MQL5: MQL5 programlarının yeniden başlatılması ve MQL5 programlarından özel göstergelerin yeniden oluşturulması önemli ölçüde hızlandırıldı. Bazı durumlarda hız yüzlerce kat artmıştır. .
MQL5: Veritabanlarıyla çalışmak için fonksiyonlar eklendi:
DatabaseImport Verileri bir dosyadan bir tabloya aktarır.
long DatabaseImport(
int database, // DatabaseOpen'da alınan veritabanı tanıtıcısıconststring table, // veri ekleme için tablo adıconststring filename, // verileri içe aktarmak için dosya adıuint flags, // bayrak kombinasyonuconststring separator, // veri ayırıcı ulong skip_rows, // kaç ilk satırın atlanacağı conststring skip_comments // yorumları tanımlayan bir karakter dizisi
);
DatabaseExport Bir tabloyu veya SQL sorgusu yürütme sonucunu bir CSV dosyasına aktarır. Dosya UTF-8 kodlamasında oluşturulur.
long DatabaseExport(
int database, // DatabaseOpen'da alınan veritabanı tanıtıcısı conststring table_or_sql, // tablo adı veya SQL sorgusu conststring filename, // Veri aktarımı için CSV dosya adı uint flags, // bayrak kombinasyonu conststring separator // CSV dosyasında veri ayırıcı
);
DatabasePrint Bir tabloyu veya SQL sorgusu yürütmesinin sonucunu Expert Advisor günlüğüne yazdırır.
long DatabasePrint(
int database, // DatabaseOpen'da alınan veritabanı tanıtıcısıconststring table_or_sql, // tablo veya SQL sorgusuuint flags // bayrak kombinasyonu
);
MQL5: Bir dosya veya klasör oluşturmak/açmak için sistem diyaloğunu çağıran FileSelectDialog işlevi eklendi.
int FileSelectDialog(
string caption, // pencere başlığıstring initial_dir, // başlangıç klasörüstring filter, // uzatma filtresiuint flags, // bayrak kombinasyonustring& filenames[], // dosya adlarını içeren dizistring default_filename // varsayılan dosya adı
);
Yeni işlev, MQL5 programı ile uygun kullanıcı etkileşiminin uygulanmasına izin verecektir.
.
MQL5: DEAL_FEE - bir işlem gerçekleştirmek için yapılan ödeme - ENUM_DEAL_PROPERTY_DOUBLE numaralandırmasına eklendi. Aslında bu, bir broker tarafından alınabilecek ayrı bir komisyon türüdür.
.
Tester: Stratejileri test ederken kendi yatırım hesabı ayarlarınızı belirleme özelliği eklendi - yatırım limitleri, marjin ayarları ve komisyonlar. Böylece, brokerlerin farklı işlem koşullarını simüle etmek için daha fazla olanak elde edersiniz. .
Genel ayarlar Bu bölümde, hesabınızda aynı anda sahip olabileceğiniz maksimum açık emir ve pozisyon sayısını ayarlayabilirsiniz. Ayrıca burada, test edilen programın işlem yapmasına izin verilmeyeceği oturumları ayarlayabilirsiniz.
Marjin Burada marjinin nasıl ayrılacağını ve test sırasında hangi pozisyon muhasebe sisteminin kullanılacağını tamamen kontrol edebilirsiniz:
.
Risk Yönetimi - risk yönetimi modeli: OTC ve borsada işlem gören, netleştirme ve riskten korunma. Bunlar hakkında ayrıntılı bilgi Yardım'da mevcuttur. .
"Margin call" seviyesi - hesaptaki fon seviyesi, ulaşıldığında Margin call durumuna geçer.
"Stop out" seviyesi - hesabın emirleri geri çekmeye ve alım satım pozisyonlarını kapatmaya zorlandığı fon seviyesi. Her iki seviye de yüzde ve para cinsinden belirtilebilir. İlk durumda, seviyeler hesaptaki "Fonlar" göstergesinin değeri olarak tanımlanır. "Yüzde" seçeneği seçilirse, seviyeler hesaptaki "Marjin Seviyesi" göstergesinin değeri olarak tanımlanır (Fonlar/Marjin*100).
Gerçekleşmemiş - bu alan mevcut gerçekleşmemiş kar/zararın serbest marjda nasıl muhasebeleştirileceğini belirtir: .
Gerçekleşmemiş kar/zararı kullanmayın - hesaplamada açık pozisyonları dikkate almayın.
Gerçekleşmemiş kar/zararı kullan - hesaplamada açık pozisyonlardaki zarar ve karı kullanın.
Gerçekleşmemiş kâr kullanın - sadece kârı kullanın.
Gerçekleşmemiş zararı kullan - sadece zararı kullan.
Günlük sabit - bu alan, işlem günü boyunca tüccar tarafından sabitlenen kar/zararın serbest marjda nasıl dikkate alınacağını belirtir: .
Günlük sabit kar/zarar kullan - serbest marjda işlem günü boyunca sabitlenen kar ve zararı dikkate alın.
Günlük sabit zararı kullanın - serbest marjda yalnızca işlem günü boyunca sabitlenen zararı dikkate alın. Gün boyunca biriken kar ayrı bir hesap alanında ("Kilitli") sabitlenir. İşlem gününün sonunda, birikmiş kar serbest bırakılır (sıfırlanır) ve hesap bakiyesine yansıtılır (serbest marjda muhasebeleştirilir).
Birikmiş kârı gün sonunda serbest bırak - bu seçenek yalnızca "Günlük sabit zararı kullan" seçeneği etkinleştirilmişse kullanılabilir. Etkinleştirilirse, işlem gününün sonunda gün içinde biriken kar serbest bırakılacak ve bakiyeye kaydedilecektir (ve buna göre serbest marjda muhasebeleştirilecektir). Aksi takdirde - olmayacaktır.
Komisyon Bu bölümde tüm işlemlerden nasıl komisyon alınacağı üzerinde tam kontrole sahipsiniz.
.
Komisyonlar tek veya çok seviyeli olabilir, yani işlem hacmi/cirosundan bağımsız olarak aynı miktarda tahsil edilebilir veya büyüklüklerine bağlı olarak değişebilir. İlgili bilgiler şartnamede gösterilir.
Komisyonlar bir işlemin gerçekleştirilmesinin hemen ardından veya bir işlem gününün/ayının sonunda tahsil edilebilir.
Komisyonlar işlemin yönüne bağlı olarak alınabilir: giriş için, çıkış için veya her iki işlem türü için.
Komisyonlar lot başına veya işlem başına alınabilir.
Komisyonlar farklı miktarlarda tahsil edilebilir: para, yüzde veya pip cinsinden.
Test Cihazı: "Piyasa İzleme "den tüm semboller üzerinde birkaç test geçişi yapıldığında, "Piyasa Tarama" modunda optimize edilmiş ve önemli ölçüde hızlandırılmış çalışma. .
Tester: Pip cinsinden kar hesaplanırken, bir işlemin veya pozisyonun boyutu artık dikkate alınmaktadır. Önceden, hesaplama hacim dikkate alınmadan yapılıyordu - bir lot için olduğu gibi.
Tester: Optimizasyon sonuçları grafik yönetimi iyileştirildi. Normal bir optimizasyon grafiğini yakınlaştırırken, artık kaydırmak mümkündür. Grafiğin bir noktasına çift tıklandığında artık geçişler tablosunda ilgili sonuç vurgulanıyor. .
Renat Fatkhullin:
Bir terminalde başlatılan farklı MQL5 Uzman Danışmanlarında aynı veritabanını paylaşabilirsiniz.
.
Bir terminalde aynı veritabanına sahip iki Uzman Danışmanın çalışmasını test ettim. Hatasız çalışıyor - her iki Uzman Danışman da verileri 2 saniyelik bir zamanlayıcı ile bir dosyaya yazıyor.
Dosyalar eklenmiştir, yalnızca Uzman Danışman adına göre farklılık gösterirler.
Veritabanının MetaEditor'da nasıl göründüğü aşağıda açıklanmıştır
µl5 için anlatılanları µl4'te kullanmak mümkün mü?
MQL4'te, MQL için sarmalayıcı aracılığıyla yerel Sqlite3_32.dll ile çalışabilirsiniz
Bu, MQL için bir sarmalayıcıdır, SQLite3Wrapper.dll ile karıştırmayın
Ancak hala çevrimiçi olup olmadığını bilmiyorum, daha önce kullanmıştım.
UPD: https: //github.com/Shmuma/sqlite3-mt4-wrapperBunu kim çözdü, lütfen böyle bir görevin uygulamasını gösterin.
Başka bir nüans daha var - veritabanına değeri artan tutarlı verileri kaydetmek, tırnak işaretleri gibi dağılmamak (artan bir tarihle) - ÇOK pahalı bir işlem. Ağaç dengeli değildir, bir dal sonsuza kadar büyür ve motor ağacı düzenli olarak yeniden dengeler (bu çöp toplamadan daha kötüdür). Belki de bu sadece indeksli tablo için geçerlidir, artık hatırlamıyorum. Ya da belki de kullanmadığım birkaç yıl içinde çoktan çözülmüştür. Denemem gerekecek. Belki geliştiriciler bile bunu analiz eder, bununla ilgileniyor olmalılar.
DatabaseImport()
basit senaryo
2020.02.20 15:09:27.171 MQL5 'DOMcopy.ex5'in desteklenmeyen yeni bir sürümü var, lütfen istemci terminalinizi güncelleyin
sürüm 5 yapı 2323 en son meta düzenleyici aynı ve hata ayıklama çalışmıyor.
tamamlanmamış bir şey mi var?
DatabaseImport özelliği henüz herkese açık olarak yayınlanmadı.
Lütfen sürüm için bekleyin.
DatabaseImport işlevi henüz kamuya açıklanmamıştır.
Lütfen sürüm için bekleyin.
sürüm 5 yapı 2326 aynı şey, bu yüzden kararlı bir sürümü ne zaman bekleyeceksiniz?
sürüm 5 yapı 2326 aynı şey yani kararlı bir sürüm için beklemek ve ne zaman?
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerini test etme üzerine forum.
MetaTrader 5 yapı 2340'ın yeni sürümü: Test cihazında hesap ayarlarını yönetme ve Python ile entegrasyonu genişletme
MetaQuotes, 2020.02.20 14:55
21 Şubat 2020 Cuma günü, MetaTrader 5 platformunun güncellenmiş bir sürümü yayınlanacak. Güncelleme aşağıdaki değişiklikleri içeriyor:
Önceki platform güncellemesinde, doğrudan MQL5'ten SQLite veritabanlarıyla çalışma desteği ekledik. Artık ana işlevler MetaEditor kullanıcı arayüzü üzerinden kullanılabilir:
.
Nasıl çalışır
Veritabanlarını hızlı bir şekilde oluşturmak için "MQL5 Sihirbazı "nı kullanın. Burada hemen ilk tabloyu oluşturabilir ve alanlarının bir listesini tanımlayabilirsiniz.
Bir veritabanı oluşturduktan sonra, "Navigator "un yeni bir bölümüne gideceksiniz. Verilerle ilgili tüm çalışmalar bu bölümden gerçekleştirilir.
Sol kısımda, veritabanı tabloları görüntülenir. İlk 1.000 kaydı hızlı bir şekilde sorgulamak için tablo adına çift tıklayın. Burada ayrıca başka veritabanları oluşturabilir ve açabilir ve tablolarla çalışabilirsiniz.
Düzenleyicinin ana bölümü veritabanıyla çalıştığınız yerdir: tabloyu verilerle doldurun, arama ve seçim yapın, SQL sorguları girin, vb.
.

MetaTrader 5'te veritabanlarıyla çalışma hakkında daha fazla ayrıntı için lütfen"SQLite: MQL5'te SQL Veritabanlarıyla Yerel Çalışma" makalesini okuyun..
.
Komut dosyasını düzenleyicide çalıştırmak için "Derle" ye tıklayın:
.
Python ile çalışmak için, MetaEditor'daki "Ayarlar / Derleyiciler" bölümünde yolunu belirtmeyi unutmayın. Ve MetaTrader 5 kütüphanesi ile çalışmak için şu komutla yükleyin:
.
.
Yeni komut isimlendirmesi
Mevcut komutlar yeniden adlandırıldı:
MT5Shutdown -> shutdown
MT5TerminalInfo -> terminal_info
MT5Version -> version
MT5CopyRatesFrom -> copy_rates_from
MT5CopyRatesFromPos -> copy_rates_from_pos
MT5CopyRatesRange -> copy_rates_range
MT5CopyTicksFrom -> copy_ticks_from
MT5CopyTicksRange -> copy_tick_range
Yeni komutlar
Desteklenen komutların listesi büyük ölçüde genişletildi. İşlem yapma ve işlem geçmişiyle çalışma, finansal araçlar ve cari hesap hakkında bilgi alma işlevleri eklendi.
.
Grafiklerde Py thon komut dosyaları çalıştırma
Artık Python komut dosyaları, normal MQL5 programlarına benzer şekilde doğrudan platformdaki grafiklerde çalıştırılabilir. "Navigator "da özel simgelerle görüntüleneceklerdir.
.
Komut dosyası mesajları "Araçlar / Uzmanlar" bölümünde görüntülenecektir. Komut dosyası MetaTrader 5 kütüphanesini kullanıyorsa, enstrüman, hesap ve işlem hakkında bilgi alabilecektir.
Python komut dosyaları, diğer MQL5 komut dosyaları ve Uzman Danışmanlarla paralel olarak aynı grafik üzerinde çalıştırılabilir. Yürütülmesi döngüye girmişse bir komut dosyasını durdurmak için, onu grafikten kaldırmanız yeterlidir.
Ek koruma
Üçüncü taraf Python kütüphanelerini kullanırken hesaplarınızı daha fazla korumak için terminal ayarlarına "Harici Python API aracılığıyla otomatik ticareti devre dışı bırak" seçeneği eklendi.
.
Python komut dosyalarının yalnızca bu seçenek açıkça devre dışı bırakıldığında işlem yapmasına izin verilecektir.
.
.
DatabaseImport
Verileri bir dosyadan bir tabloya aktarır.
DatabaseExport
Bir tabloyu veya SQL sorgusu yürütme sonucunu bir CSV dosyasına aktarır. Dosya UTF-8 kodlamasında oluşturulur.
DatabasePrint
Bir tabloyu veya SQL sorgusu yürütmesinin sonucunu Expert Advisor günlüğüne yazdırır.
Yeni işlev, MQL5 programı ile uygun kullanıcı etkileşiminin uygulanmasına izin verecektir.
.
.
.
Genel ayarlar
Bu bölümde, hesabınızda aynı anda sahip olabileceğiniz maksimum açık emir ve pozisyon sayısını ayarlayabilirsiniz. Ayrıca burada, test edilen programın işlem yapmasına izin verilmeyeceği oturumları ayarlayabilirsiniz.
Marjin
Burada marjinin nasıl ayrılacağını ve test sırasında hangi pozisyon muhasebe sisteminin kullanılacağını tamamen kontrol edebilirsiniz:
.
.
.
.
Komisyon
Bu bölümde tüm işlemlerden nasıl komisyon alınacağı üzerinde tam kontrole sahipsiniz.
.
.
.
.
Güncelleme LiveUpdate sistemi aracılığıyla sunulacaktır.
kararlı sürüm 5 yapı 2340 DatabaseImport yürütme sırasında aynı DatabaseImport'u gösterir
2020.02.22 14:01:42.338 MQL5 'DOMcopy.ex5'in desteklenmeyen yeni bir sürümü var, lütfen istemci terminalinizi güncelleyin
Merhaba!
İndikatörde bir veritabanına bağlantı oluşturmaya çalıştım, ancak bazı nedenlerden dolayı çalışmadı.
Neden hiçbir yerde yazmıyor, hangi programlarda veritabanlarını kullanabilirim?