Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 532
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Yuvarlanması gereken saniyeler alacağız - sorun yuvarlama.
böyle
ve günün başlangıcına bir yuvarlama var. 86400=24*60*60Evet giremiyorum, nasıl kullanılır.
İşte gerekli ikinci değer " MqlDateTime& dt_struct // değerleri kabul etmek için yapı ", ancak bu MqlDateTime'ın nasıl kullanılacağını anlamıyorum.
Zaman var. Zamanın şu gibi parametreleri vardır: yıl, ay, gün, saat, dakika, saniye vb. TimeToStruct() işlevini çağırarak, zamanı bu bileşenlere ayırırsınız. Ayrıca, örneğin, saatleri, dakikaları ve saniyeleri sıfırlayabilirsiniz - günün başlangıcını yapın.
MqlDateTime, tıpkı int, bool vb. gibi bir veri türüdür. Sadece bileşik bir tür, yani. alanlarına (saat, dakika, saniye...) erişmek için bir nokta kullanmanız gerekir. Örneğin: dt_struct.hour saat değeridir. Yapılar hakkında daha fazla bilgi https://www.mql5.com/ru/docs/basis/types/classes.
böyle
ve günün başlangıcına bir yuvarlama var. 86400=24*60*60Zaman var. Zamanın şu gibi parametreleri vardır: yıl, ay, gün, saat, dakika, saniye vb. TimeToStruct() işlevini çağırarak, zamanı bu bileşenlere ayrıştırırsınız. Ayrıca, örneğin, saatleri, dakikaları ve saniyeleri sıfırlayabilirsiniz - günün başlangıcını yapın.
MqlDateTime, tıpkı int, bool vb. gibi bir veri türüdür. Bu sadece bir bileşik tiptir, yani. alanlarına (saat, dakika, saniye...) erişmek için bir nokta kullanmanız gerekir. Örneğin: dt_struct.hour saat değeridir. Yapılar hakkında daha fazla bilgi https://www.mql5.com/ru/docs/basis/types/classes.
Formülünüze göre, mevcut çubuk ile uzak olan arasındaki gün sayısını alacağız, ancak bu günler koşullu, yani. geçerli günün 9 saati ve önceki günün 1 saati olabilir, o zaman saniye cinsinden fark 122400 olur, bu da 1.42 güne eşittir - yuvarlarken 1 gün olur, ancak 2 olmalıdır.
kayıp bir gün, 23h + 24h + 9h = 2 gün 8h... Gerekli ise bu formüle gerek yoktur:
Mevcut zaman çerçevesinin her grafiğinde bir hesaplama yapmam gerekiyor. Hesaplamak için üst TF'nin (gün) tarihini bilmeniz gerekir. Yukarıdaki kodu ekledim - nokta, her bir çubukta, mevcut TF'de çubuğun açıldığı anda üst TF'nin maksimum fiyatını bilmektir.
Ama yine de diyorsun - yapılar .. :)
kayıp bir gün, 23h + 24h + 9h = 2 gün 8h... Gerekli ise bu formüle gerek yoktur:
Tekrarlıyorum:Ama yine de diyorsun - yapılar .. :)
Neden 23 saatin var - 1 saat yazdım ama öz değişmiyor
24 (dünden önceki gün - dün saat birde) + 24 (dün - bugün saat birde) + 8 (bugün bir saatten sonra - eksi bir saat) \u003d 56/24 \u003d 2.33 yani. iki gün çıktı anlaştık mı?
Neden 23 saatin var - 1 saat yazdım ama öz değişmiyor
24 (dünden önceki gün - dün saat birde) + 24 (dün - bugün saat birde) + 8 (bugün bir saatten sonra - eksi bir saat) \u003d 56/24 \u003d 2.33 yani. iki gün çıktı anlaştık mı?
Dünün başlangıcından 23 saat önce+
24 saat dün+
bugün 9 saat=
2 gün 8h=2,(33) gün
Bu doğru, şöyle bir şey:
Önemli değil, gerekli değil)Dünün başlangıcından 23 saat önce+
24 saat dün+
bugün 9 saat=
2 gün 8h=2,(33) gün
Bu doğru, şöyle bir şey:
Önemli değil, gerekli değil)Şimdi bugün saat 9 değil de 19 olduğunu düşünelim.
24 (dünden önceki gün - dün saat birde) + 24 (dün - bugün saat birde) + 18 (bugün bir saatten sonra - eksi bir saat) \u003d 66/24 \u003d 2.75 yani. üç gün çıktı katılıyorum?
Günlük aralık nasıl değişirse değişsin ve gün içindeki hesaplama 2 veya 3 gün veriyor - sorun bu.
Seçenek
int DayN=time[ 0 ]/ 86400 -time[ 163 ]/ 86400 ;
Mevcut çubuğun 1 saat olduğunu ve hesaplananın 23 saat olduğunu hayal edersek seçenek de uygun değildir, bu durumda hesaplamanın sonucu sıfır olacaktır, ancak 1 olmalıdır.
1 olacak, her iki zaman da önce bir tam güne yuvarlanır, sonra çıkarılır.