Hatalar, hatalar, sorular - sayfa 980

 
Renat :

Şüphesiz.

Ve bu kadar basit şeyleri anlamaman çok kötü.

Farkı bana açıklayabilir misin? Samimi soru, trolleme yok.
 
voix_kas :
Farkı bana açıklayabilir misin? Samimi soru, trolleme yok.

Kendiniz deneyin, öğrenmenin en iyi yolu bu.

İlk soruyu, bayrağın başlangıçta doğru olması ve kodun kullanım amacının "yalnızca 1 kez çalış ve atamayı bir milyon kez atla" olması koşuluyla tamamlarsanız, tavsiye farklı olacaktır. Ancak asıl soru bu tür açıklamalar içermiyordu.

 

Bazı araçlar , bir araç için teminat tutarının hesaplanmasına ilişkin yöntemi tanımlamaz. MQ sunucusu. Örneğin, GBOT bölümündeki araçlarda görülebilir. Niye ya?

İşte test edebileceğiniz kod:

 //+------------------------------------------------------------------+
//| СКРИПТ                                                           |
//+------------------------------------------------------------------+
void OnStart ()
  {
   Print (GetStringTradeCalcMode( SymbolInfoInteger ( _Symbol , SYMBOL_TRADE_CALC_MODE )));
   //---
   if ( GetLastError ()> 0 )
     Print ( "GetLastError(): " , GetLastError ());
  }
//+------------------------------------------------------------------+
//| Возвращает строку о способе вычисления                           |
//| величины залоговых средств по инструменту                        |
//+------------------------------------------------------------------+
string GetStringTradeCalcMode( long mode)
  {
   string str= "?" ;
//---
   switch (( int )mode)
     {
       case SYMBOL_CALC_MODE_FOREX        :
         str= "Forex mode" ;                 break ;
       case SYMBOL_CALC_MODE_FUTURES      :
         str= "Futures mode" ;               break ;
       case SYMBOL_CALC_MODE_CFD          :
         str= "CFD mode" ;                   break ;
       case SYMBOL_CALC_MODE_CFDINDEX     :
         str= "CFD index mode" ;             break ;
       case SYMBOL_CALC_MODE_CFDLEVERAGE :
         str= "CFD Leverage mode" ;           break ;
     }
//---
   return (str);
  }
 

MQ'ya soru. Anlaşmaların/siparişlerin, HistorySelect'in yürütülmesinden sonra tarihsel oluşum sırasına göre sıralanması garanti ediliyor mu?

Veya kronolojik sırayı garanti etmek için şunlara ihtiyacınız vardır:

1. HistorySelect işlevi tarafından seçilen tüm işlemleri/siparişleri, sipariş/işlem numarası ve kayıt tarihi dahil olmak üzere geçici bir diziye koymak. Sadece sayı yeterli mi?

2. Uygun dizi sıralama.

3. Tarihsel kronoloji sırasına göre müteakip işleme.

 

Merhaba.

Söyleyin lütfen, MQL5'te bir değişkene referans döndürmek mümkün mü?

Yani, şöyle bir şey:

 class Array{

int data[];

Array( int n){

         ArrayResize (data,n);

         ArrayInitialize (data, 0 ); 

} 

int & operator []( const int index){

         return data[index];

} 

} ;
В данном случае компилятор сообщает, что ссылка не может быть использована.
 
voix_kas :

MQ'ya soru. Anlaşmaların/siparişlerin, HistorySelect'in yürütülmesinden sonra tarihsel oluşum sırasına göre sıralanması garanti ediliyor mu?

Veya kronolojik sırayı garanti etmek için şunlara ihtiyacınız vardır:

1. HistorySelect işlevi tarafından seçilen tüm işlemleri/siparişleri, sipariş/işlem numarası ve kayıt tarihi dahil olmak üzere geçici bir diziye koymak. Sadece sayı yeterli mi?

2. Uygun dizi sıralama.

3. Tarihsel kronoloji sırasına göre müteakip işleme.

Hiçbir işlem/sipariş sıralaması garanti edilmez.

Her şeyi belirttiğiniz noktalara göre yapın

 
stringo :

Hiçbir işlem/sipariş sıralaması garanti edilmez.

Her şeyi belirttiğiniz noktalara göre yapın

Teşekkür ederim. Ayrıca açıklayıcı bir nüansı anlamak istiyorum. Muhtemelen, bazıları için açık görünecek, ancak yine, bu belgelerde açıkça belirtilmemiştir, bu yüzden orijinal kaynaktan (MQ temsilcisi) bir cevap duymak istiyorum.

İşlemlerin geçmişini tarihsel kronoloji sırasına göre sıralarken hangi (bir) değişkene güvenmek daha doğrudur: DEAL_TIME/ DEAL_TIME_MSC veya bilet?

Şimdiye kadar bilete göre sıralamaya eğilimliyim, çünkü Bilet numarasının sunucudaki veritabanında otomatik bir artış olduğunu varsayıyorum. Ve bu sırayı kırmanın bir yolu yoktur, örneğin, komisyoncu, bilet değeri sunucudaki (hesapta bile değil) son işlemden daha düşük olan yeni bir işlem ekleyerek geçmişte değişiklik yapmak isterse. Onlar. geçen yıl bile yeni bir anlaşmanın tarihi (manuel olarak) olabilir, ancak bilet, sunucudaki son anlaşmadan otomatik artış değeriyle oluşturulacaktır.

Varsayımlarımın doğru olup olmadığını söyler misiniz? İşlemlerin yürütülmesine / kaydedilmesine ilişkin gerçek bir tarihsel kronoloji oluşturmak için işlem biletini en güvenilir referans noktası olarak kullanmak mümkün müdür?

 

voix_kas :

İşlemlerin yürütülmesine / kaydedilmesine ilişkin gerçek bir tarihsel kronoloji oluşturmak için işlem biletini en güvenilir referans noktası olarak kullanmak mümkün müdür?

hayır.
 
sergeev :
hayır.

Cevabını açıklayabilir misin? Sebepler, alternatifler, kişisel deneyiminiz/görüşünüz.

not

Yine de geliştiriciden (MQ) ayrıntılı bir yanıt duymayı çok isterim.

 
voix_kas :

Cevabını açıklayabilir misin? Sebepler, alternatifler, kişisel deneyiminiz/görüşünüz.

Ama bir kronoloji istiyorsanız, o zaman zamana ihtiyacınız olduğunu anlamıyor musunuz?

Biletin bununla ne ilgisi var, süresi değişebilir.