Mt4 End desteği. - sayfa 33

 
Geri sayımın başlama zamanı ile ilgili hala bir sorun var. Zamanında olmayan bir şey çubuğun başlangıcını düzeltir. Bunu daha sonra çözeceğim.
 
Nikolai Semko :

Peter, bende de çalışmıyor.
Garip bir programlama stiliniz var. Ve tüm bu ekonomiyi OnInit ve OnTimer'daki tüm değişkenler ve döngülerle tek bir prosedüre sokabilirsiniz. Birisi onu kullanmak isterse, bu kod yoluna girecek. Ve aynı vücut kiti ile 20 benzer prosedür varsa? Sonuçta , burada uygulanıyor.


Peter kolay yollar aramasın...

 
Реter Konow :
Başlangıç zamanı ile ilgili hala bir sorun var. Zamanında olmayan bir şey çubuğun başlangıcını düzeltir. Bunu daha sonra çözeceğim.

Çubuğun başlangıcı her zaman tam zamanında değildir.

Bazen çubuklar atlanır.
 
Nikolai Semko :

Peter, bende de çalışmıyor.
Garip bir programlama stiliniz var. Ve tüm bu ekonomiyi OnInit ve OnTimer'daki tüm değişkenler ve döngülerle tek bir prosedüre sokabilirsiniz. Birisi kullanmak isterse, çünkü bu vücut kiti ayaklarının altına girecek. Ve aynı vücut kiti ile 20 benzer prosedür varsa? Sonuçta , burada uygulanıyor.

Kesinlikle bir dakikalığına çalışır, ancak barın başlangıcını zamanında düzeltmez.

Diğer zaman dilimlerinde kontrol etmedim çünkü beklemesi uzun sürüyor.

Stile gelince, şimdi önemli değil. Her şeyi zamanlayıcıdan çıkarabilir ve ayrı bir işleve koyabilirsiniz. Ben sadece çözümün kendisini düşündüm, entegre etmek için gelecekteki seçenekler hakkında değil.

 
Vladimir Pastushak :

Çubuğun başlangıcı her zaman tam zamanında değildir.

Evet, fark ettim, daha sonra düzelteceğim.
 
Реter Konow :

Bir kişinin piyasa incelemesinde gerçekten 600 enstrümanı varsa ve her enstrüman için yeni bir çubuğun gelişini ve her tikte her zaman dilimini kontrol ederse, pahalı olabileceğini düşündüm...

Ben kendim ticaret yapmıyorum, bu nedenle pratikte bu işlevin kaç kez çağrılması gerektiğini tam olarak bilmiyorum.

Fonksiyondaki enstrümanlar ve zaman çerçeveleri için bir çift döngü, yalnızca sembollerin ve zaman çerçevelerinin sayısı çok büyükse ve fonksiyon yüzlerce enstrümanın her işaretinde çağrılırsa yeni bir çubuk yükleyebilir. Belki o zaman Dmitry haklıdır.

Fonksiyonda bir döngü kısalttım.

şimdiden tükürelim...

İşte özellikle bu eylem için sınıfımın bir örneği. Elbette bir başyapıt değil ama benim, anlıyor ve çalışıyorum.

class CNewBar
{
protected :
   MqlRates newBarRates[];
public :
 bool newBar();
 bool newBar( ENUM_TIMEFRAMES timeframe, datetime & tOld);
}; /********************************************************************/

bool CNewBar::newBar()
{
 static datetime timeLastBar;
   if ( CopyRates ( _Symbol , PERIOD_CURRENT , 0 , 1 , newBarRates) < 0 )
   return ( false );
   bool ret = timeLastBar != newBarRates[ 0 ].time;
   if (ret)
    timeLastBar = newBarRates[ 0 ].time;
   return (ret);
} /********************************************************************/

bool CNewBar::newBar( ENUM_TIMEFRAMES timeframe, datetime & tOld)
{
   if ( CopyRates ( _Symbol , timeframe, 0 , 1 , newBarRates) < 0 )
   return ( false );
     datetime tNew = newBarRates[ 0 ].time;
   bool ret = tOld != tNew;
   if (ret)
    tOld = tNew;
   return (ret);
} /********************************************************************/

Yalnızca mevcut TF'yi belirlemek gerekirse, parametresiz fonksiyon çağrılır.

Buna göre, .mqh içine yerleştirilmişse, kütüphane dahil edilmelidir.

 #include <путь_папка\имя_файла.mqh>
CNewBar newBar;

ve OnTick() içinde çağrılır

 if (newBar.newBar())
 Print ( "Новый бар на текущем ТФ" );

Diğer TF'leri tanımlamak gerekirse, her periyot için global değişkenler veya statik değişkenler düzeyinde ve gerekirse bir sembol bildirilir.

 static datetime oldD1 = 0 , oldH1 = 0 ;

if (newBar.newBar( PERIOD_H1 , oldH1) && newBar.newBar( PERIOD_D1 , oldD1)
 Print ( "Открылся новый день и новый час" );

Bu yaklaşım, gerekli olandan farklı bir zaman çerçevesi üzerinde çalışırken etkilidir ve EA'nın üzerinde çalıştığı çizelgenin zaman çerçevesinin rastgele değiştirilmesiyle ilgili sorunlara karşı koruma sağlar.

 
Nikolai Semko :

Peter, bende de çalışmıyor. Algoritma çok hızlı olmasına rağmen namluyu boş yere sürüyorlar. Aslında henüz çalışmıyor. Anlamak için zaman yok.
Garip bir programlama stiliniz var. Ve tüm bu ekonomiyi OnInit ve OnTimer'daki tüm değişkenler ve döngülerle tek bir prosedüre sokabilirsiniz. Birisi kullanmak isterse, çünkü bu vücut kiti ayaklarının altına girecek. Ve aynı vücut kiti ile 20 benzer prosedür varsa? Sonuçta , burada uygulanıyor.


Belki de "hızlı"nın ne anlama geldiğini bilmiyorsunuz?

 
Alexey Viktorov :

şimdiden tükürelim...

İşte özellikle bu eylem için sınıfımın bir örneği. Tabii ki bir başyapıt değil ama bu benim, anlaşılır ve işime yarıyor.

Yalnızca mevcut TF'yi belirlemek gerekirse, parametresiz fonksiyon çağrılır.

Buna göre, .mqh içine yerleştirilmişse, kütüphane dahil edilmelidir.

ve OnTick() içinde çağrılır

Diğer TF'leri tanımlamak gerekirse, her periyot için global değişkenler veya statik değişkenler düzeyinde ve gerekirse bir sembol bildirilir.

Bu yaklaşım, gerekli olandan farklı bir zaman çerçevesi üzerinde çalışırken etkilidir ve EA'nın üzerinde çalıştığı çizelgenin zaman çerçevesinin rastgele değiştirilmesiyle ilgili sorunlara karşı koruma sağlar.


Ne tür bir delilik gösterdiğin hakkında hiçbir fikrin yok, sadece tam bir paragraf. Ama özellikle hangi yerde olduğunu göstermeyeceğim, çünkü hepiniz benim görüşüme ilgi duymuyorsunuz)))

 
Alexey Viktorov :

şimdiden tükürelim...

İşte özellikle bu eylem için sınıfımın bir örneği. Tabii ki bir başyapıt değil ama bu benim, anlaşılır ve işime yarıyor.

Yalnızca mevcut TF'yi belirlemek gerekirse, parametresiz fonksiyon çağrılır.

Buna göre, .mqh içine yerleştirilmişse, kütüphane dahil edilmelidir.

ve OnTick() içinde çağrılır

Diğer TF'leri tanımlamak gerekirse, her periyot için global değişkenler veya statik değişkenler düzeyinde ve gerekirse bir sembol bildirilir.

Bu yaklaşım, gerekli olandan farklı bir zaman çerçevesi üzerinde çalışırken etkilidir ve EA'nın üzerinde çalıştığı çizelgenin zaman çerçevesinin rastgele değiştirilmesiyle ilgili sorunlara karşı koruma sağlar.

peki ya diğer karakterler? görev, herhangi bir tf için piyasa incelemesinden herhangi bir semboldeki tf değişimini belirlemekti.

Samimi olarak.
 
Alexey Viktorov :

şimdiden tükürelim...

İşte özellikle bu eylem için sınıfımın bir örneği. Elbette bir başyapıt değil ama benim, anlıyor ve çalışıyorum.

Yalnızca mevcut TF'yi belirlemek gerekirse, parametresiz fonksiyon çağrılır.

Buna göre, .mqh içine yerleştirilmişse, kütüphane dahil edilmelidir.

ve OnTick() içinde çağrılır

Diğer TF'leri tanımlamak gerekirse, her periyot için global değişkenler veya statik değişkenler düzeyinde ve gerekirse bir sembol bildirilir.

Bu yaklaşım, gerekli olandan farklı bir zaman çerçevesi üzerinde çalışırken etkilidir ve EA'nın üzerinde çalıştığı çizelgenin zaman çerçevesinin rastgele değiştirilmesiyle ilgili sorunlara karşı koruma sağlar.

Çözümünüz iyi çalışıyor mu? Eğer iyiyse, o zaman harikadır.

Ve yüzlerce enstrümanda olduğu gibi, bindirmeler olmayacak mı?