MetaTrader 4 Build 529 Beta, Yeni Derleyici ile Yayınlandı - sayfa 22

 
Renat :

Bir tane inşa et.

64 bit Windows'taki 32 bit uygulamalar, yalnızca Program Dosyalarına (x86) yüklenir - bunlar Microsoft'un uyumluluk gereksinimleridir.

Kullanıcılar/AppData alanındaki veri dizinleri artık çöp ve Microsoft tavsiyeleri değil (tüm geliştiricilerin yıllardır üzerine tükürdüğü), hayatın acı gerçeğidir. En son işletim sistemlerinde Microsoft, UAC ile başa çıkmanın başka bir yolu olmadığı için balyozlu herkesi doğru çalışmaya itmiştir. Kitle pazarında, tek yol bu.

Terminali verilerin çoğunu yerel bir dizinde depolamaya veya taşınabilir / taşınabilir (örneğin bir flash sürücüde) modunda çalışmaya zorlamak için /portable bayrağını kullanmanız gerekir. Ancak bu yine de Kullanıcılar/AppData'da kişiselleştirilmemiş genel verilerin depolanması için geçerli değildir.

O zaman mevcut 509 dahil eski buildlerin Users/AppData'da belirttiğim parametrelerle hiçbir şey oluşturmadığını nasıl açıklayabilirsiniz? Yani tam olarak belirttiğim parametrelerle.
 
Renat :

1. yapabilirsiniz. pencereyi MT5 ile aynı biçimde yeniden yapacağız

2. Bkz. "Dosya - Veri Dizinini Aç". Oradan yol dikkate alınacak

3. 16x16'dan 64x64'e (128x128) .ico dosyalarından eksiksiz bir set (bir dosyada birkaç simge) kullanmak daha iyidir. Yakında, doğrudan işletim sistemi arayüzünde programlar kendi yerel simgeleriyle gösterilecektir.

  1. Kusursuzca
  2. Bakıldı: D:\NewMT4\ D:\NewMT4\MQL4\ olması gerekmez mi? Ve değilse, yola "\\MQL4\\files\\FindTwoFractals32x32.ico" yazmanız gerekir; ???
  3. Bu tür setler oluşturmak için herhangi bir program var mı? Üç yüz yıl grafiklerle ilgilenmedi.
Teşekkür ederim.
 
artmedia70 :
  1. Kusursuzca
  2. Bakıldı: D:\NewMT4\ D:\NewMT4\MQL4\ olması gerekmez mi? Ve değilse, yola "\\MQL4\\files\\FindTwoFractals32x32.ico" yazmanız gerekir; ???
  3. Bu tür setler oluşturmak için herhangi bir program var mı? Üç yüz yıl grafiklerle ilgilenmedi.
Teşekkür ederim.

2. Terminal, MQL4 klasörünün otomatik olarak eklendiğini bilir. Yani \\files ile doğru yazılmış

3. arama - ücretsiz olanlar da dahil olmak üzere birçok ICON Studio piyasaya sürüldü.

 
Renat :

2. Terminal, MQL4 klasörünün otomatik olarak eklendiğini bilir. Yani \\files ile doğru yazılmış

3. arama - ücretsiz olanlar da dahil olmak üzere birçok ICON Studio piyasaya sürüldü.


teşekkürler
 
Barbarian :
O zaman mevcut 509 dahil eski buildlerin Users/AppData'da belirttiğim parametrelerle hiçbir şey oluşturmadığını nasıl açıklayabilirsiniz? Yani tam olarak belirttiğim parametrelerle.

Birisinin yıllarca Microsoft'un gereksinimlerine tükürdüğü ve hak kontrol sistemine karşı çıkarak çalıştığı gerçeği. MT4'ün birikmiş sorunlarını düzeltiyoruz.

Şu anda, dizinlerinde aktif olarak yazan bir şeyi toplu olarak satmak istiyorsanız, doğrudan UAC ve sınırlı kullanıcı hakları hakkında düşünmeniz gerekir. Milyonlarca bilgisayarın kurulum tabanını da unutmayın.

 

Renat, yeni yapılardaki değişikliklerin bir listesini içeren kısa duyurular yayınlar mısınız? Yani körü körüne test yapmıyoruz.

Bu özellikler uygulanacak mı? Sadece beklemeli miyim?

'ChartGetInteger' - function not defined

'ChartWindowFind' - function not defined

'AccountInfoString' - function not defined

'TimeTradeServer' - function not defined

'ExpertRemove' - function not defined

'AccountInfoInteger' - function not defined

 
ALXIMIKS :


Tek yapmaya çalıştığım MT4 509 ile hindimin işlevselliğini geri getirmek (şimdi yüzde 90 çalışıyor, sadece geleceğe geçme ihtimali yok)

ancak geleceği görmek için dizi-zaman serilerini geçmişe kaydırmak gerekir.

Konu size söylendi, SetIndexShift( 0 , 1 );

Hiçbir şeyi kopyalamanıza gerek yok.

Ve araç ipucundaki açıklama düzeltilecek.

 
komposter :

Renat, yeni yapılardaki değişikliklerin bir listesini içeren kısa duyurular yayınlar mısınız? Körü körüne test etmeyelim diye.

Bu özellikler uygulanacak mı? Sadece beklemeli miyim?

Listeye " SymbolSelect " i ekleyeceğim. Yeni yapıların açıklamasına ilişkin dilek için +1.
 
komposter :

Renat, yeni yapılardaki değişikliklerin bir listesini içeren kısa duyurular yayınlar mısınız? Yani körü körüne test yapmıyoruz.

Bu özellikler uygulanacak mı? Sadece beklemeli miyim?

'ChartGetInteger' - function not defined

'ChartWindowFind' - function not defined

'AccountInfoString' - function not defined

'TimeTradeServer' - function not defined

'ExpertRemove' - function not defined

'AccountInfoInteger' - function not defined

Uygulanacak.

Tüccarları toplu testlere dahil etmeye başladığımızda, önümüzdeki hafta bir değişiklik listesi hazırlayacağız. Şimdiye kadar, duyurular olmadan ve sadece Rusça forumda testler yapıyoruz.

 
komposter :

Konu size söylendi, SetIndexShift( 0 , 1 );

Hiçbir şeyi kopyalamanıza gerek yok.

Ve araç ipucundaki açıklama düzeltilecek.


fikrini tanımladı (grafiği sallayın, geleceğini icat ederken bugünü geçmişe yapıştırın), çok net değilse, ne yazık ki ........

Negatif çubuklarda gerekli olanı pozitif çubuklarda yeterli değerlerle çizmenin başka bir yolunu önerirseniz sevinirim.

(Şimdiyi geçmişe taşıdım, sonra onu gelecek vizyonumla tamamladım ve tüm bunları tekrar ama geleceğe kaydırdım)

ArrayCopy'ye gelince (llow,Low); ve ArrayCopySeries(llow, 1 ); ilk yanlış çalışma düşüncesi ArrayCopy (llow,Low) , bazı işlevlerinin ArrayCopySeries (llow, 1 ) kullanımına kıyasla hatalı dönüş değerlerinden kaynaklanmıştır. Ancak, ArrayCopy (llow,Low) ve ArrayCopySeries (llow, 1 ) tarafından elde edilen her iki dizinin üyelerinin değerlerindeki fark üzerinde yineleme üzerine bir döngü oluşturduktan sonra, tüm hesaplama doğruluğu değişkenleri için yalnızca 0 elde ettim (dizi üyeleri kesinlikle eşit). Bazen ilginç değerler atladı Düşük = 1.351400000000000000000000000001 ; ama fark her zaman 0'dı. Ardından , gösterge arabelleğinin değerlerini almak için dizileri geçirdiğim işlevimi satır satır ayrıştırmaya gittim.

Ve ArrayMaximum için ilginç veriler var. kod:

 int z=       100 ;         // z- количество баров для проверки
     delt=     2 ;         // delt - количество баров для выборки в функции ArrayMaximum()
     poz_max1= 0 ;         // poz_max1- значение(номер бара) получаемое от функции ArrayMaximum() для массива получаемого от ArrayCopySeries (llow1,   1);
     poz_max2= 0 ;         // poz_max2- значение(номер бара) получаемое от функции ArrayMaximum() для массива получаемого от ArrayCopy       (llow2, Low);

 double llow1[];         //  массив получаемый от ArrayCopySeries (llow1,   1);
        llow2[];         //  массив получаемый от ArrayCopy       (llow2, Low);

 ArrayCopySeries (llow1,   1 );  
 ArrayCopy        (llow2, Low);
 
 while ( true ){                                     // цикл проверки разности с динамической точностью
     for ( int i =z;i>= 0 ;i--){                       // цикл проверки разности с статической  точностью
       poz_max1= ArrayMaximum (llow1, delt, i);     // находим бар с максимальным значением среди delt баров начиная с i для массива получаемого от ArrayCopySeries (llow1,   1);
       poz_max2= ArrayMaximum (llow2, delt, i);     // находим бар с максимальным значением среди delt баров начиная с i для массива получаемого от ArrayCopy       (llow2, Low);
    
       if (poz_max1-poz_max2>x){                   // проверяем или одинаковые результаты мы получили (еще не выучил закарлюки которые нада для красивого принта)
           Print ( "poz_max1[i]= " ,poz_max1, "   poz_max2[i]= " ,poz_max2, "   diff[i]= " ,poz_max1-poz_max2, "    i=" ,i); 
           Print ( "llow1[i]= " , llow1[i], "   llow2[i]= " ,llow2[i], "    i=" ,i); 
           Print ( "llow1[poz_max1]= " , llow1[poz_max1], "   llow2[poz_max1]= " ,llow2[poz_max1], "    i=" ,i); 
           Print ( "==========================================================" );  
          brc= true ;                               // флаг выхода 
       } 
    }
     if (brc== true ||x< 1 e- 15 ) return ( 0 );
    x/= 10 ;
 }

Sonuç, iki dizi için ArrayMaximum'un farklı uygulaması

 2013.11 . 07 16 : 24 : 16      CopeSerrias EURUSD_t,H4: ==========================================================
2013.11 . 07 16 : 24 : 16      CopeSerrias EURUSD_t,H4:        llow1[i]= 1.3297           llow2[i]= 1.3297     i= 1
2013.11 . 07 16 : 24 : 16      CopeSerrias EURUSD_t,H4: llow1[poz_max1]= 1.3512    llow2[poz_max1]= 1.3297     i= 1
2013.11 . 07 16 : 24 : 16      CopeSerrias EURUSD_t,H4:     poz_max1[i]= 2             poz_max2[i]= 1         diff[i]= 1     i= 1
2013.11 . 07 16 : 24 : 16      CopeSerrias EURUSD_t,H4: ==========================================================
2013.11 . 07 16 : 24 : 16      CopeSerrias EURUSD_t,H4:        llow1[i]= 1.3501           llow2[i]= 1.3501      i= 4
2013.11 . 07 16 : 24 : 16      CopeSerrias EURUSD_t,H4: llow1[poz_max1]= 1.3512    llow2[poz_max1]= 1.3501     i= 4
2013.11 . 07 16 : 24 : 16      CopeSerrias EURUSD_t,H4:     poz_max1[i]= 5             poz_max2[i]= 4          diff[i]= 1     i= 4
2013.11 . 07 16 : 24 : 16      CopeSerrias EURUSD_t,H4: ==========================================================

Sonuç: ArrayCopy (llow,Low) ve ArrayCopySeries (llow, 1 ) kullanılarak elde edilen diziler için ArrayMaximum() içindeki yineleme değerleri farklı yönlere gider.

İçin ArrayCopy (llow2,Low) , ArrayMaximum() işlevi kullanılırken çubuklar ileriye doğru hareket ettirilir:

ArrayMaximum (llow2, 5, 5) için 5, 4, 3, 2, 1 çubukları dikkate alınacaktır.

Böyle mi olmalı?????????????