Bazı sorular kaldırıldı. Zamanla anlaşıldı. Her şeyin basit olduğu ortaya çıktı. GMT saati alıyoruz ve GMT+3 sitede sunuldu bu yüzden tüm yanlış anlamalarım oluştu.
İşte ilk sonuç: Olayın açıklaması alındı, anlık görüntüdeki ilk satır
2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) время и дата события - 2019.07 . 24 13 : 45 : 00 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) идентификатор события - 840500001 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) тип события из перечисления ENUM_CALENDAR_EVENT_TYPE - CALENDAR_TYPE_INDICATOR 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) сектор, к которому относится событие - CALENDAR_SECTOR_BUSINESS 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) частота (периодичность) события - CALENDAR_FREQUENCY_MONTH 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) режим времени события - CALENDAR_TIMEMODE_DATETIME 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) идентификатор страны - 840 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) текстовое имя страны (в текущей кодировке терминала) - Соединенные Штаты 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) единица измерения значения экономического индикатора - CALENDAR_UNIT_NONE 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) важность события - CALENDAR_IMPORTANCE_MODERATE 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) множитель значения экономического индикатора - CALENDAR_MULTIPLIER_NONE 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) количество знаков после запятой - 1 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) URL источника, где публикуется событие - https: //www.markiteconomics.com 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) код события - markit-manufacturing-pmi 2019.07 . 24 11 : 29 : 03.972 ! 00 (EURUSD,H1) текстовое имя события на языке терминала (в текущей кодировке терминала) - Индекс менеджеров по закупкам в производственном секторе от Markit
Geliştiriciler için soru:
Bu kod neden küçük değişikliklerle birlikte belgelerden alınmıştır?
void OnStart () { MqlCalendarValue values[]; //--- запросим историю событий от текущего времени до конца сегодняшнего дня. if ( CalendarValueHistory (values, TimeCurrent (), iTime ( _Symbol , PERIOD_D1 , 0 )+ PeriodSeconds ( PERIOD_D1 ))) { PrintFormat ( "Получены значения событий по country_code=%s: %d" , ArraySize (values) ); //--- выведем значения событий в Журнал ArrayPrint (values); } else { PrintFormat ( "Ошибка! Не удалось получить события по стране country_code=%s" ); PrintFormat ( "Код ошибки: %d" , GetLastError ()); } //--- }
değerler dizisinin boyutunun sıfır olduğunu döndürür, ancak yine de takvimdeki her şeyi yazdırır. Yani, tüm olaylar alındı.
2019.07 . 24 15 : 20 : 33.131 ! 00 (EURUSD,H1) Получены значения событий по country_code=(non- string passed): 0 2019.07 . 24 15 : 20 : 33.131 ! 00 (EURUSD,H1) [id] [event_id] [time] [period] [revision] [actual_value] [prev_value] [revised_prev_value] [forecast_value] [impact_type] [reserved] 2019.07 . 24 15 : 20 : 33.131 ! 00 (EURUSD,H1) [ 0 ] 97265 76020013 2019.07 . 24 15 : 30 : 00 1970.01 . 01 00 : 00 : 00 0 - 9223372036854775808 - 1227000 - 9223372036854775808 - 2405000 0 0 2019.07 . 24 15 : 20 : 33.131 ! 00 (EURUSD,H1) [ 1 ] 87842 840220012 2019.07 . 24 17 : 00 : 00 1970.01 . 01 00 : 00 : 00 0 - 9223372036854775808 1791000 - 9223372036854775808 - 9223372036854775808 0 0 2019.07 . 24 15 : 20 : 33.131 ! 00 (EURUSD,H1) [ 2 ] 93625 410010011 2019.07 . 24 23 : 00 : 00 2019.04 . 01 00 : 00 : 00 1 - 9223372036854775808 - 400000 - 9223372036854775808 400000 0 0 2019.07 . 24 15 : 20 : 33.131 ! 00 (EURUSD,H1) [ 3 ] 93626 410010012 2019.07 . 24 23 : 00 : 00 2019.04 . 01 00 : 00 : 00 1 - 9223372036854775808 1700000 - 9223372036854775808 2900000 0 0 2019.07 . 24 15 : 20 : 33.131 ! 00 (EURUSD,H1) [ 4 ] 87394 392060016 2019.07 . 24 23 : 50 : 00 2019.06 . 01 00 : 00 : 00 0 - 9223372036854775808 800000 - 9223372036854775808 0 0 0 2019.07 . 24 15 : 20 : 33.131 ! 00 (EURUSD,H1) [ 5 ] 97012 392070003 2019.07 . 24 23 : 50 : 00 2019.07 . 20 00 : 00 : 00 0 - 9223372036854775808 950000000 - 9223372036854775808 - 9223372036854775808 0 0 2019.07 . 24 15 : 20 : 33.131 ! 00 (EURUSD,H1) [ 6 ] 97013 392070004 2019.07 . 24 23 : 50 : 00 2019.07 . 20 00 : 00 : 00 0 - 9223372036854775808 - 93100000 - 9223372036854775808 - 9223372036854775808 0 0
Nerede, çalışmak için zamanı olmayan nedir?
Evet teşekkür ederim. Bununla zaten ilgilendim. Dağıtılan belgelerden örnekte düzeltmeler yapmak.
@Renat Fatkhullin Renat, bir gün TimeGMTOffset() gibi bir işlevin yerel saate göre değil, yalnızca sunucu saatine göre yapılacağını ummak mümkün mü? Sonuçta, ekonomik takvimin işlevleri GMT saatini kullanır ve yerel saat genellikle sunucu saatiyle eşleşmez. Haberin zamanını aldıktan sonra, terminal sırasında çevirerek onunla dalga geçmeniz gerektiği ortaya çıktı. Hafta sonu böyle bir işlevi çağırırken sorunlar olabileceğini anlıyorum, ancak işlevin şu anda kullanılamadığı bir tür hata veya başka bir şey tanımlayabilirsiniz.
Şimdiye kadar şunu yaptım: OnInit()'te zaman farkı düşünülür ve global düzeydeki bir değişkene yazılır. Ama onda sevmediğim bir şey var. Bence yerleşik işlevi çağırıp haber saatini sunucu saatine ayarlamak daha iyi olur. Ayrıca, terminal muhtemelen sunucu saatinde ve hafta sonları kullanılabilir.
@Renat Fatkhullin Renat, bir gün TimeGMTOffset() gibi bir işlevin yerel saate göre değil, yalnızca sunucu saatine göre yapılacağını ummak mümkün mü? Sonuçta, ekonomik takvimin işlevleri GMT saatini kullanır ve yerel saat genellikle sunucu saatiyle eşleşmez. Haberin zamanını aldıktan sonra, terminal sırasında çevirerek onunla dalga geçmeniz gerektiği ortaya çıktı. Hafta sonu böyle bir işlevi çağırırken sorunlar olabileceğini anlıyorum, ancak işlevin şu anda kullanılamadığı bir tür hata veya başka bir şey tanımlayabilirsiniz.
Şimdiye kadar şunu yaptım: OnInit()'te zaman farkı düşünülür ve global düzeydeki bir değişkene yazılır. Ama onda sevmediğim bir şey var. Bence yerleşik işlevi çağırıp haber saatini sunucu saatine ayarlamak daha iyi olur. Ayrıca, terminal muhtemelen sunucu saatinde ve hafta sonları kullanılabilir .
Tabii ki mevcut, bu zaten talep edildi.
Tabii ki mevcut, bu zaten talep edildi.
Vitaly, herhangi bir talep tartışılmalı. Umarım böyle bir işlevin gerekliliğini yeterince tartışabilmişimdir. Artık sadece şirket programcılarının iş yüküne ve argümanların nasıl anlaşıldığına ve kabul edildiğine bağlı. Ümit etmek.
Takvimden hangi bilgiler alınabilir: (Programın kullandığı ve bir kişi için çok bilgilendirici olmayan değerler burada listelenmiyor)
- ülkenin adı
- Ülke para birimleri
- etkinlik tipi
Etkinlik (miting, konuşma vb.) |
Gösterge |
Tatil |
- etkinliğin ait olduğu sektör
pazar, takas |
Gayri Safi Yurtiçi Hasıla (GSYİH) |
İşgücü piyasası |
Fiyat:% s |
Para |
Ticaret |
Devlet |
İşletme |
Tüketim |
Konut |
vergiler |
Bayram |
- olayın terminal dilindeki metin adı (geçerli terminal kodlamasında)
- etkinliğin saati ve tarihi
- olay raporlama dönemi
- göstergenin gerçek değeri
- önceki gösterge değeri
- revize edilmiş önceki gösterge değeri
- göstergenin tahmin değeri
- döviz kuru üzerindeki potansiyel etki
Etkisi belirtilmedi |
Olumlu etki |
Negatif etki |
Ne yazık ki şu ana kadar haberlerin yayınlanmasından önce pozisyon açma yasağı dışında başka bir çözüme rastlamadım. Listelenenlerin hangi değerlerinin kullanılabileceğini ve bunlara nasıl yanıt verileceğini öğrenmek istiyorum.
Anladığım kadarıyla vurgulanan değerler, haberlere nasıl tepki verileceğine karar vermek için çok önemli ama nasıl olduğunu anlamıyorum. tartışmaya davet ediyorum.
Takvimden hangi bilgiler alınabilir: (Programın kullandığı ve bir kişi için çok bilgilendirici olmayan değerler burada listelenmiyor)
- ülkenin adı
- Ülke para birimleri
- etkinlik tipi
Etkinlik (miting, konuşma vb.) |
Gösterge |
Tatil |
- etkinliğin ait olduğu sektör
pazar, takas |
Gayri Safi Yurtiçi Hasıla (GSYİH) |
İşgücü piyasası |
Fiyat:% s |
Para |
Ticaret |
Devlet |
İşletme |
Tüketim |
Konut |
vergiler |
Bayram |
- olayın terminal dilindeki metin adı (geçerli terminal kodlamasında)
- etkinliğin saati ve tarihi
- olay raporlama dönemi
- göstergenin gerçek değeri
- önceki gösterge değeri
- revize edilmiş önceki gösterge değeri
- göstergenin tahmin değeri
- döviz kuru üzerindeki potansiyel etki
Etkisi belirtilmedi |
Olumlu etki |
Negatif etki |
Ne yazık ki şu ana kadar haberlerin yayınlanmasından önce pozisyon açma yasağı dışında başka bir çözüme rastlamadım. Listelenenlerin hangi değerlerinin kullanılabileceğini ve bunlara nasıl yanıt verileceğini öğrenmek istiyorum.
Anladığım kadarıyla vurgulanan değerler, haberlere nasıl tepki verileceğine karar vermek için çok önemli ama nasıl olduğunu anlamıyorum. tartışmaya davet ediyorum.
İşte haber göstergesinin benim versiyonum. Terminal, seçim için para birimlerine göre haberlerin yayınlanma zamanı hakkında bilgi sağlar, ayrıca önem derecesi de seçilir. Bilgi, fiyat grafiğinde dikey bir çizgi olarak görüntülenir. Alt pencerede, önemli olarak sınıflandırılan haberler için verileri tahmin etmek için güncel verilerin en son değerlerinin bir histogramını kronolojik sırayla oluşturuyoruz. Haberin türüne göre (Faiz oranları, İşsizlik oranı, Tüketici fiyat endeksi, GSYİH vb. ) farklı renklerle renklendiriyoruz. Ortaya çıkan çizelge, zaman dilimleri değiştirilirken fiyat tablosu ile zaman ve ölçekte senkronize edilmelidir. Ayrıca ilgili verileri elde etme hızıyla da ilgilenir.
İşte haber göstergesinin benim versiyonum. Terminal, seçim için para birimlerine göre haberlerin yayınlanma zamanı hakkında bilgi sağlar, ayrıca önem derecesi de seçilir. Bilgi, fiyat grafiğinde dikey bir çizgi olarak görüntülenir. Alt pencerede, önemli olarak sınıflandırılan haberler için verileri tahmin etmek için güncel verilerin en son değerlerinin bir histogramını kronolojik sırayla oluşturuyoruz. Zaman dilimleri değiştirilirken ortaya çıkan grafik, fiyat grafiği ile zaman içinde senkronize edilmelidir. Ayrıca ilgili verileri elde etme hızıyla da ilgilenir.
Grafikte mevcut olan tüm geçmiş derinliği için histogramları mı kastediyorsunuz?
Ama bu gerçek kullanım içindir, gerçek zamanlı olarak herhangi bir bilgi vermez. Yoksa ben mi hiçbir şey anlamadım? Tahmini ve mevcut değeri aldık, peki, bir histogram koyduk ve sonra? Sadece manuel olarak mı karar veriyorsunuz?
Takvimde veri güncelleme hızına bakmadım ve hazır veri alma hızı ölçülmeli ama hız oldukça yüksek olduğu için böyle bir istek yok.
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
MQL5 ekonomik takviminin nasıl çalıştığını anlamak istiyorum, ancak bir şeyler pek iyi gitmiyor. Dünün neredeyse tamamını ve bugünün başlangıcını geçirdim, ancak CalendarValueHistory'nin neden tüm olayları döndürmediğini anlamadım. Yoksa ben mi bu olayları biraz karıştırıyorum...
Dün takvimde yazılı olarak xx:45'te 4 etkinlik aldım. Etkinlik saatlerini "xx" olarak yazıyorum çünkü alınan saat tablodaki ile aynı değil. Ancak en azından bunun, belirtilen zaman ile bu verilerin alındığı terminal veya sunucunun zamanı arasındaki farktan kaynaklandığı anlaşılabilir. Ve bugün dakikalarla sadece 3 olay alıyorum: 45 ve nedenini anlayamıyorum.
Ve geliştiricilere bir soru: Dizide neden 2019.07.25 00:00 tarihi ilk sırada ve aşağıdaki satırlar artan düzende sıralanıyor. Sonuç listesine bakın.