Bir kare veya dikdörtgen çizme. gerçekten yardıma ihtiyacım var...
Ü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.
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 =(.