Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
işte dosyalardan veriler
ve grafikteki bu çubuk
ve bu tek durum değil, birçok örnekten sadece biri.
tüm bu çubuklar "Pazar" çubuklarıyla ilgilidir.
ama işte gerçek şu ki, üzerine bir nesne yerleştiremezsiniz (bir çizgi oluşturun), muhtemelen tırnak tabanıyla başka bir şey, gerekli olduğunu düşünüyorsanız, önce onu çivilemeye çalışın ve ardından tutamaçlarla ekleyin
int iBarShift(dize sembolü, int zaman çerçevesi, tarih saat, bool tam=yanlış)
Zamana göre bir bar arayın. İşlev, belirtilen zamanın ait olduğu çubuğun ofsetini döndürür. Belirtilen süre için çubuk yoksa (geçmişte "delik"), tam parametreye, -1'e veya en yakın çubuğun ofsetine bağlı olarak işlev döner.
Seçenekler:
sembol - Enstrümanın sembolik adı. NULL, geçerli karakter anlamına gelir.
zaman çerçevesi - Dönem. Grafik dönemlerinden biri olabilir. 0, mevcut grafiğin periyodu anlamına gelir.
time - Aranacak zaman değeri.
kesin - Çubuk bulunamazsa değeri döndürür. YANLIŞ - iBarShift en yakın olanı döndürür. DOĞRU - iBarShift -1 değerini döndürür.
Misal:
datetime some_time=D'2004.03.21 12:00';
int shift=iBarShift("EUROUSD",PERIOD_M1,bir_zaman);
Print("açık zamanlı çubuğun kayması",TimeToStr(bazı_zaman),", ", shift);
MiG alıntılarına daha sonra bakmaya çalışacağım.
Hayır, görünmüyordu.
Bu normal bir "Pazar" barıdır ve saat 11'de açılır. Ve örneğin, FIBO "Pazar" çubukları 22:00'de başlar.
Hem çubukların farklı varış zamanları hem de tarihteki boşluklar dikkate alınır.
Eleştiri açığız.
#property copyright "Copyright Quark" #property link "" #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Lime // indicator parameters extern int nPeriod = 6; double arrOpen[]; int nExtCountedBars = 0; int nBars; int nBarsUsdChf; //////////////////////// int init() { nBars = 0; nBarsUsdChf = 0; string strIndicatorShortName = "Test_1(" + Symbol() + " " + nPeriod + ")"; IndicatorShortName(strIndicatorShortName); // drawing settings SetIndexStyle(0, DRAW_LINE); SetIndexShift(0, 0); IndicatorDigits(4); // indicator buffers mapping SetIndexBuffer(0, arrOpen); return(0); } /////////////////////////// int start() { if(Bars <= nPeriod) return(0); if(nBars == Bars || nBarsUsdChf == iBars("USDCHF", 0)) return(-1); int nPos = Bars - nBars; int nPosUsdChf = nPos; nBars = Bars; nBarsUsdChf = iBars("USDCHF", 0); while(nPos >= 0) { // Adjust nPosUsdChf, so that time is the same as in EURUSD // If Time(USDCHF) < Time(EURUSD), decrease nPosUsdChf while(nPosUsdChf > 0 && TimeDay(Time[nPosUsdChf]) < TimeDay(Time[nPos]) || // Yerterday vs. Today (TimeDay(Time[nPosUsdChf]) == TimeDay(Time[nPos]) && // Same day TimeHour(Time[nPosUsdChf]) < TimeHour(Time[nPos]))) nPosUsdChf--; // Now, if Time(USDCHF) > Time(EURUSD), increase nPosUsdChf while(nPosUsdChf < Bars && TimeDay(Time[nPosUsdChf]) > TimeDay(Time[nPos]) || // Yerterday vs. Today (TimeDay(Time[nPosUsdChf]) == TimeDay(Time[nPos]) && // Same day TimeHour(Time[nPosUsdChf]) > TimeHour(Time[nPos]))) nPosUsdChf++; arrOpen[nPos] = iOpen("USDCHF", 0, nPosUsdChf); nPos--; nPosUsdChf--; } return(0); }Uh... Sadece MA oradaydı ve sonra onu kaldırdım. Ama sonuna kadar değil :)