"Birkaç Ara Gösterge Arabelleği Kullanarak Çok Para Birimli Gösterge Oluşturma" makalesi için tartışma
bu tür göstergelerin bunu da sıralaması yararlı olacaktır
değerlerine bağlı olarak. Eğer böyle bir fonksiyon varsa, bisiklet icat etmemek için lütfen paylaşın.
Bu tür göstergelerde de bunu sıralamak faydalı olacaktır
değerlerine bağlı olarak. Eğer böyle bir işlev varsa, bisiklet icat etmemek için lütfen paylaşın.
Hazır bir işlevi yok ama taslağını çıkarmak zor olmayacaktır diye düşünüyorum.
19.05.2010
İşte gerçekleşen
Teşekkür ederim.
Belirtmek istediğim tek şey, senkronizasyon yönteminin her zaman çalışmadığıdır. İşte bir resim. Tırnak içinde 24 saat boyunca delik var, ancak her şey senkronize (((.
Bu çok kötü bir durum. Neden böyle olduğunu anlayamıyorum ve en önemlisi bu konuda ne yapmalıyım?
Teşekkür ederim.
Belirtmek istediğim tek şey, senkronizasyon yönteminin her zaman çalışmadığıdır. İşte bir resim. Tırnak içinde 24 saattir delik var ama her şey senkronize (((.
Bu çok kötü. Neden bu kadar anlayamıyorum ve en önemlisi bu konuda ne yapmalıyım?
Gösterge 2 tür senkronizasyon kullanır
1 çubuk sayısına göre (grafikte varsayılan olarak 500 çubukluk gerekli geçmişten daha fazla çubuk olmalıdır) bu koşul görünüşe göre yerine getirilmiştir.
2 her bir döviz çiftindeki sıfır çubuğunun açılış zamanına göre - bu koşul da görünüşe göre yerine getirilmiştir.
İkinci senkronizasyon türüne benzer şekilde her çiftteki her çubuğun açılış zamanını kontrol etmek için üçüncü bir senkronizasyon türü eklemeye değer olduğunu düşünüyorum.
Biraz daha özgür olacağım için - bu türü de yapacağım.
....
İkinci senkronizasyon türüne benzer şekilde, her çiftteki her çubuğun açılış zamanını kontrol etmek için üçüncü bir senkronizasyon türü eklemeye değer olduğunu düşünüyorum.
Resminizde ve benzerlikte bool init_tf(...) fonksiyonunu yaptım.
//+------------------------------------------------------------------+ //| İlgili döviz çiftlerinin grafiklerinin başlatılması | //| ve veri senkronizasyon kontrolü| //+------------------------------------------------------------------+ //| içinde.| //| mas[] gerekli karakterlerin adlarından oluşan bir dizidir | //| time_0 - geçerli çubuk zamanı[0]| //| count_Bars - gerekli çubuk sayısı | //+------------------------------------------------------------------+ bool init_tf(string &mas[], datetime time_0, int count_Bars) { bool rez=false; // başarı bayrağı int copied=0, // kopyalanan veri sayısı counter=0, // hata sayacı tmp_bars=0; // mevcut çubuk sayısını kontrol etmek için datetime tmp_time[1]; // bar süresini kontrol etmek için dizi f_comment("Devam eden bir senkronizasyon var."); for(int i=0; i<count_symbol; i++) { //Print("i=",i," ",count_symbol," ",mas[i]); tmp_bars=Bars(mas[i],PERIOD_CURRENT); if(tmp_bars<count_Bars) { // çubuk sayısını kontrol edin Print("i=",i," Yeterli bar yok (", mas[i],"-",fTimeFrameName(_Period),") MaxBars=",MaxBars," > Bars=",tmp_bars); counter++; } ResetLastError(); copied = CopyTime(mas[i],PERIOD_CURRENT,0,1,tmp_time); if(copied < 1) { // kopyalama hatası Print("i=",i," Kopyalama Hatası (", mas[i],"-",fTimeFrameName(_Period),") №",_LastError," (",ErrorDescription(_LastError),")"); counter++; } if(tmp_time[0]!=time_0) { // zaman eşleşmedi Print("i=",i," Zaman senkronizasyonu yok (", mas[i],"-",fTimeFrameName(_Period),") delta ="",(long)(time_0-tmp_time[0])/60,"min"); counter++; } }// son for(int i=0; i<k; i++) if(counter==0) { // her şey yolunda. hata yok rez=true; f_comment("Her şey. Tamam."); } else f_comment("Senkronizasyon yok."+(string)counter); ChartRedraw( ); return(rez); }
Şampiyonada olacak 12 çift seçtim. Sadece senkronizasyonu incelemek amacıyla bir gösterge RVI_ALL yaptım. Başlattım. Sonuç.
2010.05.30 16:55:26 RVI_ALL (EURUSD,M1) i= 10 Zaman senkronizasyonu yok ( GBPJPY - M1 ) delta = 1 dk
2010.05.30 16:55:26 RVI_ALL (EURUSD,M1) i= 5 Zaman senkronizasyonu yok ( AUDUSD - M1 ) delta = 1 dk
2010.05.30 16:55:26 RVI_ALL (EURUSD,M1) i= 1 Zaman senkronizasyonu yok ( GBPUSD - M1 ) delta = 1 dk
Bugün Pazar, bu sembollerde hiç çubuk (son çubuk) yok. Bir sonraki tik, sadece Pazartesi günü. Sonra deliksiz bu makale grafiğini hatırladım https://www.mql5.com/tr/articles/1407.
Ve delikler olacak. Olacak. Onlarla bir şekilde mücadele etmeliyiz. Prensip olarak, makalede anlatılanın aynısını yapabilirsiniz. Ama bir sorum var.
Gösterge tek bir grafikte asılı kalıyor. Ve bu sembol üzerinde bir geçmiş takası varsa, bunu öğrenebilirim, prev_calculated sıfırlanacaktır.
Ancak diğer sembollerin bir geçmiş takası olduğunu veya verilerin uzun bir gecikmeyle geldiğini nasıl bilebilirim?
Ve delikler olacak. Delikler olacak. Bunlarla bir şekilde başa çıkılmalıdır. Prensip olarak, makalede anlatılanın aynısını yapabilirsiniz. Ama bir sorum var.
Gösterge tek bir grafikte asılı kalıyor. Ve eğer bu sembol üzerinde bir geçmiş takası varsa, bunu öğrenebilirim, prev_calculated sıfırlanacaktır.
Ancak diğer sembollerin bir geçmiş değişimi olduğunu veya verilerin uzun bir gecikmeyle geldiğini nasıl bilebilirim?
1 Ya geçmişte bir delik varsa göstergenin çizilmesine izin vermeyin ve deliği "yamalama" anında geçmişi periyodik olarak yoklayın. (Mevcut grafikte yeni bir tik veya bir zamanlayıcı).
2. Veya geçmişteki deliğin yeterince uzak olması koşuluyla göstergeyi yalnızca deliğe kadar çizin.
ve bu işlevi biraz değiştirin
bool init_tf(string &mas[], datetime time_0, int count_Bars, int shift) и далее по тексту copied = CopyTime(mas[i],PERIOD_CURRENT,shift,1,tmp_time);
Ardından bu işlevi bir döngü içinde çağırın (0'dan shiftbars'a kadar).
Bu durumda
shift
diğer enstrümanlarla senkronizasyon için kontrol ettiğimiz mevcut enstrüman ve TF üzerindeki çubuk konumu olacaktır.
Hikayede bir boşluk olduğunu bilmeme imkan yok.
https://www.mql5.com/ru/forum/1111/8747#comment_8747
Tek çıkış yolu zamanı kopyalamak ve tüm dizi boyunca döngü yapmaktır, ancak bu yine bir serseri olabilir, bu bir kısır döngüdür ( ((
Geliştiriciler https://www.mql5.com/tr/articles/1407 kavramını deliksiz grafikler yapmak için değiştirmezlerse, her şeyi senkronize etmenin imkansız olduğu ortaya çıkabilir.
Hikayede bir boşluk olduğunu bilmeme imkan yok.
https://www.mql5.com/ru/forum/1111/8747#comment_8747
Tek çıkış yolu zamanı kopyalamak ve tüm dizi boyunca döngü yapmaktır, ancak bu yine bir serseri olabilir, bu bir kısır döngüdür ( ((
Geliştiriciler https://www.mql5.com/tr/articles/1407 kavramını deliksiz grafikler yapmak için değiştirmezlerse, her şeyi senkronize etmenin imkansız olduğu ortaya çıkabilir.
Time[] tamponları ile senkronizasyonu kullanın ve hiçbir karışıklık olmayacaktır.
Sadece bir alıntı çağrısına zamana göre bir ön kontrol eşlik etmelidir ve sonra her şey senkronize edilecektir.
Yine de bu yolun kolay olmadığını ve birçok hata olabileceğini kabul ediyorum.
Merhaba!
Dolar endeksi formülünün doğruluğu hakkında şüphelerim var, belki de yanlışlar
Lütfen birisi bu formülü ve nasıl ortaya çıktığını daha ayrıntılı olarak açıklayabilir mi?
"Dolar endeksi, Neutron tarafından bana nazikçe sağlanan bir formül kullanılarak hesaplanan double türünde bir değerdir."
Neden formüllerden alıntı yapıp başkasının adını referans gösteriyorsun? Kafasında yedi göz mü var? Anlaşılan önce makaleyi okumak, sonra formüllerin yazarlarına sormak gerekiyor? Eğer yazar oysa, o zaman aldığı linki verin.

- Ü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
Yeni makale Birkaç Ara Gösterge Arabelleği Kullanarak Çok Para Birimli Gösterge Oluşturma yayınlandı:
FOREX piyasasının küme analizlerine ilgi son zamanlarda arttı. MQL5, döviz çiftlerinin hareket trendlerini araştırmak için yeni olanaklar sunar. MQL5'i MQL4'ten ayıran en önemli özelliği, sınırsız miktarda gösterge arabelleği kullanma olasılığıdır. Bu makalede, çok para birimli göstergesi oluşturma örneği açıklanmaktadır.
Bu, göstergelerin hesaplanmasını tamamlar. Şekil 4-6'da, farklı gösterge türlerine ait birkaç resim gösterilmiştir.
Yazar: Alexey Klenov