Gösterge Çeşitli Sorular

 

Merhaba,

#Broker Zamanı

Bazı yorumları okumak için birkaç saat harcadım, ancak Broker Time'ımı göstergelerime nasıl ayarlayabilirim / göstergelerimi Broker Time'a nasıl ayarlayabilirim anlamadım. (belki karıştırdım)

Broker Zamanım 01: 00'den başlıyor, ancak tüm göstergelerim 00 :00'dan itibaren çalışıyor.

Peki sorunumu nasıl çözebilirim?

Lütfen bana yardım et.

Teşekkürler.

(İngilizce benim ana dilim değil.)

 

#Broker Zamanı - Şimdilik kapalı.

sorunumu çözüyorum.

 

#Ay OBJ_VLINE

Ay satırları oluşturmam gerekiyor, ancak mücadele ediyorum.

int _prd = PERIOD_MN1 ;
int _cnt_MN1 = iBarShift ( Symbol (), 0 , iTime ( Symbol (), PERIOD_MN1 , 0 ) );
for ( int i = 0 ; i < _cnt_MN1; i++ )
{
     //---date & time
     datetime _time          = Time [i]                                               ;
     datetime _prd_time      = iTime ( Symbol (), _prd, 0 )                            ;
     datetime _timeCvrt_MN1  = _time + ( _time % _prd_time ) - PeriodSeconds ( _prd ) ;
     //---name
     string    _vlineName_MN1 = _prefix + "PERIOD_MN1 - " + TimeToStr ( _timeCvrt_MN1, TIME_DATE )    ;

     if ( _Period < PERIOD_MN1 )
    {
         ObjectCreate ( _vlineName_MN1, OBJ_VLINE      , 0 , _time, 0 )                 ;
         ObjectSet    ( _vlineName_MN1, OBJPROP_COLOR , C'180,160,080'   )             ;
    }   //---if Close
}   //---for Close

Biri beni memnun edebilir mi?

En iyi

 
Ayın ne zaman başladığını bilirsiniz: iTime(_Symbol, PERIOD_MN1, 0) Döngüye veya geri kalanına gerek yok. Sadece çizgiyi çiz.
datetime BOM = iTime ( Symbol (), PERIOD_MN1 , 0 ); // Beginning of the month.
string    _vlineName_MN1 = _prefix + "PERIOD_MN1 - " + TimeToStr ( BOM, TIME_DATE )    ;
ObjectCreate ( _vlineName_MN1, OBJ_VLINE      , 0 , BOM, 0 )                 ;
ObjectSet    ( _vlineName_MN1, OBJPROP_COLOR , C'180,160,080'   )             ;
 
int _cnt_MN1 = 12; // 12 lines for a year 24 for two years and etc.
for ( int i = 0; i < _cnt_MN1; i++ )
{
   ObjectCreate(0,"PERIOD_MN1-"+IntegerToString(i),OBJ_VLINE,0,iTime(Symbol(),PERIOD_MN1,i),0);
   ObjectSetString(0,"PERIOD_MN1-"+IntegerToString(i),OBJPROP_TOOLTIP,TimeToString(iTime(Symbol(),PERIOD_MN1,i),TIME_DATE));
   ObjectSetInteger(0,"PERIOD_MN1-"+IntegerToString(i), OBJPROP_COLOR , C'180,160,080'  );
   //ObjectSetInteger(0,"PERIOD_MN1-"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
   //ObjectSetInteger(0,"PERIOD_MN1-"+IntegerToString(i),OBJPROP_WIDTH,1);
}
 
whroeder1 :
Ayın ne zaman başladığını bilirsiniz: iTime(_Symbol, PERIOD_MN1, 0) Döngüye veya geri kalanına gerek yok. Sadece çizgiyi çiz.
datetime BOM = iTime ( Symbol (), PERIOD_MN1 , 0 ); // Beginning of the month.
string    _vlineName_MN1 = _prefix + "PERIOD_MN1 - " + TimeToStr ( BOM, TIME_DATE )    ;
ObjectCreate ( _vlineName_MN1, OBJ_VLINE      , 0 , BOM, 0 )                 ;
ObjectSet    ( _vlineName_MN1, OBJPROP_COLOR , C'180,160,080'   )             ;

Hızlı yanıt ve yorumunuz için teşekkürler.

Ayrıca kodunuzu denedim, ancak 2016/10'dan yalnızca bir önceki ay görüyorum .

Ancak şu anki yıldan ve gelecekteki birinden Ay Çizgileri oluşturmam gerekiyor.

örnek: Ay başlangıcı - Ocak 2016 - Şubat 2016 - Mart 2016 - ... Aralık 2016'ya kadar

Umarım şimdi beni açıkça anlıyorsunuzdur.

Peki, bunun için ne yapabilirim lütfen?

Şimdiden teşekkürler.

 
Marco vd Heijden :
int _cnt_MN1 = 12 ; // 12 lines for a year 24 for two years and etc.
for ( int i = 0 ; i < _cnt_MN1; i++ )
{
   ObjectCreate ( 0 , "PERIOD_MN1-" + IntegerToString (i), OBJ_VLINE , 0 , iTime ( Symbol (), PERIOD_MN1 ,i), 0 );
   ObjectSetString ( 0 , "PERIOD_MN1-" + IntegerToString (i), OBJPROP_TOOLTIP , TimeToString ( iTime ( Symbol (), PERIOD_MN1 ,i), TIME_DATE ));
   ObjectSetInteger ( 0 , "PERIOD_MN1-" + IntegerToString (i), OBJPROP_COLOR , C'180,160,080'   );
   //ObjectSetInteger(0,"PERIOD_MN1-"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
   //ObjectSetInteger(0,"PERIOD_MN1-"+IntegerToString(i),OBJPROP_WIDTH,1);
}

Ne düşündüğümü açıkça anlıyorsunuz ve harika yorumunuzu görmedim (önceki yoruma cevap yazarken)

Çok takdir ediyorum.

 
Max Enrik :

Ne düşündüğümü açıkça anlıyorsunuz ve bir önceki yoruma cevap yazdım (harika yorumunuzu görmemişken).

Çok takdir ediyorum.

Sadece basit tut
 
     ObjectCreate ( 0 , "Future-H4-" , OBJ_VLINE , 0 , 0 , 0 );
     ObjectMove ( 0 , "Future-H4-" , 0 , iTime ( Symbol (), PERIOD_H4 , 0 )+ PERIOD_H4 , 0 );

MN1 biraz fazla uzakta ama işte H4 için bir tane.

Ayrıca kullanabilirsiniz

TimeCurrent ()
Ve satırınızı OnTick() veya OnTimer() işlevinde hareket ettirin, o zaman zamanla birlikte hareket edecektir.
 
Marco vd Heijden :
     ObjectCreate ( 0 , "Future-H4-" , OBJ_VLINE , 0 , 0 , 0 );
     ObjectMove ( 0 , "Future-H4-" , 0 , iTime ( Symbol (), PERIOD_H4 , 0 )+ PERIOD_H4 , 0 );

MN1 biraz fazla uzakta ama işte H4 için bir tane.

Ayrıca kullanabilirsiniz

TimeCurrent ()
Ve satırınızı OnTick() veya OnTimer() işlevinde hareket ettirin, o zaman zamanla birlikte hareket edecektir.

Vay! Yorumunuz için çok teşekkürler.

Dönem Çizgileri Göstergemde aşağıdaki kodu (sizin bahsettiğiniz) kullanıyorum, bu yüzden 'PERIOD_MN1' tarihine kadar benim için iyi çalışıyor.

iTime ( Symbol (),PERIOD_*, 0 )+PERIOD_*

---

'Olay İşleme İşlevleri ' hakkında biraz daha okudum, ancak profesyonel kodlayıcıdan tavsiyeye ihtiyacım var.

Bu (Saat 4, Gün, Hafta, Ay Satırları) Göstergem için hangi İşlev yararlıdır?

örnek: init(), start(), OnTick() veya OnTimer()

Şimdiden teşekkürler.

 

Peki, OnInit() içinde tüm satırları çizebilir ve ardından son çubuktaki açık zaman değiştiğinde yeni bir çubuk olduğunu bileceksiniz.

Ama tam olarak ne yapmak istediğinden emin değilim.