Hatalar, hatalar, sorular - sayfa 2684

 
fxsaber :

Anlamadın. Gerçekten de herhangi bir Terminalde aranır. Ancak hesabıma yalnızca yerel hesabımdan erişebiliyorum. Öte yandan - hayır.

Büyük olasılıkla, bağlanmadığı terminalde eski erişim noktaları önbelleğe alınır ve yenileri yoktur (brokerlar erişim noktalarının yapılandırmasını değiştirir).

1) Bağlantısız terminalde Swissquote-Sunucusuna hiç bağlantı (başarılı veya başarısız) yaptınız mı?

2) Açık hesap penceresine gidin, "Swissquote-Server" girin, Enter'a basın, başarılı işlem için bekleyin ve yeniden bağlanmayı deneyin

3) Bu yeniden yüklenmiş/yeni/kullanılmayan bir bilgisayar mı? Hangi işletim sistemi ve herhangi bir güncelleme var mı?

 
Renat Fatkhullin :

Büyük olasılıkla, bağlanmadığı terminalde eski erişim noktaları önbelleğe alınır ve yenileri yoktur (brokerlar erişim noktalarının yapılandırmasını değiştirir).

1) Bağlantısız terminalde Swissquote-Sunucusuna hiç bağlantı (başarılı veya başarısız) yaptınız mı?

Yapmadım.

2) Açık hesap penceresine gidin, "Swissquote-Server" girin, Enter'a basın, başarılı işlem için bekleyin ve yeniden bağlanmayı deneyin

Listede olmayan bir sunucuya bağlanmam gerektiğinde her zaman yaptığım şey tam olarak budur. Sunucu listede, bağlantı yok.

3) Bu yeniden yüklenmiş/yeni/kullanılmayan bir bilgisayar mı? Hangi işletim sistemi ve herhangi bir güncelleme var mı?

yerli terminali.

 2020.03 . 26 08 : 05 : 40.967 Terminal        Swissquote Bank MT5 Client Terminal x64 build 2368 started for Swissquote Bank SA
2020.03 . 26 08 : 05 : 40.969 Terminal        Windows 7 Service Pack 1 build 7601 , Intel Core i7- 2700 K  @ 3.50 GHz, 7 / 15 Gb memory, 4 / 29 Gb disk, IE 11 , Admin, GMT+ 2
2020.03 . 26 08 : 05 : 40.969 Terminal        C:\Program Files\Swissquote Bank MT5 Client Terminal


Uzaylı Terminali.

 2020.03 . 26 08 : 06 : 51.678 ICMarkets - MetaTrader 5 x64 build 2368 started for International Capital Markets Pty Ltd.
2020.03 . 26 08 : 06 : 51.679 Windows 7 Service Pack 1 build 7601 , Intel Core i7- 2700 K  @ 3.50 GHz, 7 / 15 Gb memory, 4 / 29 Gb disk, IE 11 , Admin, GMT+ 2
2020.03 . 26 08 : 06 : 51.679 C:\Program Files\ICMarkets - MetaTrader 5


Aynı makinede çalışır. Yapılandırma klasörünü yok ederseniz, bağlantı gider. Ama sonra araştırma Terminalindeki diğer tüm hesapların verilerini kaybedeceğim.


ZY Doğrudan deneyebilmem için bana LAN'daki sunucunun IP adresini söyler misin?

 
fxsaber :

Yapmadım.

Listede olmayan bir sunucuya bağlanmam gerektiğinde her zaman yaptığım şey tam olarak budur. Sunucu listede, bağlantı yok.

yerli terminali.


Uzaylı Terminali.


Aynı makinede çalışır. Yapılandırma klasörünü yok ederseniz, bağlantı gider. Ama sonra araştırma Terminalindeki diğer tüm hesapların verilerini kaybedeceğim.


ZY Doğrudan deneyebilmem için bana LAN'daki sunucunun IP adresini söyler misin?

Her şeyi sorunsuz bağladım:

 2020.03 . 26 13 : 34 : 06.558 Network new demo account '6036452' opened on Swissquote-Server
2020.03 . 26 13 : 34 : 21.308 Network '8550475' : disconnected from MetaQuotes-Demo
2020.03 . 26 13 : 34 : 22.540 HistoryCenter   delete old files from E:\MetaQuotes\MetaTrader 5 \bases\Swissquote-Server\history\AEP, last access time 2018.03 . 02 18 : 42
2020.03 . 26 13 : 34 : 23.588 Experts automated trading is disabled because the account has been changed
2020.03 . 26 13 : 34 : 23.946 Network '6036452' : authorized on Swissquote-Server
2020.03 . 26 13 : 34 : 23.946 Network '6036452' : previous successful authorization performed from 176.49 . 173.218 on 2020.03 . 26 07 : 34 : 05
2020.03 . 26 13 : 34 : 25.751 Network '6036452' : terminal synchronized with Swissquote Bank SA
2020.03 . 26 13 : 34 : 25.751 Network '6036452' : trading has been enabled - hedging mode
2020.03 . 26 13 : 34 : 26.843 Network '6036452' : scanning network for access points
2020.03 . 26 13 : 35 : 01.961 Network '6036452' : scanning network finished
 
Artyom Trishkin :

Her şeyi sorunsuz bağladım:

Evet, demo sorunsuz çalışıyor.

2020.03.26 08:42:07.401 new demo account '6036453' opened on Swissquote-Server
2020.03.26 08:42:09.188 '6036453': authorized on Swissquote-Server


Gerçekte, hayır.

2020.03.26 08:42:40.551 '6036453': disconnected from Swissquote-Server
2020.03.26 08:42:41.418 'xxxxxxx': no connection to Swissquote-Server
 
fxsaber :

Evet, demo sorunsuz çalışıyor.


Gerçekte, hayır.

İki sunucu vardı:

İlkinde bir demo oluşturdum.

Belki ikincisi gerçek?

 
Artyom Trishkin :

İki sunucu vardı:

İlkinde bir demo oluşturdum.

Aynı şekilde.

Belki ikincisi gerçek?

İkinci başka bir ticaret sunucusunda.

 

Arkadaşlar lütfen yardım edin!

Programlamaya kısa bir süre önce başladım, böyle hatalar alıyorum, nedenini söyle...

1. Test cihazında EURUSD çifti için MarketInfo(Symbol(),MODE_TICKVALUE) kullandım, 0,01 sayısını veriyor ve terminal 1'de neden?

2. iClose,iOpen,iHigh,iLow shift=1 iken bazen 0 veriyor, nasıl düzeltilir?


teşekkürler

 

ArrayResize()+reserve hızı konusu hala musallat.
Bu sefer soru, ilkel veri türlerinin dizileriyle ilgili.

 #define K 1000
#define M ( 1000 * K)

#define   SpeedTest(test_count,msg,EX_pref, EX_test, EX_post) {         \
               uint result = 0 ; ulong count=test_count;                 \
               for ( ulong ii= 0 ;ii<count&&! _StopFlag ;ii++){               \ 
                   EX_pref                                              \
                   uint start= GetTickCount ();                           \
                   EX_test                                              \
                   result += GetTickCount () - start;                    \ 
                   EX_post                                              \
               }                                                        \
               printf ( "%-60s: loops=%i ms=%u" ,msg,count,result);}
                                              
class A{
public :
   int data;
};


template < typename T>
void test1( const int test_count, const int array_size){
   T class_array[];
   T tmp[];
   
   SpeedTest(
      test_count, StringFormat ( "Test %s ArrayResize all" , typename (T)),
      {}
      ,
      {
         ArrayResize (class_array, array_size);
         for ( int i = 1 ; i <= array_size; i++){
             ArrayResize (class_array, array_size, i);
            class_array[i- 1 ] = NULL ;
         }
      },
      {            
         ArraySwap (tmp, class_array);
         ArrayFree (tmp);
      }
   )
};

template < typename T>
void test2( const int test_count, const int array_size){
   T class_array[];
   T tmp[];
   
   SpeedTest(
      test_count, StringFormat ( "Test %s ArrayResize one by one with reserved memory" , typename (T)),
      {},
      {
         ArrayResize (class_array, array_size);         
         for ( int i = 1 ; i <= array_size; i++){
             ArrayResize (class_array, i, i);
            class_array[i- 1 ] = NULL ;
         }
      },   
      {            
         ArraySwap (tmp, class_array);
         ArrayFree (tmp);
      }
   )
};

 


void OnStart ()
{
   const int test_count = 1 ;
   const int array_size = 20 *K*K;  
  
   printf ( "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" );
   test1< int >(test_count, array_size);               // Avg time: release( 120) / debug( 155)
   test2< int >(test_count, array_size);               // Avg time: release( 205) / debug( 235)
   test1< int >(test_count, array_size);
   test2< int >(test_count, array_size);
   test1< int >(test_count, array_size);
   test2< int >(test_count, array_size);
   test1< int >(test_count, array_size);
   test2< int >(test_count, array_size);
   test1< int >(test_count, array_size);
   test2< int >(test_count, array_size);
   
   printf ( "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" );
   test1< double >(test_count, array_size);           // Avg time: release( 155) / debug( 190)
   test2< double >(test_count, array_size);           // Avg time: release( 250) / debug( 260)
   test1< double >(test_count, array_size);
   test2< double >(test_count, array_size);
   test1< double >(test_count, array_size);
   test2< double >(test_count, array_size);
   test1< double >(test_count, array_size);
   test2< double >(test_count, array_size);
   test1< double >(test_count, array_size);
   test2< double >(test_count, array_size);
   
   printf ( "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" );
   test1<A*>(test_count, array_size);               // Avg time: release( 190) / debug( 200)
   test2<A*>(test_count, array_size);               // Avg time: release( 330) / debug( 340)
   test1<A*>(test_count, array_size);
   test2<A*>(test_count, array_size);
   test1<A*>(test_count, array_size);
   test2<A*>(test_count, array_size);
   test1<A*>(test_count, array_size);
   test2<A*>(test_count, array_size);
   test1<A*>(test_count, array_size);
   test2<A*>(test_count, array_size);
}

Önceki sürümle karşılaştırıldığında, kod biraz geliştirildi:
- her iki test için de ArrayResize'ın aynı sayıda çağrılması garanti edilir, daha önce optimize edici katkıda bulundu...
- dizileri serbest bırakma süresi, yürütme süresinin hesaplanmasından hariç tutulur - ArrayFree;


İlkel veri türleri için, ArrayResize()+reserve, normal ArrayResize()'dan (205 ms'ye karşı 65 ms) 3 kattan daha yavaştır.
Bu çok fazla, bu nedenle 20M CArrayList::Add çağrılarındaki Generic\ArrayList.mqh için, bellek rezervasyonu olmadan ve rezervasyonla çalışma hızı 1,85 kat (170 ms'ye karşı 95 ms) farklılık gösterir.
Burada açıkça bir şey var.

ArrayResize()+reserve işlevinin ilkel türleri için işlem hızını bir şekilde geliştirmek mümkün müdür?
Neden bu kadar büyük bir kayıp olabilir?

Gerçekliğin çok daha karmaşık olabileceğini anlıyorum, ancak yürütmenin sonucunu etkileyen yalnızca birkaç kontrol görüyorum:

IsDynamic == doğru
IsIndexBuffer == yanlış
IsSetAsSerrias == yanlış
yeni_boyut > beden
new_size < kapasite
IsFundamental == true (veya yapıcı ve yıkıcı == 0)

Hatta bazı kontroller, ana, daha olası kod yürütme yönünü hızlandırmak için bir bit maskesi aracılığıyla birleştirilebilir.
Ve nadir durumlarda, bit maskesi denetimi başarısız olduğunda, sonucu hangi bayrakların etkilediğini de belirtin...

 
fxsaber :

Evet, demo sorunsuz çalışıyor.

Gerçekte, hayır.

2020.03.26 08:42:41.418 'xxxxxxx': no connection to Swissquote-Server

Tünaydın,

1. Gerçek bir hesaba bağlantının geçmediği terminalde (araştırma) bu hesap hesap listesinde var mı?

Yani, gezginde görüntülenen bu xxxxxxx hesabı:


2. Bir xxxxxxx hesabı varsa, iki nokta üst üste işaretinden sonra YYYYYY adıyla mı görüntüleniyor (sadece bir sayı olarak değil)?

3. Bir xxxxxxx hesabı varsa, onu silerseniz (navigatörde Sil menü komutuyla) ve yeni bir hesap kullanarak bağlanırsanız, bağlantı devam ediyor mu?


teşekkürler

 
Anton :

1. Gerçek bir hesaba bağlantının geçmediği terminalde (araştırma) bu hesap hesap listesinde var mı?

Yani, gezginde görüntülenen bu xxxxxxx hesabı:

xxxx görüntülenir.

2. Bir xxxxxxx hesabı varsa, iki nokta üst üste işaretinden sonra YYYYYY adıyla mı görüntüleniyor (sadece bir sayı olarak değil)?

YYYY ve kolon yok.

3. Bir xxxxxxx hesabı varsa, onu silerseniz (navigatörde Sil menü komutuyla) ve yeni bir hesap kullanarak bağlanırsanız, bağlantı devam ediyor mu?

Olmuş!


Görünüşe göre ilk bağlandığımda sunucunun adını yeni girdim. Bu giriş gezginde göründü, ancak ticaret sunucusu verisi yoktu ve bir kukla vardı. Ve bu hesap için arama yoluyla verilerin zorla alınmasından sonra bile, hala bir kukla değiştirildi.


Teşekkür ederim!


ZY Bir konuda.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MetaTrader 5 platformunun yeni versiyonu inşa 2280

fxsaber , 2020.02.19 11:32

Mevcut bir ticaret hesabına bağlanırken, ticaret sunucusunun adını yanlış belirtirseniz, hesap Gezgin'de hareket eder ve böylece ortadan kaybolduğunu düşünebilirsiniz.


MetaQuotes-Demo'da oturum açarken MetaQuotes-Demo2 sunucusunun adresini belirtin. Navigator'da neler olduğunu görün. Lütfen bu kuralı yalnızca başarılı bir bağlantıdan sonra mevcut hesaplara uygulayın.

Arama dizisi : Uluchshenie 005.
Neden: