MQL5'te birlikte öğrenme ve yazma - sayfa 3

 
FlyAgaric :

"Bence gayet basit..."

Geliştirme ortamı olarak ücretsiz MS Visual Studio'yu (veya herhangi bir eşdeğerini) kullanın.

Diğer IDE'lerden derlemeyi etkinleştirmek için normal bir "adaptör" mql5.exe yayınlayacağız. Doğru, hata ayıklama yalnızca MetaEditor'dan çalışır.

Doğru, kişisel olarak diğer IDE'lerden MQL5 koduyla çalışmanın mantıklı olacağından şüpheliyim.

MetaEditor geliştirilecek ve ayrıca MQL5.com web sitesi ve Kod Tabanı ile doğrudan entegrasyon alacak.

Ve MQL4(MQL5) dili, dillerden birinde (VB, C++, C#) kitaplık olarak biçimlendirilmelidir. Geçen,

bence en anlamlısı. Hata ayıklanmış ve zamana göre test edilmiş bir geliştirme ortamı elde ediyoruz

gerekli tüm niteliklerle. Ve derlenmiş kod en çok Windows için uygundur.

Mümkün olan en hızlı kodu yazmanız gerekiyorsa, kendi DLL kitaplıklarınızı oluşturabilir ve bunları MQL5'ten çağırabilirsiniz.

Yazarlara göre, MQL5'teki her şey 4-20 kat daha hızlı çalışacak. Fark etmedim. Basit gösterge

Birkaç zil ve ıslık ile Hareketli Ortalama, MQL4'ten çok daha yavaş çalışır.

Birini rahatsız ediyorsa fikrimi ifade ettim - özür dilerim.

MQL5, sürümden önce kod optimizasyonu devre dışı bırakılsa da aslında MQL4'ten birkaç kat daha hızlıdır.

Sistemin piyasaya sürülmesiyle birlikte, herkesin kontrol edip emin olabilmesi için kaynak koduyla birlikte açık kıyaslamalar yayınlayacağız.
 
Renat :


Mümkün olan en hızlı kodu yazmanız gerekiyorsa, kendi DLL kitaplıklarınızı oluşturabilir ve bunları MQL5'ten çağırabilirsiniz.


MQL5, sürümden önce kod optimizasyonu devre dışı bırakılsa da aslında MQL4'ten birçok kat daha hızlıdır.


Sistemin piyasaya sürülmesiyle birlikte, herkesin kontrol edip emin olabilmesi için kaynak koduyla birlikte açık kıyaslamalar yayınlayacağız.

İlginiz için teşekkür ederim. İzinli bir günde birinin okuyacağını hiç düşünmemiştim.

Renat, bunlar sesli düşüncelerimdi. Planladığınız her şey başarılı olursa çok mutlu olacağım.

DLL'yi kullandığım sürece, ne MT4'e ne de MT5'e bağlanamadım. C++ ve C# ile yazılmıştır.

Yaklaşan tatil ve başarı için tebrikler MetaQuotes Software Corp.

 
FlyAgaric :

DLL'yi kullandığım sürece, ne MT4'e ne de MT5'e bağlanamadım. C++ ve C# ile yazılmıştır.

Yaklaşan tatil ve başarı için tebrikler MetaQuotes Software Corp.

ZIP arşivindeki kaynaklarla birlikte kırpılmış DLL projesini doğrudan foruma ekleyin - kesinlikle yardımcı olacaklardır.

Tebrikleriniz için teşekkürler!

 

Tüm yaklaşan ile!

Uzmanlar, lütfen yardım edin.

Son teklifin zamanını ekspreste almanız gerekir. Belki basit bir yolu vardır?

Şimdilik, bunu yapıyorum:

      err= 0 ;
       do
        {
         rates_total= CopyTime ( NULL , PERIOD_CURRENT , 0 , 1 ,iTime);
         err++;
        }
       while (rates_total<= 0 && err<QUANTITY_OF_ATTEMPTS);
       if (err>=QUANTITY_OF_ATTEMPTS)
        {
         cur_time= TimeCurrent ();
        }
       else
        {
         cur_time=iTime[ 0 ];
        } 

Belki daha kolay bir yolu vardır?

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
vdv2001 :

Tüm yaklaşan ile!

Uzmanlar, lütfen yardım edin.

Son teklifin zamanını ekspreste almanız gerekir. Belki basit bir yolu vardır?

Şimdilik, bunu yapıyorum:

Belki daha kolay bir yolu vardır?

Mevcut fiyatlar için Yapı bölümüne bakın
 

Tünaydın.

My EA, M1'deki piyasa profilini hesaplar, grafiğe bıraktığınızda her şey yolunda gider, ancak terminali kapatıp birkaç saat sonra açarsanız, bir hata oluşur ve EA çöker.

Bunun sayfalama geçmişinden kaynaklandığından şüpheleniyorum, başlatma işlevi güncellenen veriler yüklenmeden önce çalışıyor (ana hesaplamalar başlatma sırasında yapılır) bu nedenle çöküyor.

Soru ortaya çıkıyor, Init'ten enstrüman verilerinin tamamen yüklendiğini nasıl belirleyebilirim. Terminalin sunucuya bağlı olup olmadığını kontrol etmek her zaman yardımcı olmaz; çok fazla "taze" veri yoksa, birkaç gün içinde yanlışlıkla çökerse veya son günleri hesaplamazsa, iyi çalışır.

Bana tüm verilerin güncellendiği bayrağını nasıl yükselteceğimi söyle?

Инструмент «Ценовая гистограмма» (Рыночный профиль) и его реализация на MQL5
Инструмент «Ценовая гистограмма» (Рыночный профиль) и его реализация на MQL5
  • 2010.01.26
  • Dmitry
  • www.mql5.com
Рыночный профиль был разработан Питером Стидлмайером (Peter Steidlmayer), который предложил использовать альтернативное представление информации как о горизонтальном, так и о вертикальном движении рынка, что дает полностью отличный набор моделей. Он предположил, что у рынка существует основной рыночный пульс, или фундаментальная модель, которая называется цикл равновесия и неравновесия (cycle of equilibrium and disequilibrium). В данной статье я сделаю попытку дать общие понятия об упрощенной модели Рыночного профиля (Market Profile) – Ценовой Гистограмме (Price Histogram) и расскажу, как реализовал данный инструмент на MQL5.
 
vdv2001 :

Tünaydın.

My EA, M1'deki piyasa profilini hesaplar, grafiğe bıraktığınızda her şey yolunda gider, ancak terminali kapatıp birkaç saat sonra açarsanız, bir hata oluşur ve EA çöker.

Bunun sayfalama geçmişinden kaynaklandığından şüpheleniyorum, başlatma işlevi güncellenen veriler yüklenmeden önce çalışıyor (ana hesaplamalar başlatma sırasında yapılır) bu nedenle çöküyor.

Soru ortaya çıkıyor, Init'ten enstrüman verilerinin tamamen yüklendiğini nasıl belirleyebilirim. Terminalin sunucuya bağlı olup olmadığını kontrol etmek her zaman yardımcı olmaz; çok fazla "taze" veri yoksa, birkaç gün içinde yanlışlıkla çökerse veya son günleri hesaplamazsa, iyi çalışır.

Bana tüm verilerin güncellendiği bayrağını nasıl yükselteceğimi söyle?

Tarihte başlatmayı OnInit()'ten OnTick()'e taşıyın (kodun yalnızca 1 kez yürütülmesi için bir kontrol yapmanız gerekecek) ve sayfalama ile ilgili tüm sorunlar ortadan kalkacaktır.

 
Ayrıca, Veri Erişimini Düzenleme bölümüne bakın
 
alsu :

Tarihte başlatmayı OnInit()'ten OnTick()'e taşıyın (kodun yalnızca 1 kez yürütülmesi için bir kontrol yapmanız gerekecek) ve sayfalama ile ilgili tüm sorunlar ortadan kalkacaktır.

Bir sorun ortadan kalktı ama hesaplamaları OnTick()'e aktardıktan sonra bir başkası ortaya çıktı, şu anda çalışmayan piyasalarda boş bir grafik elde ediliyor, OnTick() işlevi çağrılmıyor.

 
Rosh :
Ayrıca, Veri Erişimini Düzenleme bölümüne bakın


Teşekkürler, şu şekilde çözmeyi başardım:

 int OnInit()
  {
//---
   while (!( bool ) SeriesInfoInteger ( Symbol (), 0 , SERIES_SYNCRONIZED ))
     {
       Sleep ( 20 );
     }
   if (ExtExpert.Init())
       return ( 0 );
   else
       return (- 1 );
  }