Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 722

 
Zver4991 :
Peki ya kod kuralları?

Tabii ki ve sadece kod değil!

https://forum.mql4.com/en/38943

 
neden kilitleniyor anlamıyorum
 //+------------------------------------------------------------------+
//|                     Машка за больший период без перерисовки .mq4 |
//|                                                             Zver |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Zver"
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Aqua
extern int Otobrajat_v_istorii = 1000 ;
extern int ma_shift= 0 ;
extern int ma_method = 0 ;
extern int applied_price= 0 ;


double buf_ma[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
     SetIndexBuffer ( 0 ,buf_ma);         // Назначение массива буферу
   SetIndexStyle( 0 , DRAW_LINE ,EMPTY, 2 ); // Стиль линии
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---

   int i, // Индекс бара
   Counted_bars;
   Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i= Bars -Counted_bars- 1 ;           // Индекс первого непосчитанного
   if (i>Otobrajat_v_istorii- 1 ) // Если много баров то ..
      i=Otobrajat_v_istorii- 1 ;                   // ..рассчитывать заданное колич.
     
   while (i>= 1 ) // Цикл по непосчитанным барам
     {

    
     buf_ma[i]= iMA ( Symbol (), Period (), 5 ,ma_shift,ma_method,applied_price,i);
  
     
     }
   
   
   
   
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+

 
Kod seçeneği
 int Err;   //Номер ошибки
int FunErr( int Err) // Функция обработки ошибок
 bir uyarı verir:
 'Err' bildirimi, 51. satırdaki genel bildirimi gizler
 Kodun başka bir versiyonu
 int Err;   //Номер ошибки
int FunErr(Err) // Функция обработки ошибок
 hata veriyor:
 'Err' - tipsiz bildirim
 Buraya nasıl doğru yazılır?
 
Zver4991 :
neden kilitleniyor anlamıyorum
int i // Çubuk dizini
while
(i>= 1 ) // Sayısız çubuklar arasında dolaş
i>= 1 her zaman.
 
Shurkin :
int i // Çubuk dizini
while
(i>= 1 ) // Sayısız çubuklar arasında dolaş
i>= 1 her zaman.

kesinlikle unutmuşum...teşekkürler

ben--;

 
//--------------------------------------------------------------------
int Count= 0 ;                                    
//--------------------------------------------------------------------
void OnTick ()   
  {
   Count++;
   Comment ( "Новый тик " , Count);
   //if(Count>2) ExpertRemove();
  }
//--------------------------------------------------------------------
void OnDeinit ( const int reason)
  {
   Comment ( "Сработала ф-ия deinit() при выгрузке" );
  }
//--------------------------------------------------------------------

if(Count>2) ExpertRemove() işlevini kaldırırsanız ve bu işlev tarafından çıkış gerçekleşirse , Expert Advisor'ı boşalttıktan sonra, "Deinit() işlevi boşaltma sırasında çalıştı" yorumu grafikte görüntülenmeye devam eder.

Böyle bir Uzman Danışman bağlam menüsü aracılığıyla grafikten kaldırılırsa, OnDeinit'ten Comment() neden grafikte kalmıyor bilen var mı?

 

Shurkin :

 Kod seçeneği
 int Err;   //Номер ошибки
int FunErr( int Err) // Функция обработки ошибок
 bir uyarı verir:
 'Err' bildirimi, 51. satırdaki genel bildirimi gizler
 Kodun başka bir versiyonu
 int Err;   //Номер ошибки
int FunErr(Err) // Функция обработки ошибок
 hata veriyor:
 'Err' - tipsiz bildirim
 Buraya nasıl doğru yazılır?

Bu, genel olarak en üst düzeyde savunulan bir dil tasarımı kusurudur. İki gerçek:

1. MQL4++ dili, iç içe kapsamlarda değişken adlarının gizlenmesine izin verir.

2. İç içe kapsamlarda değişken adlarını gizlerken, kapatılamayan hatasız bir uyarı verilir.

Soruyu yanıtlayarak, en az iki seçeneğin mümkün olduğunu söyleyebilirim:

1. Ad gizlemeyi kullanın, ancak uyarıların varlığına katlanın (kötü, olası bir hatayı tespit etmeye ve ortadan kaldırmaya yardımcı olabilecek gerçekten önemli bir diğer uyarıyı ad gizlemeyle ilgili birçok uyarı arasında fark edemezsiniz).

2. Dilin böyle bir seçeneği olmasına rağmen isim gizlemeyi kullanmayın. Örneğin, genel değişkeni Err yerine gErr olarak adlandırın.

Ad gizlemeyi devre dışı bırakmak yerine kalıcı bir uyarı getirildi. Zevk almak.

 

Rusça'da: doğru seçenek ilkidir, uyarıları dikkate almayın.

 
tara :

Rusça'da: doğru seçenek ilkidir, uyarıları dikkate almayın.

Teşekkür ederim.
 
İnclude dosyalarındaki fonksiyonların açıklamalarını bir yerde görmek mümkün müdür?