Tekrar teşekkürler, şimdi çizgi bir çizgi gibi, görmek güzel. Bu sadece ObjectDelete (0, isim); gereklidir, aksi takdirde çizilen çizgi yeniden çizilmez. Ayrıca mql4'te unuttum.
Ne saçmalık. Çizilen grafik nesnesi sessizce hareket eder. Her nesne için yardımda bir örnek verilmiştir (yatay çizgi OBJ_HLINE için).
Ayrıca önceden çizilmiş bir nesnenin herhangi bir özelliğini de değiştirebilirsiniz: renk, stil, koku ...
Elden, şüphesiz. EA, DeMark noktalarına dayalı olarak trend çizgileri çizer. ObjectDelete(0, isim); fonksiyonu ile noktalar değiştirilirken eski trend çizgisi kaldırılır ve yenisi çizilir. Bu özellik olmadan, ilk çizilen çizgiler artık yeniden çizilmez. Bu saçmalık değil, bir gerçek.
Elden, şüphesiz. EA, DeMark noktalarına dayalı trend çizgileri çizer. ObjectDelete(0, isim); fonksiyonu ile noktalar değiştirilirken eski trend çizgisi kaldırılır ve yenisi çizilir. Bu özellik olmadan, ilk çizilen çizgiler artık yeniden çizilmez. Bu saçmalık değil, bir gerçek.
Evet, sonunda yardımı okuyun! Ve örneği çalıştırın.
Evet, sonunda yardımı okuyun! Ve örneği çalıştırın.
Yardımı okudum. Sadece asılsız öfkelisin ve pratiğe dayalı yazıyorum. Başka bir şey de, ObjectDelet() yerine ChartRedraw() kullanmam , tartışmıyorum ve kontrol etmiyorum. Örneğe atıfta bulunarak işaret edilmesi gereken tek şey budur.
Yardımı okudum. Sadece asılsız öfkelisin ve pratik temelinde yazıyorum. Başka bir şey de, ObjectDelet() yerine ChartRedraw() kullanmam , tartışmıyorum ve kontrol etmiyorum. Bir örneğe atıfta bulunarak işaret edilmesi gereken tek şey budur.
Bu başlıkta genellikle tavsiye isterler ve tavsiye verdiklerinde dinlerler. En azından yardımı okuyun ve örnekleri uygulayın. Lütfen, başkalarını dinlemek istemiyorsanız, hiçbir şey sormamak daha iyidir.
" Yatay çizgi " grafik nesnesinin herhangi bir özelliğini anında nasıl değiştirebileceğinize bir örnek - bunun için nesneyi silmeniz gerekmez, bunun için yalnızca özelliği değiştirmeniz gerekir.
kod:
//+------------------------------------------------------------------+//| OBJ_HLINE change properties on the fly.mq5 |//| Copyright 2021, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2021, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"//--- input parametersinputstring InpName= "HLine" ; // Line name//--- an array for storing colors contains 14 elementscolor colors[]=
{
clrRed , clrBlue , clrGreen , clrChocolate , clrMagenta , clrDodgerBlue , clrGoldenrod ,
clrIndigo , clrLightBlue , clrAliceBlue , clrMoccasin , clrWhiteSmoke , clrCyan , clrMediumPurple
};
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit ()
{
//--- create timerEventSetTimer ( 1 );
//---return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit ( constint reason)
{
//--- destroy timerEventKillTimer ();
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick ()
{
//---
}
//+------------------------------------------------------------------+//| Timer function |//+------------------------------------------------------------------+voidOnTimer ()
{
//--- the number of colorsint size= ArraySize (colors);
//--- get a random valueint number= MathRand ();
//--- get an index in the col[] array as a remainder of the integer devisionint i=number%size;
//--- set line colorObjectSetInteger ( ChartID (),InpName, OBJPROP_COLOR ,colors[i]);
ChartRedraw ();
}
//+------------------------------------------------------------------+
Типы объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Teşekkürler, ama versiyonumu bırakacağım, işe yarıyor. ObjectDelete(0, isim) yerine deneyeceğim ama; uygulamak
Tamamen yanlış karar. Bir grafik nesnesinin silinmesi ve bir grafiğin güncellenmesi hiçbir şekilde birbirinin yerine geçmez.
Örneğimde, önce bir nesne olup olmadığını, özellikle de ugh adında trend olan bir nesne olup olmadığını kontrol eder, bu Rusça klavye düzenindeki addır))). Ardından, orada değilse, bir trend çizgisi çizilir. Çizim başarısız olursa, bir mesaj görüntülenir ve işlev false döndürerek çıkar.
Bundan sonraki her şey, halihazırda mevcut bir trend çizgisinin varlığından veya yeni çizilmiş bir çizginin varlığından bağımsız olarak, belirtilen parametrelere, koordinatların zaman ve fiyatlarına, türüne, kalınlığına ve eklediğiniz diğer her şeye atanır. Ardından grafik güncellenir ve fonksiyon true değerini döndürür.
Yürütme hızı açısından, bir trend çizgisinin varlığını kontrol etmek, onu kaldırmak ve yeni bir tane çizmekten daha ucuz olacaktır.
Ama… son karar senin ve sağ ayağının küçük parmağıyla sol kulağını kaşımaktan hoşlanıyorsan sana karışmaya hakkım yok.
Tekrar teşekkürler, şimdi çizgi bir çizgi gibi, görmek güzel. Bu sadece ObjectDelete (0, isim); gereklidir, aksi takdirde çizilen çizgi yeniden çizilmez. Ayrıca mql4'te unuttum.
yapardım
Ne saçmalık. Çizilen grafik nesnesi sessizce hareket eder. Her nesne için yardımda bir örnek verilmiştir (yatay çizgi OBJ_HLINE için).
Ayrıca önceden çizilmiş bir nesnenin herhangi bir özelliğini de değiştirebilirsiniz: renk, stil, koku ...Elden, şüphesiz. EA, DeMark noktalarına dayalı olarak trend çizgileri çizer. ObjectDelete (0, isim); fonksiyonu ile noktalar değiştirilirken eski trend çizgisi kaldırılır ve yenisi çizilir. Bu özellik olmadan, ilk çizilen çizgiler artık yeniden çizilmez. Bu saçmalık değil, bir gerçek.
Elden, şüphesiz. EA, DeMark noktalarına dayalı trend çizgileri çizer. ObjectDelete (0, isim); fonksiyonu ile noktalar değiştirilirken eski trend çizgisi kaldırılır ve yenisi çizilir. Bu özellik olmadan, ilk çizilen çizgiler artık yeniden çizilmez. Bu saçmalık değil, bir gerçek.
Evet, sonunda yardımı okuyun! Ve örneği çalıştırın.
öyle yapardım
Teşekkürler, ama versiyonumu bırakacağım, işe yarıyor. ObjectDelete (0, isim) yerine deneyeceğim ama; uygulamak
ChartRedraw ();Evet, sonunda yardımı okuyun! Ve örneği çalıştırın.
Yardımı okudum. Sadece asılsız öfkelisin ve pratiğe dayalı yazıyorum. Başka bir şey de, ObjectDelet() yerine ChartRedraw() kullanmam , tartışmıyorum ve kontrol etmiyorum. Örneğe atıfta bulunarak işaret edilmesi gereken tek şey budur.
Yardımı okudum. Sadece asılsız öfkelisin ve pratik temelinde yazıyorum. Başka bir şey de, ObjectDelet() yerine ChartRedraw() kullanmam , tartışmıyorum ve kontrol etmiyorum. Bir örneğe atıfta bulunarak işaret edilmesi gereken tek şey budur.
Bu başlıkta genellikle tavsiye isterler ve tavsiye verdiklerinde dinlerler. En azından yardımı okuyun ve örnekleri uygulayın. Lütfen, başkalarını dinlemek istemiyorsanız, hiçbir şey sormamak daha iyidir.
" Yatay çizgi " grafik nesnesinin herhangi bir özelliğini anında nasıl değiştirebileceğinize bir örnek - bunun için nesneyi silmeniz gerekmez, bunun için yalnızca özelliği değiştirmeniz gerekir.
kod:
Teşekkürler, ama versiyonumu bırakacağım, işe yarıyor. ObjectDelete (0, isim) yerine deneyeceğim ama; uygulamak
Tamamen yanlış karar. Bir grafik nesnesinin silinmesi ve bir grafiğin güncellenmesi hiçbir şekilde birbirinin yerine geçmez.
Örneğimde, önce bir nesne olup olmadığını, özellikle de ugh adında trend olan bir nesne olup olmadığını kontrol eder, bu Rusça klavye düzenindeki addır))). Ardından, orada değilse, bir trend çizgisi çizilir. Çizim başarısız olursa, bir mesaj görüntülenir ve işlev false döndürerek çıkar.
Bundan sonraki her şey, halihazırda mevcut bir trend çizgisinin varlığından veya yeni çizilmiş bir çizginin varlığından bağımsız olarak, belirtilen parametrelere, koordinatların zaman ve fiyatlarına, türüne, kalınlığına ve eklediğiniz diğer her şeye atanır. Ardından grafik güncellenir ve fonksiyon true değerini döndürür.
Yürütme hızı açısından, bir trend çizgisinin varlığını kontrol etmek, onu kaldırmak ve yeni bir tane çizmekten daha ucuz olacaktır.
Ama… son karar senin ve sağ ayağının küçük parmağıyla sol kulağını kaşımaktan hoşlanıyorsan sana karışmaya hakkım yok.
Ve bir trend çizgisi çizmeye geri dönelim. Eğer koda ihtiyacınız varsa.
Çok kötü kod.
yapardım
Ve ben böyleyim: