Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 1044

 
LRA :

int Bayraklar=FILE_WRITE+FILE_TXT+FILE_COMMON;

int Bilgi = FileOpen(fName, Flags);

FileWrite(Bilgi, Yapılacaklar); Diğer terminalde okuyoruz. FileOpen ve F1'de imleç - yardım alın

Teşekkürler, bir bakacağım!
 

Merhaba.

Ticari olay tanım satırımda ( yeni bir mumun görünümü ), zaman serisi dizisi güncellenmiyor, daha doğrusu yeni bir mum göründüğünde değeri değişmiyor, neden?

 if (T[i]!=iTime( NULL ,TF[i], 1 ))

T[i] ilk kez Expert Advisor başlatıldığında ayarlanır, ardından yeni bir mum açıldığında değer güncellenir.

I parametresi, giriş parametrelerine göre ayarlanır.

İlginç bir şekilde, aynı anda çalışmak için birkaç TF kullandığım sürümde, bu nedenle for döngüsünü kullanmak zorunda kaldım, her şey iyi çalıştı, ancak sonra çöktü, güncellenmedi ve bu kadar ... (

 
Igemon :

Merhaba.

Ticaret olayı tanım satırımda (yeni bir mumun görünümü), zaman serisi dizisi güncellenmiyor, daha doğrusu yeni bir mum göründüğünde değeri değişmiyor, neden?

T[i] ilk kez Expert Advisor başlatıldığında ayarlanır, ardından yeni bir mum açıldığında değer güncellenir.

I parametresi, giriş parametrelerine göre ayarlanır.

İlginçtir ki, aynı anda çalışmak için birkaç TF kullandığım sürümde, bu nedenle for döngüsünü kullanmak zorunda kaldım, her şey iyi çalıştı, ancak sonra çöktü, güncelleme yapmadı ve bu kadar ... (

Görünüşe göre döngüden doğru bir şekilde çıkarılmamış ...

İşte yeni bir çubuk tanımlamak için özel bir işlev

 bool NewBar( int tf, datetime &lastbar)
{
   datetime curbar = iTime( _Symbol , tf, 0 );
   if (lastbar != curbar)
    {
     lastbar = curbar;
     return ( true );
    }
   else return ( false );
} //******************************************************************|

Gelen değişkenler:

tf - yeni bir çubuğun görünümünü belirlemek için grafik dönemi veya dönem değeri.

lastbar - son mumun zamanını saklamak için referansla geçirilen bir değişken.

void OnTick ()
{
// хотим определить наступление нового дня
 static datetime lastDay, lastHour;
 bool newDay, newHour;
 newDay = NewBar( PERIOD_D1 , lastDay);
 if (newDay)
 Print ( "наступил новый день" );
// и нового часа
 newHour = NewBar( PERIOD_H1 , lastHour);
 if (newHour)
 Print ( "наступил новый час" );
}
 
AlexeyVik :
 bool NewBar( int tf, datetime &lastbar)
{
   datetime curbar = iTime( _Symbol , tf, 0 );
   if (lastbar != curbar)
    {
     lastbar = curbar;
     return ( true );
    }
   else return ( false );
} //******************************************************************|

Danışmandan ilk aramada, hemen yeni bir bar hakkında bilgi verir. OnInit() işlevine işlev çağrıları eklenerek düzeltildi

Komut dosyasından ilk çağrıda, hemen yeni bir çubuk bildirir ve sonra her zaman yanlıştır. Başa RefreshRates() işlevi eklenerek düzeltildi

 
LRA :

Danışmandan ilk aramada, hemen yeni bir bar hakkında bilgi verir. OnInit() işlevine işlev çağrıları eklenerek düzeltildi

Komut dosyasından ilk çağrıda, hemen yeni bir çubuk bildirir ve sonra her zaman yanlıştır. Başa RefreshRates() işlevi eklenerek düzeltildi

1. İlk kez doğru çağırırken, bu oldukça normaldir, henüz çubuk yoksa, görünen zaten yeni olacaktır. Gerekirse, strateji gerektiriyorsa, bu şekilde yeni bir bar ve birkaç tane daha reddedebilirsiniz. Hiç tereddüt etmeden iki tane daha sunuyorum.

 static datetime lastDay = iTime( _Symbol , PERIOD_D1 , 0 );, lastHour = iTime( _Symbol , PERIOD_H1 , 0 );

veya

 if (lastbar != curbar && lastbar > 0 )

2. Neden bir komut dosyasından yeni bir çubuk tanımlamalısınız??? Bu aptallık nereye kadar?

 

Ama burada, nedense çalışmıyor ... (( her şey yolunda görünüyor (

 extern int TFrame= 1 ;

datetime T[ 6 ];
int TF[ 6 ]={ 1 , 5 , 15 , 30 , 60 , 240 };
int i=TFrame- 1 ;

int OnInit ()
   {
   T[ 0 ]=iTime( NULL , 1 , 1 );
   T[ 1 ]=iTime( NULL , 5 , 1 );
   T[ 2 ]=iTime( NULL , 15 , 1 );
   T[ 3 ]=iTime( NULL , 30 , 1 );
   T[ 4 ]=iTime( NULL , 60 , 1 );
   T[ 5 ]=iTime( NULL , 240 , 1 );
   for ( int q= 0 ;q<= 5 ;q++)
       Print (T[q]);
   return ( INIT_SUCCEEDED );
   }
 
void OnTick()
   {
   while(1==1)
      {
      if(T[i]!=iTime(NULL,TF[i],1))
 

Igemon :

 void OnTick ()
   {
   while ( 1 == 1 )
      {
       if (T[i]!=iTime( NULL ,TF[i], 1 ))
Affedersiniz Hegemon ama bu pervasızlık neden? Ne tür bir kişi bunu yapmanızı tavsiye etti?
 
Hepinize iyi günler. Birine söyleyin: Danışmanın normal çalışmasını, yani terminal yeniden başlatıldığında veya İnternet kesildiğinde belirtilen algoritmanın yürütülmesini nasıl sağlayabilirsiniz?
 
artmedia70 :
Affedersiniz Hegemon, ama bu pervasızlık neden? Ne tür bir kişi bunu yapmanızı tavsiye etti?
Sorun nedir? Orada her şey yolunda olduğu için kodun geri kalanını eklemedim. Döngü, kenelere bağlı olmaması için gereklidir, olayları belirlerken, bilgisayarı yeniden başlatmamak için 100 milisaniye uyumaya değer
Neden: