Belirli bir zamana nasıl atıfta bulunulur - sayfa 3

 
datetime ejfel = StrToTime ( "00:00" );
int shift= iBarShift ( NULL , PERIOD_M15 ,ejfel,true);
nyitohigh= iHigh ( NULL , PERIOD_M15 ,shift);
nyitolow= iLow ( NULL , PERIOD_M15 ,shift);
  1. Ya her zaman noktayı belirtirsiniz ya da asla (bunun yerine NULL kullanın.) Yüksek[nyitohigh] kullanırsanız, kodunuz M15 değil herhangi bir grafikte bozulur.
  2. StrtoTime'ı veya daha önce nasıl gösterdiğimi kullanabilirsiniz.
 
RaptorUK :

Hayır, çünkü Time[x] bir datetime döndürür. . . ama yapabilirsin. . .

TimeHour'da okuyun


Merhaba insanlar
Sinir bozucu iş orada bir süre tüm zamanımı aldı, ama şimdi kodlamaya geri dönelim

Tüm bu cevaplar için teşekkürler

Bu işlem zaman aralığı için sadece böyle bir kod kullanmayı düşünüyordum, ayrıca şimdi bunun için birçok farklı yol olduğunu görüyorum.
if(Saat() >= 2 && Saat()<17)

Tekrar teşekkürler
 
Datetime sabitleri ve iBarsShift için kullanılan datetime biçimi hakkında son bir soru

Bununla ilgili belgeleri burada görüyorum:
https://docs.mql4.com/basis/types/datetime

https://docs.mql4.com/series/iBarShift


Bir mum seçmeye çalışıyorum belki böyle bir şey

if(TimeToStr(Zaman[1]) == 7:15)
Print(Düşük[1], " 7:15 düşük");

7:15'in doğru tarih-saat yöntemi olmadığını biliyorum; ve yine de günlük tekrarlanan zamanı karşılaştırmakta sorun yaşadığım yer burası.

IBarsShift, tarih saat sabiti için aynı tarih saat düzenini gösterir, ancak yalnızca belirli bir tarih saat için olduğu ve günlük saati tekrarlamadığı görülmektedir.

Belirli çubuk zamanını aramak için vardiyayı bulmak için IBarsShift kullanmam gerektiğini farz ediyorum ve o çubuk için vardiyayı döndürür, sonra vardiyayı o mumu seçmek ve verilerini kullanmak için kullanabilirim.
En azından ben böyle görüyorum.


1 belirli bir tarih boyunca belirli bir zaman yerine günlük bir tekrarlama zamanını nasıl seçeceğimi bulabilirsem, muhtemelen yapmaya çalıştığım şey üzerinde çalışabilirim.
Ve aynı formata sahip olan Time[] veya TimeToStr(Time[]) veya benzeri bir yöntem, böylece karşılaştırma yapabilir ve o mum için verileri kullanabilirim

IBarsShift'i kullanmak istediğime tam olarak ikna olmadım çünkü açık zamanda bir bar aramak da istemiyorum.

Time[1] veya hatta Close[1] == a_particular_time ne zaman bilmek istiyorum

Tavsiye lütfen
teşekkürler

 
Agent86 :
Datetime sabitleri ve iBarsShift için kullanılan datetime biçimi hakkında son bir soru

Bununla ilgili belgeleri burada görüyorum:
https://docs.mql4.com/basis/types/datetime

https://docs.mql4.com/series/iBarShift


Bir mum seçmeye çalışıyorum belki böyle bir şey

if(TimeToStr(Zaman[1]) == 7:15)
Print(Düşük[1], " 7:15 düşük");

7:15'in doğru tarih-saat yöntemi olmadığını biliyorum; ve yine de günlük tekrarlanan zamanı karşılaştırmakta sorun yaşadığım yer burası.

Neden sadece 7:15 için tarih saat değerini hesaplamıyorsunuz? Nasıl ?

Gece yarısı için tarih saatini hesaplayın. . . ekle ( (7 * PERIOD_H1) + 15) * 60

gece yarısı için tarih

 
RaptorUK :
Neden sadece 7:15 için tarih saat değerini hesaplamıyorsunuz? Nasıl ?
Gece yarısı için tarih saatini hesaplayın. . . ekle ( (7 * PERIOD_H1) + 15) * 60

Tıpkı daha önce BU konuya yazdığım gibi

Agent86 : Yazdıklarımızı okumakla ve öğrenmekle uğraşmayacaksanız, sizinle zamanımızı boşa harcıyoruz.

 
WHRoeder :

Tıpkı daha önce BU konuya yazdığım gibi

Evet, ama o geçen yıldı. . . o zamandan beri herkes uyudu ;-)
 
RaptorUK :

Neden sadece 7:15 için tarih saat değerini hesaplamıyorsunuz? Nasıl ?

Gece yarısı için tarih saatini hesaplayın. . . ekle ( (7 * PERIOD_H1) + 15) * 60

gece yarısı için tarih

teşekkürler

Böylece şöyle bir şey kodlayabilirim:

tarihsaat zaman_seçimi = ( (7 * PERIOD_H1) + 15) * 60
if(Zaman[1] == zaman_seçimi)
Print(Zaman[1], '' ve", Düşük[1]);

Ancak bir gösterge için zaman çerçevesi numaralandırma değeri olarak kullanılmadığında PERIOD_H1 değeri nedir? Belgelerde bunu başka bir şekilde kullanmayla ilgili hiçbir şey görmüyorum.

Ama bu, belirli bir mumun zamanıyla karşılaştırmak için belirli bir zaman seçmek için peşinde olduğum şeye benziyor.
teşekkürler
 
WHRoeder :

Tıpkı daha önce BU konuya yazdığım gibi

Agent86 : Yazdıklarımızı okumakla ve öğrenmekle uğraşmayacaksanız, sizinle zamanımızı boşa harcıyoruz.

Merhaba
cevap için teşekkürler

Bir zaman aralığı veya aralık/filtre ile ilgili yazınızı okudum ve sonucu anladım ama denklemleri tamamen anlamadım

Cevabınıza göre, gönderdiğiniz denklemleri anlamıyorum çünkü if(Time[1] == 7:15) gibi bir şeyi uygun biçimde karşılaştıracak bir ifadenin nasıl oluşturulacağını anlamadığımı varsaymalıyım.

 
datetime now = Time[ 0 ],
         bod = now - now % 86400 ,
         HR1800 = bod + 18 * 3600 ,
         HR2100 = bod + 21 * 3600 ;
if (Time[ 1 ] >= HR1800 && Time[ 1 ] < HR2100) ...

Lütfen onaylayın

Bu gerçekten ihtiyacım olan cevapsa aynı soruları sormak istemiyorum, ama öyle olduğunu düşünmedim ya da bir daha sormazdım.

teşekkürler


 
RaptorUK :
Evet, ama o geçen yıldı. . . o zamandan beri herkes uyudu ;-)
ÇOK KOMİK

Şüphesiz.
Gerçekten mql'yi hızlı bir şekilde öğrenmek ve üzerinde çok daha fazla zaman harcamak istedim
Ne yazık ki işim, geçen yıl çok fazla zaman tüketen tam bir baş belası.
Bazı ayarlamalar yaptım, umarım bir kez daha tutarlı bir şekilde devam edebilirim.

Yanıtlar için herkese teşekkürler
 
Agent86 :
teşekkürler

Böylece şöyle bir şey kodlayabilirim:

tarihsaat zaman_seçimi = ( (7 * PERIOD_H1) + 15) * 60
if(Zaman[1] == zaman_seçimi)
Print(Zaman[1], '' ve", Düşük[1]);

Ancak, bir gösterge için zaman çerçevesi numaralandırma değeri olarak kullanılmadığında PERIOD_H1 değeri nedir? Belgelerde bunu başka bir şekilde kullanmayla ilgili hiçbir şey görmüyorum.

Gerçekten belgelerle ilgili yolunuzu öğrenmeye başlamanız gerekiyor. . .

TimeFrame kullanan herhangi bir fonksiyona gidin ve zaman çerçevesi numaralandırmasını göreceksiniz. . . ve şuraya bağlanır: Zaman çerçevesi numaralandırması ve bu size Period_H1'in 60 değeri olduğunu söyleyecektir. . . diğer bir deyişle 60 dakika. . . 60 dakika * 60 = saniye . . . tarihsaatler saniye cinsindendir.


Kodladığınız şey çalışmayacak. . time_select'iniz bir datetime DEĞİLDİR . . . hatırla, tarih saat nedir? Dokümantasyondan . . . " datetime type (tam sayı, 1 Ocak 1970 gece yarısından itibaren geçen saniye miktarını temsil eder). " 07:15 anlamına gelen bir tarih saat istiyorsanız, 1 Ocak 1970 ile 7 arasında geçen saniye sayısı olmalıdır: bugün saat 15. . .

Hesapladığınız şey, bu sabah Geceyarısı'ndan sabah 7:15'e kadar geçen saniye sayısı ve bu bir tarih saati değil.