tamamen kayboldum - sayfa 4

 
ydrol :

Datetime için saat dilimi (1970'i geçen saniyeler) UTC'ye dayanır. Unix zamanı gibi. UnixTime-64 bit unix zamanıdır .

tarihsaat - tarihsaat = uzun (saniye süre)

tarihsaat +/- saniye(uzun) = tarihsaat(başka bir tarih)

tarihsaat +/- saniye(int) = tarihsaat(başka bir tarih)


GMT'de bir tarih saatini nasıl belirleyebilirim?
 
ydrol : Datetime için saat dilimi (1970'i geçen saniyeler) UTC'ye dayanır.
Yanlış. Saat dilimi, aracının sunucusunun saatidir. Hangi komisyoncuyu kullandığınıza bağlı.
FMIC : Buradaki TROL SİZSİNİZ! Bu, bu konudaki son mesajım! Sen çabaya değmezsin.

Lütfen trolleri beslemeyin.

Cevap verdiğinizde trol gücü veriyorsunuz. Trolü görmezden geldiğinizde, dikkat için açlıktan ölüyor ve sonunda ölüyor.

 
FMIC : Buradaki TROL SİZSİNİZ! Bu, bu konudaki son mesajım! Sen çabaya değmezsin.

Harika bir katkı yaptığınızı düşünüyorum. Gönderileriniz özlü ve iyi bir şekilde öğretiliyor ve çabalarınız için çok sayıda "teşekkür ederim" kararı alıyorsunuz.

Evet, bence bu adam için elinden geleni yaptın.

 
ah evet çoğunlukla, mql cinsinden saat dilimi, saati nereden aldığınıza bağlıdır. bu genellikle komisyoncudur. bunu unuttum, büyük Yanlış uyarılar için teşekkürler -lol
 
RaptorUK :
GMT'de bir tarih saatini nasıl belirleyebilirim?

whoop unuttum mql4 bozuk bir zaman kavramı kullanır, . Retorik q :-) kabul ediyorum, saat dilimi nereden geldiğine bağlıdır. bu nedenle, birden fazla kaynak komisyoncusu, bilgisayar, geriye dönük test falan olduğu için tüm sorunlar
 
ydrol :
whoop unuttum mql4 bozuk bir zaman kavramı kullanır, . Retorik q :-) kabul ediyorum, saat dilimi nereden geldiğine bağlıdır. bu nedenle, birden fazla kaynak komisyoncusu, bilgisayar, geriye dönük test falan olduğu için tüm sorunlar
Ben sadece retorik q aldığına sevindim
 

Veri türü tanıtım kurallarının bu şekilde çalışacağından korktum. Tamam yani:

tarihsaat - tarihsaat = uzun (saniye süre)

tarihsaat +/- saniye(uzun) = tarihsaat(başka bir tarih)

tarihsaat +/- saniye(int) = tarihsaat(başka bir tarih)

Ancak X=YZ veya (YZ)/60 veya buna benzer bir şey söylersem, X zaten bir long veya int olarak bildirilir ve Y ve Z tarih saatleridir, bu çok, çok kötü mü? Ve eğer öyleyse, static_cast her şeyi düzeltir mi?

Raptoruk, saat diliminden bağımsız değildir. Elbette herhangi bir zaman diliminde 14:00 ile 15:00 arasındaki fark 3600'dür. Ama ya ticaretin Cuma günü Doğu saatiyle 17:00'de durduğunu biliyorsam, ama saat 0'ın (1 Ocak 1970 gece yarısı) hangi saat diliminde olduğunu bilmiyorsam? O zaman bir sorunumuz var, değil mi! Yani 1 Ocak 1970 Perşembe idi. 0 zamanı GMT ise, işlem bundan 46 saat sonra veya 165600 modulo 604800'de durur. Diğer bir deyişle, haftada 604800 saniye ile, X%604800 aritmetik işlemini, 604800'e bölmede geri kalanı için kullanırım ve ticaret 165600'de durur. Ancak, komisyoncu bunun 2 saat dilimi Doğu'daysa ve onların çöplüğü 7200 daha yüksek bir şeyle zaman damgalıysa, ticaret %604800 zamanı 165600 değil 172800 olduğunda durur.

Raporlanan zaman endeksleri hakkında bir belirsizlik var gibi görünüyor. Sanırım emin olmak için kodumun, ticaretin başladığı ve durduğu modulo 604800 zamanlarını bulmam gerekiyor. iTime('USDJPY',60,X) gibi bir şeye bakıp 48 saatlik boşluklar bulduğumu düşünüyorum. iTime'ın "açık" saatler olduğuna, saatin BAŞLANGICI olduğuna güvenebilirim, değil mi? Başka bir deyişle, ticaret 2 günlük bir boşluktan önceki son zaman endeksinden 1 saat sonra durur ve boşluktan sonra tam olarak ilkinin başlangıcında devam eder ve ardından 604800'ün katlarını ekleyerek haftayı değiştirir. Ek komplikasyonlar olsa da, örneğin bir hafta içinde son saati EKSİZ veya ilk saati kaçırırsak gibi. Belki iTime('USDJPY',1,X) kullanın, böylece en fazla dakikalarca uzaklaşırım.

Vay canına, bir sürü gönderi o kadar hızlı başladı ki. Başka birinin bilmesi için, sanırım raptoruk sonuçta sorun değil, ama bir sürü hakaret hoş karşılanmaz, bu yüzden ydrol veya raptoruk veya söyleyecek yeni bir şeyi olan yeni biri değilseniz, göndermeyi bırakın, ben değilim Troll, çünkü şu ya da bu şekilde senin duygusal durumların umurumda değil ve etrafta dolaşacak daha fazla bir şeyin varsa, sağır kulaklara düştüğünü bil.

 
zortharg :

Veri türü tanıtım kurallarının bu şekilde çalışacağından korktum. Tamam yani:

tarihsaat - tarihsaat = uzun (saniye süre)

tarihsaat +/- saniye(uzun) = tarihsaat(başka bir tarih)

tarihsaat +/- saniye(int) = tarihsaat(başka bir tarih)

Ancak X=YZ veya (YZ)/60 veya buna benzer bir şey söylersem, X zaten bir long veya int olarak bildirilir ve Y ve Z tarih saatleridir, bu çok, çok kötü mü? Ve eğer öyleyse, static_cast her şeyi düzeltir mi?

Raptoruk, saat diliminden bağımsız değildir.

Tamam, tarih saat hangi saat dilimidir 0?

Ama ya ticaretin Cuma günü Doğu saatiyle 17:00'de durduğunu biliyorsam, ama 0 saat diliminin (1 Ocak 1970 gece yarısı) hangi saat diliminde olduğunu bilmiyorsam? O zaman bir sorunumuz var, değil mi!

Numara . . belki sen yaparsın, ben öyle değil, biz yapmıyoruz. Brokerlerin saat dilimini biliyorum, böylece Cuma saatini 17:00'ye göre ayarlayabilir ve Cuma 17:00 için ayarlanmış tarih saatini alabilirim.
 
zortharg :

Veri türü tanıtım kurallarının bu şekilde çalışacağından korktum. Tamam yani:

tarihsaat - tarihsaat = uzun (saniye süre)

tarihsaat +/- saniye(uzun) = tarihsaat(başka bir tarih)

tarihsaat +/- saniye(int) = tarihsaat(başka bir tarih)

Ancak X=YZ veya (YZ)/60 veya buna benzer bir şey söylersem, X zaten bir long veya int olarak bildirilir ve Y ve Z tarih saatleridir, bu çok, çok kötü mü? Ve eğer öyleyse, static_cast her şeyi düzeltir mi?


Bunlar 'promosyon kuralları' değil, sadece ben mantıklıyım (umarım!). Genelde yukarıdaki tiplemeleri kendim yapardım.

Hesaplamamın sonucu hala 1/1/1970'den bu yana saniye olan bir sayıysa (saat dilimi veya eksikliğinden bağımsız olarak), o zaman onu datetime olarak tutardım.

Aksi takdirde başka bir şey (süre, 1/1/1970'den bu yana dakikalar ne olursa olsun) muhtemelen long . (Bazen bir int , tipik süreler için esp vb.)


Bunu söyledikten sonra, MQL4 tasarımcılarının UTC'yi tüm tarihler için zorunlu kılmamaya ve tüm aracıları UTC verilerini göndermeye zorlamaya ve yalnızca müşterinin yerel zamanda yorumlamasını sağlamaya nasıl geldiklerine şaşırdım, çünkü mevcut yaklaşımları aşağı akıştaki her şeyi gereksiz yere karmaşıklaştırıyor.

Tüm onay verileri kaynakları için doğru şekilde yapmak istiyorsanız, GMT zamanını ve geri test sırasında Oturum açma/kapama zamanlarını olması gerekenden daha zor hale getirir.

(Örneğin Alpari'nin geçmiş verilerinde birden fazla zaman dilimi vardır, bu nedenle geriye dönük test yaparken veri kaynaklarınıza dikkat etmelisiniz)

PS Daha önceki falsie'mi düzenledi :)

 

ydrol, kutsal ya da her neyse, lütfen bana söyleyin - eğer biliyorsanız - static_cast mql4'te kullanılabilir mi! C++ ile aynı mı? Bu sayfa https://docs.mql4.com/basis/types/casting bundan hiç bahsetmiyor, forumlarda bulamıyorum, hiçbir yerde bulamıyorum. Kodlamamda sürekli olarak, yalnızca datetime'ı uzun süreye çevirmekle değil, kaçınılmaz olduğu durumlarda da datetime'ı ikiye katlamakla ilgili durumlarla karşılaşıyorum, bu yüzden doğru yapmak istiyorum. Yani program, bir örneğin haftanın hangi bölümünde olduğunu bulur ve buna göre hesaplamalarında vurgular - ancak bir haftadaki saniye sayısı olan zaman modulo hala bir tarih saat tipi değişkendir ve başka bir şey olarak kullanamazsam, bu şekilde sıkışmış. Ama bunun matematiksel bir işlevini yerine getirmem ve sonunda bir çift olmam gerekiyor, görüyorsunuz. Bilmiyorsanız, üzülmeyin, ama lütfen bana bu tür durumlarda şeyleri nasıl düzgün bir şekilde yazmam gerektiğini söyleyin.

raptoruk, "Hayır... peki belki sen yaparsın, ben öyle yapmam hayır, biz yapmayız." Bu kesinlikle bir problem. Bana değil, size değil, bize değil, saat diliminden bağımsız olduğu konusundaki önceki açıklamanızın geçerliliğine. Brokerinizin hangi saat diliminde olduğu önemli olmadığından, forex'te işlem yapmak komisyoncunuzun saatini takip etmez. Cuma ve Pazar günleri saat 17:00 Doğu. 22:00 GMT. Peki ya gün ışığından yararlanma saati/standart saat! Buna ne dersin! Bazı ülkeler bir saat eklemez veya çıkarmaz veya bunu farklı bir günde yaparlar, bu nedenle, bunu yapmanın güzel bir yolu yoksa, yılın bazı bölümlerinde bir saat kapalı olan bir kod elde edebilirsiniz. . Ben, bir komisyoncuya karar vermedim. Denediğim GMT+2'de ama sanırım demo hesaplarına dayanarak onları sevmiyorum. Birini gerçekten denersem, belki onun yerine farklı bir tane kullanmak isterim. Bu yüzden, bunu yapmamak kolay bir meseleyse, komisyoncunun saat diliminin programa kodlanmış olmasını istemiyorum. Soruyu olduğu gibi kabul etmek yerine her şeyi bir hakaret etme fırsatına çevirmeye çalışan o diğer adam gibi olmayın.