iIchimoku göstergesinde bir aksaklık var. Göstergem sadece if(tenkan[i]>kijun[i]) değerine bağlı olarak oklar çiziyor. Ekran görüntüsünde de görebileceğiniz gibi, oklar yanlış çizilmiş.
Ich_1_f.mq5 dosyasındaki tam kod
Ancak, manuel olarak hesaplarsanız, her şey doğru şekilde görüntülenir.
Her şey çok basit - GetPtrVar( double a) işlevinde, yığındaki değişkenin bir kopyasının adresini alırsınız ve sonra yığın belleğin dağınık parçasını okumaya çalışırsınız.
GetValuePtr'ye yapılan yakın çağrı nedeniyle ilk kez, bozulmamış bir yığından okumak mümkün oldu ve sonraki işlev çağrıları yığını geri dönülmez şekilde bozdu.
Her şey çok basit - GetPtrVar( double a) işlevinde, yığındaki değişkenin bir kopyasının adresini alırsınız ve sonra yığın belleğin dağınık parçasını okumaya çalışırsınız.
Evet, tam olarak, orada bir yer kazmam gerektiğini hissettim.
Her şey çok basit - GetPtrVar( double a) işlevinde, yığındaki değişkenin bir kopyasının adresini alırsınız ve sonra yığın belleğin dağınık parçasını okumaya çalışırsınız.
GetValuePtr'ye yapılan yakın çağrı nedeniyle ilk kez, bozulmamış bir yığından okumak mümkün oldu ve sonrakiişlev çağrıları yığını geri dönülmez şekilde bozdu.
Hata yok.
Ben de fark ettim. Doğru bence:
#define _DLLAPI extern"C" __declspec(dllexport)
//+------------------------------------------------------------------+//| адрес переменной double |//+------------------------------------------------------------------+
_DLLAPI int __stdcall
GetPtrVar( double& a){ return (( int )(&a));}
//+------------------------------------------------------------------+//| значение переменной double по адресу |//+------------------------------------------------------------------+
_DLLAPI double __stdcall
GetValuePtr( int pointer){ return (*( double *)pointer);}
bağlanıyoruz:
#import "Projeckt1.dll"int GetPtrVar( double& a);
double GetValuePtr( int pointer);
#import
Metatrader5'in 439 numaralı yapısında, bir geçmiş kalite göstergesi eklendi. Açık fiyatlarda ve tüm keneler için M1 ve H4 üzerinde test yaparken, kalite %51'dir... bu değer neden ve nasıl artırılır? Alıntı kaynağı - alpari demosu.
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
ve mantıklı mı
oranları_toplam BarsCalculated(ich) ile değiştirilsin mi?
düşünme. Tamponun hazır olduğundan emin olmak için daha çok bir servis fişi gibi...
ayrıca, Kopyala, istenen boyutu değil, hesaplandığı kadar veri döndürür.
Gizli değilse hangi şehirdensin?
Bu arada, herhangi bir ek fonksiyon çağırmanız gerekmediğinden emin misiniz?
kitaplıkta hem Refresh hem de BufferResize vardır. Bana öyle geliyor ki normal işleyiş için gerekliler.
Gerekli olan nerede yazıyor?
Farklı versiyonlarda denedim.
Etkisi yok.
Devam ediyoruz....
iIchimoku göstergesinde bir aksaklık var. Göstergem sadece if(tenkan[i]>kijun[i]) değerine bağlı olarak oklar çiziyor. Ekran görüntüsünde de görebileceğiniz gibi, oklar yanlış çizilmiş.
Ich_1_f.mq5 dosyasındaki tam kod
Ancak, manuel olarak hesaplarsanız, her şey doğru şekilde görüntülenir.
Ich_1_ok.mq5 dosyasındaki tam kod
dll yazıyoruz:
bağlanıyoruz:
Biz ararız:
şunu elde ederiz:
teoride her iki satır da aynı değeri 153.25 döndürmelidir.
Niye ya?
Niye ya?
32 veya 64 bit sürümünde mi?
Her şey çok basit - GetPtrVar( double a) işlevinde, yığındaki değişkenin bir kopyasının adresini alırsınız ve sonra yığın belleğin dağınık parçasını okumaya çalışırsınız.
GetValuePtr'ye yapılan yakın çağrı nedeniyle ilk kez, bozulmamış bir yığından okumak mümkün oldu ve sonraki işlev çağrıları yığını geri dönülmez şekilde bozdu.
Hata yok.
Her şey çok basit - GetPtrVar( double a) işlevinde, yığındaki değişkenin bir kopyasının adresini alırsınız ve sonra yığın belleğin dağınık parçasını okumaya çalışırsınız.
Evet, tam olarak, orada bir yer kazmam gerektiğini hissettim.
dll'de yazman gerekiyor
Her şey çok basit - GetPtrVar( double a) işlevinde, yığındaki değişkenin bir kopyasının adresini alırsınız ve sonra yığın belleğin dağınık parçasını okumaya çalışırsınız.
GetValuePtr'ye yapılan yakın çağrı nedeniyle ilk kez, bozulmamış bir yığından okumak mümkün oldu ve sonrakiişlev çağrıları yığını geri dönülmez şekilde bozdu.
Hata yok.
Ben de fark ettim. Doğru bence:
bağlanıyoruz: