Bir kare veya dikdörtgen çizme. gerçekten yardıma ihtiyacım var...

 

Bir döviz çiftinde fiyat değiştiğinde, 15 saniye basılı tutulduğunda, kaldırılıp bir sonraki fiyat değişikliğinde göründüğünde grafikte kare veya dikdörtgen nasıl çizilir?

Lütfen yardım edin uzun zamandır uğraşıyorum. Sadece çizin - kolay, ancak fiyat değiştiğinde - hiçbir şey =(.

 

Üzgünüm, kodu kendim yazıp hatalarını ayıklamak için zamanım yok ama sanırım TOR'umu halledebilirsin. Bunun gibi bir gösterge yapmanız gerekir:

1) Statik bir değişken bildirmek static double PrevPrice=0.0;

2) Başlangıçta inşaatı yazıyoruz

if(ÖncekiFiyat!=Teklif)

{

SilBox(...); /* dikdörtgeni kaldır (hala oradaysa) */

DrawBox(...); /* bir dikdörtgen çiz */

Uyku(15000); /* 15 saniye bekle */

SilBox(...); /* dikdörtgeni kaldır */

ÖncekiFiyat=Teklif; /* yeni çek için yeni fiyatı hatırla */

}

 

SilBox(...);

DrawBox(...);



Yardımda bu tür işlevleri bile bulamadım, ancak cevap için teşekkürler.

 

Uyku işlevi göstergelerde çalışmıyor.

Bir Uzman Danışmana veya sonsuz döngüde çalışan bir komut dosyasına ihtiyacınız var.

 

Bunu ikinci fonksiyon olan Expert Advisor'da yapmam gerekiyor. Böyle bir danışman var:


 static double mSaveAsk ;
 
int init ()
{
   mSaveAsk = Ask ;
}
 
int start ()
{
   if ( Ask != mSaveAsk )
   {
       PlaySound ( " alert.wav " ) ;
   }
   mSaveAsk = Ask ;
}
 
Chaos666 писал (а) >>

Bunu ikinci fonksiyon olan Expert Advisor'da yapmam gerekiyor. Böyle bir danışman var:

MQL4 kodunu eklemek için lütfen düzenleyicide kaynak kodları eklemek için şu komutu kullanın:

 
İyi.
 
Chaos666 писал (а) >>

SilBox(...);

DrawBox(...);

Yardımda bu tür işlevleri bile bulamadım, ancak cevap için teşekkürler.

Ve onu bulamayacaksın. Bu işlevleri kendiniz yapmanız gerekecek.

 
Ne demek istediğini anladım. Maalesef bu burçta çok kötüyüm, yeni öğreniyorum. Bazı örneklere ihtiyacım var, bu yüzden yardım istedim ....
 
#property copyright " Copyright © 2008, D500 "
#property link        " http://www.metaquotes.net "
extern int Timer = 15 ;
extern color Coler = OrangeRed ;
 
double PrevPrice ;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init ()
   {
//----
 
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit ()
   {
//----
   
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start ()
   {
//----
   if ( PrevPrice != Bid )
 
{
 
if ( ObjectFind ( " QUADRO " ) == 0 )    DeleteBox () ; /* удаляем прямоугольник (на случай если он все еще есть) */
 
DrawBox () ; /* рисуем прямоугольник */
 
Sleep ( Timer * 1000 ) ; /* ждем 15 секунд */
 
PrevPrice = Bid ; /* запоминаем новую цену для новой проверки */
 
}
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
void DrawBox ()
{
     ObjectCreate ( " QUADRO " , OBJ_RECTANGLE , 0 , Time [ 5 ] , Close [ 0 ] - 10 * Point , Time [ 0 ] , Close [ 0 ] + 10 * Point ) ;
     ObjectSet ( " QUADRO " , 6 , Coler ) ;
     return ;
}
//-------------------------------------------------------------------+
void DeleteBox ()
{
       ObjectDelete ( " QUADRO " ) ;
       return ;
}
Bu danışman sizin için bir örnektir. Deney.
 
Çok teşekkürler.