Hatalar, hatalar, sorular - sayfa 727

 
Renat :

Sonra FileReadArray ile ilgili soru ortaya çıktı ve açıklamalarda kaydedilen yanlış türdeki verileri okuma özelliği olduğunu belirttim .

dolayısıyla soru şu: bu özellik dilin güvenliğine nasıl uyuyor?

normalse, neden bir bit alanını istenen türe çevirmek için standart bir işlev yapmıyorsunuz?

Genel olarak, ya işleri düzene sokun ve bu özelliği kaldırın ya da insanların uzun aritmetik uygulamasına izin verin.

Bir vidalı silme dosyası aracılığıyla bu özelliğin bir örneği:

 double arr[]; ulong arr1[]; 
//+------------------------------------------------------------------+
void OnStart ()
  {   
   ArrayResize (arr, 1 ); arr[ 0 ]= 123.2564 ;
   WriteArrayFile();
   ReadArrayFile();
   Print (arr1[ 0 ]);
  }
//+------------------------------------------------------------------+
void WriteArrayFile( string folder= "Calculator" )
  {
   int han= FileOpen (folder+ ".dat" , FILE_WRITE | FILE_BIN );
   if (han!= INVALID_HANDLE )
     {      
       FileWriteArray (han,arr);              
       FileClose (han);
     }
  }
//+------------------------------------------------------------------+
void ReadArrayFile( string folder= "Calculator" )
  {
   int han= FileOpen (folder+ ".dat" , FILE_READ | FILE_BIN );
   if (han!= INVALID_HANDLE )
     {      
       FileReadArray (han,arr1);             
       FileClose (han);
     }
  }
//+------------------------------------------------------------------+
 
Paranoya tespit edildi.
 
TheXpert :
Paranoya tespit edildi.

Düşünce geliştirin.

Not: Aslında bu özelliği güvenli olarak tanımaktan ve onu bir analog yapmaktan, ancak bir dosya kullanmadan, ancak doğrudan lehindeyim.

Ancak MQ bunu güvensiz olarak algılarsa, işlevden kaldırılmalıdır.

ZZY Bu arada, belki bugün gerçekten bir şeyleri yanlış şekillendiriyorum, benim için iki soruya cevap vermediler, beni aydınlat, aptal olduğum yeri işaret et.

 
Urain :

Bir vidalı silme dosyası aracılığıyla bu özelliğin bir örneği:


Bir dosya aracılığıyla, neden? Daha kolay olabilir. Basit Yapıların Veri Dökümü hakkında bilgi edinin
 
ya da öylesine
 
Renat :
Çaprazlar üzerinde test yapılırken, karların ve marj gereksinimlerinin doğru dönüştürülmesi için diğer oranların doğru bir simülasyonu vardır.
Görselleştirmeyi çalıştırmayı deneyin ve piyasa saatindeki arka plan sembollerinin sayısına dayalı hesaplamaların miktarını hemen anlayacaksınız.
Her şeyi anlayabiliyorum, ancak hızdaki fark 13.7 kat ... Peki, 2 kat - tamam. Ve majörlerdeki açılış fiyatlarındaki test hızından gelen köpek yavrusu sevincinin yerini, haçlarda ağlamaklı bir umutsuzluk aldı. Ve 30 yerel uzak aracı kullanmak yerine, yine bulutları ezmeniz gerekecek ... Abydna!
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
Urain :

Düşünce geliştirin.

Not: Aslında bu özelliği güvenli olarak tanımaktan ve onu bir analog yapmaktan, ancak bir dosya kullanmadan, ancak doğrudan lehindeyim.

Ancak MQ bunu güvensiz olarak algılarsa, işlevden kaldırılmalıdır.

ZZY Bu arada, belki bugün gerçekten bir şeyleri yanlış şekillendiriyorum, benim için iki soruya cevap vermediler, beni aydınlat, nerede aptal olduğumu göster.

Dosyanın kendisi anonimdir. Bu dosyanın nasıl kaydedildiği önceden bilinmiyor. Yani, yukarıda açıklanan işlevsellik devre dışı bırakılamaz. Elbette, tamamen bir metin dosyasını organoleptik olarak tanımlayabilirsiniz ve yani, Unicode ve Ansi kodlamalarında nüanslar vardır.

Böylece herhangi bir dosyayı istediğiniz gibi okuyabilirsiniz. Ve bu, okuma (ve yazma) boyutları kontrol edildiğinden herhangi bir tehlikeli duruma yol açmaz. Yığını patlatamayacaksınız. Adresi işlem belleğine almanın hiçbir yolu yoktur.

 
muallch :
Her şeyi anlayabiliyorum, ancak hızdaki fark 13.7 kat ... Peki, 2 kat - tamam. Ve majörlerdeki açılış fiyatlarındaki test hızından gelen köpek yavrusu sevincinin yerini, haçlarda ağlamaklı bir umutsuzluk aldı. Ve 30 yerel uzak aracı kullanmak yerine, yine bulutları ezmeniz gerekecek ... Abydna!
Bu sorunla ilgileniyoruz. Çaprazlarda açılış fiyatlarının test edilmesi hızlandırılacaktır.
 
stringo :

Dosyanın kendisi anonimdir. Bu dosyanın nasıl kaydedildiği önceden bilinmiyor. Yani, yukarıda açıklanan işlevsellik devre dışı bırakılamaz. Elbette, tamamen bir metin dosyasını organoleptik olarak tanımlayabilirsiniz ve diğer bir deyişle, Unicode ve Ansi kodlamalarında nüanslar vardır.

Böylece herhangi bir dosyayı istediğiniz gibi okuyabilirsiniz. Ve bu, okuma (ve yazma) boyutları kontrol edildiğinden herhangi bir tehlikeli duruma yol açmaz. Yığını patlatamayacaksınız. Adresi işlemin belleğine almanın bir yolu yok.

O zaman, tür dökümü olmadan doğrudan veri okuma işlevini tanıtmamak için hiçbir neden göremiyorum, ala

 double a= 123.2564 ; ulong b;

b=Byte(a, TYPE_ULONG );
Print (b);
//--- результат 4638373815016729713

Bu davayı bir fonksiyona dikin, her şey güvende olacak.

 
Urain :

O zaman, tür dökümü olmadan doğrudan veri okuma işlevini tanıtmamak için hiçbir neden göremiyorum, ala

Bu davayı bir fonksiyona dikin, her şey güvende olacak.

struct __double { çift v; }

struct __long { uzun v; }

__çift a; __uzunb;

av=123.456;

b=a;

bv= 4638373815016729713;

zor değil.

+ en iyi bağlantılara ek olarak okuyun https://www.mql5.com/ru/articles/364


ve bir türden diğerine aktarım - onu makrolar veya işlevlerle kaydedebilirsiniz.

ama gerçekten o kadar zor değil.

Избавляемся от балласта самодельных DLL
Избавляемся от балласта самодельных DLL
  • 2012.01.31
  • o_O
  • www.mql5.com
Если MQL5-программисту недостаточно функционала языка, он вынужден обращаться к дополнительным инструментам. Для этого приходится использовать другой язык программирования и создавать промежуточную DLL. В MQL5 имеется механизм представления разных типов данных с помощью структур и передачи их в API, но к сожалению, MQL5 не отвечает нам на вопрос о том, как вытянуть данные из принятого указателя. В данной статье мы поставим точку в этом вопросе и покажем простые механизмы обмена сложными типами данных и работе с ними.