Gösterge Çeşitli Sorular - sayfa 7

 

Evet, ama kodlamanız gerekiyor.

Misal:

Yerel zaman komisyoncu A komisyoncu B
00:00
(GMT)
01:00
(GMT+1)
02:00
(GMT+2)

PERIOD_D1 kullanamazsınız çünkü

  • Broker A'nın D1 çubuğu yerel saat 23:00'te başlar (1 saat erken)
  • Broker B'nin D1 çubuğu yerel saat 22:00'de başlar (2 saat erken)

Bu nedenle, "gününüzü" istediğiniz gibi manuel olarak oluşturmak için iBarShift ve iHighest / iLowest (veya CopyHigh/CopyLow) ile H1 çubuklarını kullanmalısınız.

----

İşte noktayı gösterebilecek hızlı bir komut dosyası.

Bir grafiğe bırakın ve sunucu saatiyle 23:00'ten başlayarak bir 'gün' etrafında bir dikdörtgen çizdiğini göreceksiniz.

#define strict
#property show_inputs

#define DAY 86400
#define HOUR 3600

extern int time_shift = - 1 ; // Hours to shift server time by

void OnStart ()
  {
   time_shift*=HOUR;

   datetime oldest_bar = Time [ Bars - 1 ],
            midnight   = oldest_bar-(oldest_bar%DAY);

   while (midnight<= TimeCurrent ())
     {
       datetime day_begin = midnight + time_shift,
               day_end   = day_begin + DAY - 1 ;
       double high[],
             low[];
       int high_cnt = CopyHigh ( _Symbol , PERIOD_H1 , day_begin, day_end, high),
          low_cnt  = CopyLow ( _Symbol , PERIOD_H1 , day_begin, day_end, low);
       if (high_cnt> 0 && low_cnt> 0 )
        {
         double day_high = high[ ArrayMaximum (high)],
                day_low  = low [ ArrayMinimum (low)];
         string obj_name = TimeToString (day_begin, TIME_DATE );
         ObjectCreate ( 0 , obj_name, OBJ_RECTANGLE , 0 , day_begin, day_high, day_end, day_low);
        }
      midnight+=DAY;
     }
  }  


 
honest_knave :

Evet, ama kodlamanız gerekiyor.

Bu örneği çalışmalıyım.

Çok teşekkürler.

 

Harika örneğiniz için bir kez daha çok teşekkürler.
Yorumunuzdan sonra sorunumu kolayca çözdüm.

---

Farklı brokerler için otomatik olarak ayarlanmış zaman ofseti için bir şey denedim, ne yazık ki bu işe yaramadı.

S: Farklı brokerler için otomatik zaman ofset setleri için bazı kodlar yazabilir miyim, bu mümkün mü?
(Hala bunun için bir şeyler deniyorum)

Çok teşekkürler.

 

Aşağıdaki kodu deniyorum ama bana doğru değeri vermiyor.

S: Aşağıdaki kodda yanlış olan nedir? (anlamadım)

datetime start=( datetime ) SymbolInfoInteger ( Symbol (), SYMBOL_START_TIME );

Çok teşekkürler.

 
Max Enrik :

Aşağıdaki kodu deniyorum ama bana doğru değeri vermiyor.

S: Aşağıdaki kodda yanlış olan nedir? (anlamadım)

datetime start=( datetime ) SymbolInfoInteger ( Symbol (), SYMBOL_START_TIME );

Çok teşekkürler.

Görünüşe göre tüm brokerler bunu doğru şekilde ayarlamamış. lütfen buraya bakın
 
honest_knave :
Görünüşe göre tüm brokerler bunu doğru şekilde ayarlamamış. lütfen buraya bakın

Şans yok !
Sadece profesyonel programcıların ve kodların pes ettiğini mi düşünüyorum?! Tabii ki hayır . : / ( ama ben )

Çok teşekkürler.

(En azından deneyeceğime dair bir fikrim var - sonra)
 
Max Enrik :

Şans yok !
Sadece profesyonel programcıların ve kodların pes ettiğini mi düşünüyorum?! Tabii ki hayır . : / ( ama ben )

Çok teşekkürler.

(En azından deneyeceğime dair bir fikrim var - sonra)

Her zaman geçici çözümler vardır.

Örneğin, 1 çubuğun zaman aralığından daha büyük bir zaman aralığı arayan H1 veya M30 çubuklarından geriye gidebilirsiniz (yani piyasa bu aralıkta kapanmıştır).

Ancak hafta sonları ve resmi tatillere ve eksik tarihe dikkat etmeniz gerekiyor.

 
honest_knave :

Her zaman geçici çözümler vardır.
Örneğin, 1 çubuğun zaman aralığından daha büyük bir zaman aralığı arayan H1 veya M30 çubuklarından geriye gidebilirsiniz (yani piyasa bu aralıkta kapanmıştır).
Ancak hafta sonları ve resmi tatillere ve eksik tarihe dikkat etmeniz gerekiyor.

Faydalı yorumunuz için çok teşekkürler.
 

Sadece tarih saatini öğrenmem gerekiyor, çünkü şimdiye kadar kodla ilgili tarih saati yazmaya çalıştığımda, kodların bu kısmına her zaman çok zaman harcadım. (Ben bile senaryolarımı başarıyla bitirdim ama hiçbir zaman daha net anlayamadım)
Şimdi, günün 1. çubuğunu (Günümüzdeki ilk çubuk 1m, 5m, 15m, 30m, 1h vb.) verileri almaya çalışıyorum, ancak yapamıyorum.

(Google chrome tarayıcısında bununla ilgili birçok sekmem var - sadece saçmalık)

O halde birisi bana günün ilk çubuğu (M1, 5M vb.) için nasıl kod yazacağımı örnekle ve açıklayarak yardımcı olabilir mi?

Elbette yarın bu endişeyi araştırmaya devam edeceğim.

şimdiden çok teşekkürler

 

Günün ilk çubuğu, TimeHour()'un saymaya başlamasından sonraki ilk çubuk olmalıdır.

Bu elbette M1, M5 , M15 vb. herhangi bir şeyin ilk çubuğu olacak, hepsi yeni çubuklar başlatıyor.

Neden: