merhaba , MQL5'te bir gösterge yazıyorum, ancak ObejectDelete dize adı olarak ne yazarsam yazarsam true ! nesnesiz boş bir grafikte bile!
int ObjCount = ObjectsTotal(ChartID(),/*0=ana alt pencere*/0,/*all objectTypes*/-1);
bool deleteResult=ObjectDelete(ChartID(),"var olmayan nesne");
Print(__LINE__,"-",deleteResult," | ObjCount=",ObjCount);
işte sonuç:
2016.12.11 13:46:38.385 Uzak Test (EURUSD,H1) 37- doğru | NesneSayısı=0
false döndürmesi gerekmez mi?
işte aynı kodun sonucu mt4 :
2016.12.11 14:00:10.141 Far-TestObjDelete EURUSD_e,H1: 38 -false | NesneSayısı=0
yani mt5 yanlış çalışıyor!
işte aynı kodun sonucu mt4 :
2016.12.11 14:00:10.141 Far-TestObjSil EURUSD_e,H1: 38 -false | NesneSayısı=0
yani mt5 yanlış çalışıyor!
Hangi MT5 yapısını kullanıyorsunuz? Mevcut mevcut yapı 1495 (09 Aralık 2016)!
evet , mt5 1495 , 2016.dec.09 , ve meta düzenleyici de 1495.
Lütfen aynı etkiyi yaratıp yaratmadığını görmek için derleyebileceğimiz ve kendi tarafımızda test edebileceğimiz eksiksiz bir küçük test komut dosyası/gösterge kodu sağlayın?
Bizim tarafımızda da aynısını yapıyorsa, bunu olası bir hata olarak Servis Masasına bildirebilirsiniz !
Bir sonraki gönderinizde eksiksiz bir dosya olarak ekleyin!
Lütfen aynı etkiyi yaratıp yaratmadığını görmek için derleyebileceğimiz ve kendi tarafımızda test edebileceğimiz eksiksiz bir küçük test komut dosyası/gösterge kodu sağlayın?
Bizim tarafımızda da aynısını yapıyorsa, bunu olası bir hata olarak Servis Masasına bildirebilirsiniz !
Bir sonraki gönderinizde eksiksiz bir dosya olarak ekleyin!
burada hem mt5 hem de mt4'te aynı kod var. sonuçlar farklı ama yardım dosyası aynı şeyi söylüyor.
NesneSil
İşlev, belirtilen ada sahip nesneyi belirtilen grafikten kaldırır.
bool ObjectDelete ( |
parametreler
chart_id
[içinde] Grafik tanımlayıcısı. 0, geçerli grafik anlamına gelir.
isim
[içinde] Silinecek nesnenin adı.
Geri dönüş değeri
Kaldırma başarılı olursa true, aksi takdirde false döndürür.
Çıktı şu şekildeydi:#property strict
#property indicator_chart_window
int OnInit ()
{
return ( INIT_SUCCEEDED );
}
int OnCalculate ( const int rates_total, const int prev_calculated, const datetime &time[],
const double &open[], const double &high[], const double &low[], const double &close[],
const long &tick_volume[], const long &volume[], const int &spread[])
{
static bool boolFirstTime = true ;
if ( boolFirstTime )
{
boolFirstTime = false ;
bool boolDeleteResult = ObjectDelete ( 0 , "Non-existing Object" );
Print ( "Result of Deleteing non-existing Chart Object: " , boolDeleteResult );
}
return (rates_total);
}
Bu gerçekten de Servis Masasına bildirilmesi gereken bir hata gibi görünüyor.2016.12 . 11 11 : 12 : 29.999 TestObjectDelete (EURUSD.m,H4) Result of Deleteing non-existing Chart Object: true
Bir takipte, OP'nin kaynağında bir hata olmadığından emin olmak için kendi kodumu yeniden yarattım ve aşağıdaki Gösterge koduyla aynı etkiyi elde ettim ve ben de gerçekten OP ile aynı sonucu aldım:
Çıktı şu şekildeydi:#property strict
#property indicator_chart_window
int OnInit ()
{
return ( INIT_SUCCEEDED );
}
int OnCalculate ( const int rates_total, const int prev_calculated, const datetime &time[],
const double &open[], const double &high[], const double &low[], const double &close[],
const long &tick_volume[], const long &volume[], const int &spread[])
{
static bool boolFirstTime = true ;
if ( boolFirstTime )
{
boolFirstTime = false ;
bool boolDeleteResult = ObjectDelete ( 0 , "Non-existing Object" );
Print ( "Result of Deleteing non-existing Chart Object: " , boolDeleteResult );
}
return (rates_total);
}
Bu gerçekten de Servis Masasına bildirilmesi gereken bir hata gibi görünüyor.2016.12 . 11 11 : 12 : 29.999 TestObjectDelete (EURUSD.m,H4) Result of Deleteing non-existing Chart Object: true
zaman ayırdığınız için teşekkürler :)
Servis Masasına bildirecek misiniz?
evet yazacağım. Onayınızı bekliyordum. Teşekkürler.

- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
merhaba , MQL5'te bir gösterge yazıyorum, ancak ObejectDelete dize adı olarak ne yazarsam yazarsam true ! nesnesiz boş bir grafikte bile!
int ObjCount = ObjectsTotal(ChartID(),/*0=ana alt pencere*/0,/*all objectTypes*/-1);
bool deleteResult=ObjectDelete(ChartID(),"var olmayan nesne");
Print( __LINE__ ,"-",deleteResult," | ObjCount=",ObjCount);
işte sonuç:
2016.12.11 13:46:38.385 Uzak Test (EURUSD,H1) 37- doğru | NesneSayısı=0
false döndürmesi gerekmez mi?