MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 449

 
Juer :

Bu yapıdaki alanın sıra sayısını bilerek, tür yapısındaki bir değişkenin alanının değerini nasıl elde edebilirsiniz.

1 numaralı alanın (yani çift) değerinin değiştiğini biliyorum. Bu alanı seri numarasına göre nasıl bulabilirim?

Veya dize adını bilerek bir yapı alanını nasıl alabileceğinizi söyleyin?

 struct test
  {
   int num;
   double dval;
   string sval;			
  };

işte anlamım var

stringfield="dval";

Yapının tam olarak bu alanını sorgulamak istiyorum.

 
Juer :

Veya dize adını bilerek bir yapı alanını nasıl alabileceğinizi söyleyin?

işte anlamım var

stringfield="dval";

Yapının tam olarak bu alanını sorgulamak istiyorum.

Yapılar ve, sınıflar ve arayüzler

 

Teşekkür ederim ama sorumun cevabının nerede olduğunu söyleyebilir misin?

 
Juer :

Teşekkür ederim ama sorumun cevabının nerede olduğunu söyleyebilir misin?

 struct trade_settings
  {
   double take;         // значения цены фиксации прибыли
   double stop;         // значение цены защитного стопа
   uchar   slippage;     // значение допустимого проскальзывания
  };
//--- создали и проинициализировали переменную типа trade_settings
trade_settings my_set={ 0.0 , 0.0 , 5 };  
if (input_TP> 0 ) my_set.take=input_TP;

Sorun nedir, yapılardan değer atama ve alma örnekleri var.

 struct test
  {
   int num;
   double dval;
   string sval;                 
  };
test Test;

//...

string field= DoubleToString (Test.dval);

Tek yapmanız gereken double'ı string'e dönüştürmek . DoubleToString

 
Konstantin Nikitin :

Sorun nedir, yapılardan değer atama ve alma örnekleri var.

Tek yapmanız gereken double'ı string'e dönüştürmek . DoubleToString

Ne yazdın ve sorunumu nasıl çözüyor? belirsiz.

Ve bu sadece bir örnekti. Yapımın farklı türlerde birkaç alanı var. Ve alan türünü bilmiyorum, sadece alan adını biliyorum.

Bir yapı dizesi alan adıma sahibim. Bu adı bilerek, yapının ilgili alanını talep etmek istiyorum, yani. bu alandaki değeri alın.

 

şımarık, bilirsiniz, Java'da)

ihtiyacın var
https://www.mql5.com/ru/code/13663

JSON Serialization and Deserialization (native MQL)
JSON Serialization and Deserialization (native MQL)
  • oylar: 34
  • 2015.08.18
  • o_o
  • www.mql5.com
Сериализация и десериализация JSON-протокола. Портированный код со скоростной библиотеки С++. Практичный пример: авторизация на сайте и парсинг ответа Благодарности принимаются в виде примеров, кто как применяет MQL для работы с веб-ресурсами. Поделитесь своим опытом работы с JSON в MQL. В протокол добавлены функции Escape / Unescape...
 
Juer :

Ne yazdın ve sorunumu nasıl çözüyor? belirsiz.

Ve bu sadece bir örnekti. Yapımın farklı türlerde birkaç alanı var. Ve alan türünü bilmiyorum, sadece alan adını biliyorum.

Bir yapı dizesi alan adıma sahibim. Bu adı bilerek, yapının ilgili alanını talep etmek istiyorum, yani. bu alandaki değeri alın.

Buraya bak, belki ihtiyacın olan şey bu?

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Bir piremen türünü programlı olarak belirlemek mümkün müdür?

Anatoli Kazharski , 2015.06.17 17:07

 //+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
   double d_value = 0.0 ;
   int     i_value = 0 ;
   Print ( "d_value: type=" ,GetTypeName(d_value));
   Print ( "i_value: type=" ,GetTypeName(i_value));
  }
//+------------------------------------------------------------------+
//| Возвращает в строковом виде тип                                  |
//+------------------------------------------------------------------+
template < typename T>
string GetTypeName( const T &t)
  {
   return ( typename (T));
  }

Yani, bir değişkenin değerini okumadan önce onun tipini alırız ve sonra değeri karşılık gelen tipte bir değişkene okuruz.
 

Sormak istiyorum?

https://book.mql4.com/ru/build/conditions

İşlev, ticaret kriterlerini hesaplar. İşlev aşağıdaki değerleri döndürür:

10 - bir Al piyasası emri açmak için bir ticaret kriterini tetikledi;
20 - bir Satış piyasası emri açmak için alım satım kriteri tetiklendi;
11 - Al piyasa emrini kapatmak için bir ticaret kriterini tetikledi;
21 - bir Sell piyasa emrini kapatmak için bir ticaret kriteri tetiklendi;

   if (M_0>S_0 && -M_0>Opn && St_M_0>St_S_0 && St_S_0<St_min)
       return ( 10 );                       // Открытие Buy    
   if (M_0<S_0 &&  M_0>Opn && St_M_0<St_S_0 && St_S_0>St_max)
       return ( 20 );                       // Открытие Sell 
   if (M_0<S_0 &&  M_0>Cls && St_M_0<St_S_0 && St_S_0>St_max)
       return ( 11 );                       // Закрытие Buy    
   if (M_0>S_0 && -M_0>Cls && St_M_0>St_S_0 && St_S_0<St_min)
       return ( 21 );                       // Закрытие Sell  
 return 10 20 11 21 возвращаемые значения

program neden yapıldığı dönüş değerlerine bu kadar sabitlenmiş?

 
Alexey Viktorov :

Buraya bak, belki ihtiyacın olan şey bu?


Yani, bir değişkenin değerini okumadan önce onun tipini alırız ve sonra değeri karşılık gelen tipte bir değişkene okuruz.

Ve aynı türden birkaç alanım var. Yardım etmesi pek olası değil.

Bunu buldum https://www.mql5.com/ru/code/16282

Alanın adını değil, adresini (ofset) bayt olarak iletmeye karar verdi.

TypeToBytes
TypeToBytes
  • oylar: 22
  • 2016.09.13
  • fxsaber
  • www.mql5.com
Эта кроссплатформенная библиотека позволяет удобно осуществлять побайтовую работу со структурами, массивами и стандартными типами данных. Возможности Побайтовое сравнение (== и !=) между собой структур, массивов и стандартных типов данных (в MQL по умолчанию отсутствуют операторы сравнения структур) в любом сочетании. Определение байтового...
 
Seric29 :

Sormak istiyorum?

https://book.mql4.com/ru/build/conditions

İşlev, ticaret kriterlerini hesaplar. İşlev aşağıdaki değerleri döndürür:

10 - bir Al piyasası emri açmak için bir ticaret kriterini tetikledi;
20 - bir Satış piyasası emri açmak için alım satım kriteri tetiklendi;
11 - Al piyasa emrini kapatmak için bir ticaret kriterini tetikledi;
21 - bir Sell piyasa emrini kapatmak için bir ticaret kriteri tetiklendi;

program neden yapıldığı dönüş değerlerine bu kadar sabitlenmiş?

Döngü birçok kez tekrarlanır. İşte dallanma. İlk koşul tetiklendikten sonra, return ifadesi yürütülür ve program yürütmesi sonlandırılır. Eğer koşul yanlış çıkarsa, ikinci koşul kontrol edilir ve bu şekilde devam eder... 4 koşulun tümü yanlışsa, bir sonraki koşul yürütülür.