Hatalar, hatalar, sorular - sayfa 1783

 
A100 :

Soru: OnDeinit->M5 ne zaman çağrılacak?

Cevabım: Asla!

Yukarıdaki cevabınız: eşzamansız ve gecikmeli

30 dakikadan fazla zaman geçti ve hala OnDeinit->M5'e çağrı yok

Ve şimdi Uzman kodunu değiştirelim (sıralamayı biraz değiştirin) ...

Sonuç:

2017.02.06 01:31:45.002 OnInit->M5
2017.02.06 01:31:48.340 OnDeinit->M5:1 Hemen ve gecikmeden arayın!
2017.02.06 01:31:48.409 OnInit->M15

Dosyalar:
Test.mq5  2 kb
 
A100 :

30 dakikadan fazla zaman geçti ve hala OnDeinit->M5'e çağrı yok

Ve şimdi Uzman kodunu değiştirelim (sıralamayı biraz değiştirin) ...

Lütfen kodu ekleyin.
 
Renat Fatkhullin :
Lütfen kodu ekleyin.
Aynı isimle son gönderiye eklendi. Aslında, statik çağrının yerini dinamik çağrı alır ve sonuç temelde farklıdır.
 
A100 :
Aynı isimle son gönderiye eklendi. Aslında, statik çağrının yerini dinamik bir çağrı alır ve sonuç temelde farklıdır.
Teşekkürler, inceleyeceğiz.

İlk durumda, OnDeinit'in ve statik değişkenin yokluğu, zalim bir optimizasyon oyunu oynadı ve sonuç olarak yıkıcıyı çağırmayı unuttu.
 
Alexey Kozitsyn :
Hangi yayınlardan bahsettiğinizi açıklar mısınız? Bir karakterin tüm göstergeleri aynı iş parçacığında çalışmıyor mu?
Evet. Grafikler noktayı değil karakteri değiştirirse farklı akışlar olacaktır.

Yalnızca zaman çerçevesini değiştirirseniz, göstergenin yeni kopyası eskisiyle aynı iş parçacığında hesaplanır.

Ancak burada bile M5'teki Deinit komutunun M15'teki Init komutundan daha önce işleneceği gerçeğine güvenemezsiniz.
 
Slawa :
Yalnızca zaman çerçevesini değiştirirseniz, göstergenin yeni kopyası eskisiyle aynı iş parçacığında hesaplanır.

Ancak burada bile M5'teki Deinit komutunun M15'teki Init komutundan daha önce işleneceği gerçeğine güvenemezsiniz.
Lütfen Yardım'a ekleyin.
 
Slawa :

Merhaba,

https://www.mql5.com/en/forum/166358/page4#comment_4064293 mesajına dikkat etmenizi rica ederim.

Bu çok önemli,

yeni bir 1158 hatası çıktı, yardımda değil mi?

cannot set millisecond timer (500)
cannot set millisecond timer (500)
  • www.mql5.com
Здравствуйте, клиент прислал лог файл, в котором я увидел такую запись cannot set millisecond timer (500) что она значит? и почему...
 

Çalışma hatası

0x030A00AD adresindeki erişim ihlali, 'Test_s.ex5' içinde 0x00000005 olarak okundu

//Test_s.mq5 //Скрипт
class A {};
#import "TestA.ex5"
        A *error();
#import
class B { protected :
    B( const string & name ) : name( name ) {}
    virtual int g( const MqlParam & param[] ) const { return :: IndicatorCreate ( NULL , PERIOD_CURRENT , IND_CUSTOM , :: ArraySize ( param ), param ); }
         const string name;
bool f( int h ) const
{
         if ( :: ChartIndicatorAdd ( 0 , 0 , h ) )
                 return true ;
        error();
         return false ;
}
};
class C : protected B { protected :
    C( int h, string name ) : B( name ), h( h ) { f( this .h ); }
         const int h;
};
class D : C { public :
    D( string path ) : C( g( path ), path ) {}
int g( const string & path )
{
         MqlParam param[ 1 ];
        param[ 0 ].type         = TYPE_STRING ;
        param[ 0 ].string_value = path;
         return g( param );
}
};
void OnStart () { D d( "Test_i" ); }
//TestA.mq5
#property library
class A {};
A * error () export { return NULL; }

Tüm dosyalar (Gösterge hariç) MQL5\Scripts\ klasöründe bulunur

Göstergenin kendisi gerekli değildir, ancak örneğin buradan alabilirsiniz https://www.mql5.com/en/forum/1111/page1803#comment_4063671

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • www.mql5.com
Форум алго-трейдеров MQL5
 
fxsaber :
Lütfen Yardım'a ekleyin.
Buraya bakın - Programları Yürütme

MQL5 programlarının kısa bir özeti tabloda verilmiştir:

programı

Verim

Not

Senaryo

Kendi iş parçacığında, kaç tane komut dosyası - onlar için çok fazla yürütme dizisi

Döngülenmiş bir komut dosyası diğer programları kıramaz

Uzman

Kendi iş parçacığında, kaç uzman - onlar için çok fazla yürütme dizisi

Döngüsel bir EA, diğer programların çalışmasını bozamaz

Gösterge

Tek bir semboldeki tüm göstergeler için bir yürütme dizisi. Göstergeli kaç sembol - onlar için çok fazla yürütme dizisi

Bir göstergedeki sonsuz döngü, o semboldeki diğer tüm göstergeleri durduracaktır.

 
A100 :

Bu formda yazılırlar B'111111111111111111111111111111111'

Maalesef bu formatı bilmiyorum.

Deney, grafik arabelleğindeki sayının çift ile aynı kuralla temsil edildiğini gösterdi - yani. bu kadar uzun bir sayıyı grafik arabelleği üzerinden aktarmak mümkün değil - hayal kırıklığı yaratıyor.