Hatalar, hatalar, sorular - sayfa 1549

 
comp :

Anladım teşekkürler. Ne yazık ki, bu çözüm yalnızca bir Expert Advisor'da (hesaplamayı iptal etmeniz gereken) çalışacaktır. Bu göstergede çalışmayacaktır, çünkü bir çizelgedeki bir gösterge üzerinde bir gösterge çağırmak paralel bir kuyruk oluşturmaz, ancak her şey aynı olay kuyruğunda biter, hatta belirli bir çizelge için değil, belirli bir sembolün TÜM çizelgeleri için.

Göstergeyi bir EX5 kaynağı değil, bir MQ5 kaynağı biçiminde nasıl zorlayabilirim?

Mümkün değil. Ayrıca, kodun kendisini (program metni) başka bir programdan düzenlemeye çalışmamalısınız.
 

Çocuklar! Sorun ne olabilir? sipariş vermek

m_trade.SellLimit(1,Ask+40,_Symbol,0,0, ORDER_TIME_GTC ,0,"")

Sergiliyor. Ve .. aynı hızla kaldırılır. Danışmanda sadece bir (zaten) satır var! Bu! Yani siparişi silen danışmanım değil. Sorun nedir?

 
Karputov Vladimir :
Mümkün değil. Ayrıca, kodun kendisini (program metni) başka bir programdan düzenlemeye çalışmamalısınız.

EX5'i kodda dizi olarak yanımda taşıyabilirim. Korumalı alanda bir EX5 dosyası oluşturun ve bunu bir kaynak olarak ekleyin.

Neden böyle hemoroidler, ne zaman MQ5 kaynağını hemen bağlayabilseydiniz her şeyi aynı yapmak daha mantıklı olurdu.

 
comp :

EX5'i kodda dizi olarak yanımda taşıyabilirim. Korumalı alanda bir EX5 dosyası oluşturun ve bunu bir kaynak olarak ekleyin.

Neden böyle hemoroidler, ne zaman MQ5 kaynağını hemen bağlayabilseydiniz her şeyi aynı yapmak daha mantıklı olurdu.

Kendi isteklerinizi uygulamanızı istemek yerine, mevcut kuralları kabul edin.
 
Karputov Vladimir :
Kendi isteklerinizi uygulamanızı istemek yerine, mevcut kuralları kabul edin.
Gereksinimleri nerede gördünüz?
 

comp :

bir MQ5 kaynağına hemen bağlanmak mümkün olsaydı.

ve akademik ilginin yanı sıra görev nedir?
 
o_O :
ve akademik ilginin yanı sıra görev nedir?

Aslında, geliştiriciler bunu yasakladı

kompozisyon :

EX5'i kodda dizi olarak yanımda taşıyabilirim. Korumalı alanda bir EX5 dosyası oluşturun ve bunu bir kaynak olarak ekleyin.

Ama elbette mesele bu değil. Evrensel bir IsChanged() yapmak ve onu #include ile bağlamak istiyorum.

Paralellik göstergesi olan bir EX5 dosyası taşımak istemiyorum. Eh, içine ne tür bir pislik doldurduklarını asla bilemezsiniz ... Ve eğer MQ5 açık kaynak ise, başka bir tavır.

 
Göstergenin yürütülmesi sırasında günlükte "gösterge çok yavaş" hiç görünmediyse, göstergenin donmadığı söylenebilir mi?
 
comp :
Göstergenin yürütülmesi sırasında günlükte "gösterge çok yavaş" hiç görünmediyse, göstergenin donmadığı söylenebilir mi?

Hiç kimse hiçbir yerde %100 garanti vermez :) .Gösterge en azından mesaj kuyruğuna bir şey koyarsa, hızlı bir piyasada test etmek mantıklıdır.

Katma. Gösterge, mesaj kuyruğuna en azından bir şey yerleştirirse, hızlı piyasayı kontrol etmenin yanı sıra, terminalde birkaç gösterge çalıştırmak mantıklıdır.

 
Karputov Vladimir :

Hiç kimse hiçbir yerde %100 garanti vermez :) .Gösterge en azından mesaj kuyruğuna bir şey koyarsa, hızlı bir piyasada test etmek mantıklıdır.

Katma. Gösterge, mesaj kuyruğuna en azından bir şey yerleştirirse, hızlı piyasayı kontrol etmenin yanı sıra, terminalde birkaç gösterge çalıştırmak mantıklıdır.

Hızlı bir piyasa, FullOnCalculate() çağrılarak da taklit edilebilir.

 #define TIMESERIES(X)                                                  \
   :: ArraySetAsSeries (X, TRUE );                                        \
   Size = :: MathMin (Copy ##X(::Symbol(), :: Period (), 0 , bars, X), Size);  

int FullOnCalculate( const int Prev_Calculated = 0 )
{
   int Spread[];
   long RealVolume[];
  
   int Size = INT_MAX ;
  
   #ifdef __MQL4__
     const int bars = :: Bars ;
   #endif

   #ifdef __MQL5__
     const int bars = :: Bars (:: Symbol (), :: Period ());
   #endif

   TIMESERIES(Spread)
  TIMESERIES(RealVolume)
  
   #ifdef __MQL4__
     return (:: OnCalculate (Size, Prev_Calculated, Time , Open , High , Low , Close , RealVolume, Volume , Spread));
   #endif
  
   #ifdef __MQL5__
     datetime Time [];
     double Open [];
     double High [];
     double Low [];
     double Close [];
     long TickVolume[];

    TIMESERIES( Time )
    TIMESERIES( Open )
    TIMESERIES( High )
    TIMESERIES( Low )
    TIMESERIES( Close )
    TIMESERIES(TickVolume)
  
     return (:: OnCalculate (Size, Prev_Calculated, Time , Open , High , Low , Close , RealVolume, TickVolume, Spread));
   #endif
}

olay modeli - benzer şekilde. Soru başka bir şeydi.

kompozisyon :
Göstergenin yürütülmesi sırasında günlükte "gösterge çok yavaş" hiç görünmüyorsa, göstergenin donmadığı iddia edilebilir mi?

"Rus dili" disiplininin öğretimi açısından geçmiş zaman.