Hatalar, hatalar, sorular - sayfa 1783
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
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
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.
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.
İ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.
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?
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.
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.
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?
Çalışma hatası
0x030A00AD adresindeki erişim ihlali, 'Test_s.ex5' içinde 0x00000005 olarak okundu
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" ); }
#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
Lütfen Yardım'a ekleyin.
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.
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.