Ü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 ; }
#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.
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
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 =(.