Hatalar, hatalar, sorular - sayfa 1005

 
ns_k :

Tünaydın!

Ve ne, gösterge arabellekleri , gösterge başlatmaları arasındaki değerleri kaydeder mi, yoksa terminalimde bazı aksaklıklar mı gözlemleniyor?

Göstergeyi oluşturdum, sonra hesaplama algoritmasını yorumladım, derlemeye tıkladım - tüm değerler grafikte kaldı. Peki, sanırım hindiyi grafikte tekrar atmam gerekiyor ki tampon değerleri güncel olsun diye, eksik hesaplama döngüsü ile atıyorum ve yine aynı değerler. Ondan kurtulmak için terminali yeniden başlatmak zorunda kaldım.

Lütfen yorum yap.

Teşekkür ederim!

Hala hesaplanmış değerlerin arabelleklerde kaldığı koşullar var gibi görünüyor. Bu koşullar tam olarak nedir, yakalamadım. Terminali yeniden başlattıktan sonra sorun ortadan kalktı. Aslında, bu nedenle, hizmete bir başvuru yazmazdım.

Genel olarak, belki bu bir hata değil, bir özelliktir?

Teşekkür ederim!

 
ns_k :

Hala hesaplanmış değerlerin arabelleklerde kaldığı koşullar var gibi görünüyor. Bu koşullar tam olarak nedir, yakalamadım. Terminali yeniden başlattıktan sonra sorun ortadan kalktı. Aslında, bu nedenle, hizmete bir başvuru yazmazdım.

Genel olarak, belki bu bir hata değil, bir özelliktir?

Teşekkür ederim!

Doldurmadan önce veya başlatma sırasında dizinin değerlerini sıfırlamanız yeterlidir:

 ArrayInitialize (buffer_data, EMPTY_VALUE );
 
ns_k :

Hala hesaplanmış değerlerin arabelleklerde kaldığı koşullar var gibi görünüyor. Bu koşullar tam olarak nedir, yakalamadım. Terminali yeniden başlattıktan sonra sorun ortadan kalktı. Aslında, bu nedenle, hizmete bir başvuru yazmazdım.

Genel olarak, belki bu bir hata değil, bir özelliktir?

Teşekkür ederim!

değerler sıfırlanmalıdır.
 
tol64 :

Doldurmadan önce veya başlatma sırasında dizinin değerlerini sıfırlamanız yeterlidir:

Teşekkürler!!!
 

Sağ düğmeyle çağrılan içerik menüsünün özel göstergelere sahip ayrı bir öğeye sahip olması güzel olurdu.

Teşekkür ederim!

Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
 

Bir soru daha lütfen :)

Yorumları grafik penceresinde değil de gösterge penceresinde nasıl görüntüleyebilirim?

Teşekkür ederim!

 
ns_k :

Yorumları grafik penceresinde değil de gösterge penceresinde nasıl görüntüleyebilirim?

Bu davranış amaçlanmamıştır. Gerçekten ihtiyacınız varsa nesneleri kullanın.
 

Tünaydın!

Mümkünse , gösterge özellikleri penceresini modal olmayan hale getirmek daha iyidir .

Teşekkür ederim!

 
ns_k :

Tünaydın!

Mümkünse , gösterge özellikleri penceresini modal olmayan hale getirmek daha iyidir .

Teşekkür ederim!

Ve Uygula düğmesini ekleyin. Yani değeri değiştirdik, Kabul Et butonuna bastık ve pencereyi kapatmadan değişiklikleri görüyoruz. Çok daha uygun olurdu.

Eh, zaten yüz bininci kez - özellikler penceresini yeniden boyutlandırma yeteneği.

PS Servis Masasına Yazın.

 

Nerede aptal olduğumu anlamıyorum, tabiri caizse.

 int OnCalculate ( const int rates_total,       // size of input time series
                 const int prev_calculated,   // bars handled in previous call
                 const datetime & time[],     // Time
                 const double & open[],       // Open
                 const double & high[],       // High
                 const double & low[],         // Low
                 const double & close[],       // Close
                 const long & tick_volume[],   // Tick Volume
                 const long & volume[],       // Real Volume
                 const int & spread[]         // Spread
                 )

  {
   
   
   
   doDrawIndicator(gSymbols[ 0 ],rates_total,g1ThermB);


//Comment(rates_total);
   return (rates_total);
  }
//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction &trans,
                         const MqlTradeRequest &request,
                         const MqlTradeResult &result)
  {
//---

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int doDrawIndicator( string xSymbol, int xRatesTotal, double &xBuffer[]) //,double &xPrice[],double &xBuffer[])
  {
   double l1Close[]; // , l2Close[];
   datetime lTime[];
   datetime lEnd,lStart;
   int copied;
   ArrayInitialize (xBuffer, 0 );
   lEnd= TimeCurrent ();
   lStart=( TimeCurrent ()/ 86400 )* 86400 + 3600 ;

   copied= CopyTime (xSymbol, Period (),lStart,lEnd,lTime);
   if (copied==- 1 ){ Print ( "Can't copy time" , __FUNCSIG__ ); return ( 0 );}
   copied= CopyClose (xSymbol, Period (),lStart,lEnd,l1Close);
   if (copied==- 1 ){ Print ( "Ждите...1" ); return ( 0 );}

   sThermometer lT;
   // Print("rates_total=",rates_total);
   //Comment(xSymbol);
   Comment (copied);
   g1RM= new CRangeManager( 1 , 0.2 , 20 ,xSymbol);
 
   for ( int i= 0 ;i<copied;i++)
     {
      lT=g1RM.getStateByValue(l1Close[copied-i- 1 ]);
       if (gThermRange==Up && lT.cTemperature.State< 7 || gThermRange==Down && lT.cTemperature.State> 6 )
        {
         xBuffer[xRatesTotal-i- 1 ]=lT.cTemperature.Temperature;
        }
       else
        {
         xBuffer[xRatesTotal-i- 1 ]= 0 ;
        }
     }

     
   delete g1RM;
   return ( 1 );

  }

Gösterge güncellenmedi, yani. 739'u hep sol köşede görüyorum, diyelim ki (anladığınız gibi bir dakikalığına bıraktım). Derlemeye tıkladığım anda türkiye güncelleniyor. Koddaki hata nerede?

Teşekkür ederim!