Hatalar, hatalar, sorular - sayfa 2603

 
Aracıdaki simgelerin adlarını değiştirirken (eklenen son ekler), önceki simgelerle (artık orada olmayan ve yeni adlara aktarılması gereken) tüm grafik ayarları kaybolur! Geri dönülmez bir şekilde, uzmanların göstergeleriyle birlikte. Rave.
 

2204'te danışmanlı profil onlarsız yüklenir.

Danışmanların yavaş yüklenmesi de düzeltilmedi. Doğru, şimdi terminal takılmıyor, sadece danışman uzun süredir orada değil.

 
Lütfen yardım et. Ayarlar sekmesinde aktif olmayan Tester penceresine CTRL+C ve CTRL+V tuş kombinasyonlarının gönderilmesi gerekmektedir. Bunu sadece arayarak buldum

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

TF'yi değiştirirken veya terminali açarken komut dosyasını programlı olarak nasıl çalıştıracağımı söyle

Yegor , 2008.11.16 09:28

Ilnur, sağ dizideki "klavye giriş durumu tablosunu" ek olarak güncellerseniz, muhtemelen mümkündür.

Bu MQL'de denenmeli, yardımcı olabilir misiniz?:

     if ( h ! = NULL )
     {
        HWND child = : : FindWindowEx ( h , NULL , "Edit" , NULL ) ;

        UINT lparam_Ctrl1 = : : MapVirtualKey ( VK_CONTROL , 0 ) < < 16 | 1 ;
        UINT lparam_A1 = : : MapVirtualKey ( ( int ) 'A' , 0 ) < < 16 | 1 ;

        UINT lparam_A2 = 1 < < 31 | 1 < < 30 | : : MapVirtualKey ( ( int ) 'A' , 0 ) < < 16 | 1 ;
        UINT lparam_Ctrl2 = 1 < < 31 | 1 < < 30 | : : MapVirtualKey ( VK_CONTROL , 0 ) < < 16 | 1 ;

        DWORD pid ;
        DWORD tid = GetWindowThreadProcessId ( child , & pid ) ;
        HANDLE hProc = OpenProcess ( PROCESS_QUERY_INFORMATION | SYNCHRONIZE , FALSE , pid ) ;
         //Ctrl + A

        AttachThreadInput ( GetCurrentThreadId ( ) , tid , TRUE ) ;

        LRESULT pl1_Ctrl = : : PostMessage ( child , WM_KEYDOWN , VK_CONTROL , lparam_Ctrl1 ) ;
        WaitForInputIdle ( hProc , INFINITE ) ;

        BYTE state [ 256 ] ;
        GetKeyboardState ( state ) ;
        state [ VK_CONTROL ] = 0x80 ;
        SetKeyboardState ( state ) ;

        LRESULT pl1_A = : : PostMessage ( child , WM_KEYDOWN , ( int ) 'A' , lparam_A1 ) ;
        WaitForInputIdle ( hProc , INFINITE ) ;

        LRESULT pl2_A = : : PostMessage ( child , WM_KEYUP , ( int ) 'A' , lparam_A2 ) ;
        WaitForInputIdle ( hProc , INFINITE ) ;

        LRESULT pl2_Ctrl = : : PostMessage ( child , WM_KEYUP , VK_CONTROL , lparam_Ctrl2 ) ;         
        WaitForInputIdle ( hProc , INFINITE ) ;
/*
        GetKeyboardState(state);
        state[VK_CONTROL] = 0x0;
        SetKeyboardState(state);
*/

        AttachThreadInput ( GetCurrentThreadId ( ) , tid , FALSE ) ;

     }

Uygulama başarısız oldu. Bir multitester için çok gereklidir.

 
fxsaber :
Lütfen yardım et. Ayarlar sekmesinde aktif olmayan Tester penceresine CTRL+C ve CTRL+V tuş kombinasyonlarının gönderilmesi gerekmektedir. Bunu sadece arayarak buldum

Uygulama başarısız oldu. Bir multitester için çok gereklidir.

Etkin olmayan bir pencereye kopyala-yapıştır komutu göndermek mümkün değildir. İlk önce test penceresini açmanız ve ayarlar sekmesini etkinleştirmeniz gerekir.
 

İpuçlarında bir sorun var. Danışman dosyası:

Alt+G buraya gönderir:


editör 2200

 
Slava :
Etkin olmayan bir pencereye kopyala-yapıştır komutu göndermek mümkün değildir. İlk önce test penceresini açmanız ve ayarlar sekmesini etkinleştirmeniz gerekir.

Test Cihazını otomatikleştirmek için tüm işlemler PostMessage üzerinden yapılabilir, bu büyük bir kolaylık. Çünkü Test cihazı daraltılabilir, vb.

Ancak ayarları almak ve almak bu kolaylık için bir istisnadır. Ayarlarla çalışmayı otomatikleştirmeye yardımcı olacak bir tür mekanizma düzenlemeniz mümkün mü?

 

Söyle bana, test ediciyi veya optimize ediciyi koddan durdurmanın bir yolu var mı?

Örneğin, bir uzman harici bir dosya yüklemelidir. Dosya bulunamazsa, dosyanın unutulduğunu belirten bir mesaj gösterin ve test cihazının veya optimize edicinin boşta çalışmasını durdurun.

 
Igor Makanu : MT4 build 1220'de, bu büyük olasılıkla MT4'ün son güncellemesiydi, daha önce yöneticilerden ME'nin 4/5 terminalleri için aynı olduğunu yazdı, bu da artık yeni 32-bit ME olmayacağı anlamına geliyor

Ve herhangi bir yeni hata varsa, öyle kalacaklar mı?

 
. ... Rick D. ... . :

Ve herhangi bir yeni hata varsa, öyle kalacaklar mı?

Hataları düzeltmek ve geliştirmek iki farklı şeydir.
 
. ... Rick D. ... . :

Söyle bana, test ediciyi veya optimize ediciyi koddan durdurmanın bir yolu var mı?

Örneğin, bir uzmanın harici bir dosya yüklemesi gerekir. Dosya bulunamazsa, dosyanın unutulduğunu belirten bir mesaj gösterin ve test cihazının veya optimize edicinin boşta çalışmasını durdurun.

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

Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri

fxsaber , 2019.11.06 16:57

Bazen, genetik optimizasyonla, sonucu az çok anlamak için ilk birkaç bin geçiş yeterlidir.

Otomatik olarak çok sayıda optimizasyon çalıştırdığınızda, her şeyin daha hızlı sonuçlanmasını istersiniz. Bu nedenle, bir optimizasyon kesme mekanizması gereklidir.

 #include <fxsaber\MultiTester\MTTester.mqh>   // https://www.mql5.com/ru/code/26132

// Выключает Оптимизацию ( и одиночный проход)
bool OptimizationStop( void )
{
   return (!MTTESTER::IsReady() && MTTESTER::ClickStart( false ));
}


Başvuru.

 // Демонстрация прерывания Оптимизации.

sinput int inAmountPasses = 20 ; // Через сколько проходов закончить
input int Range = 0 ; // 0..10000

double OnTester ()
{
   int Data[];
  
   return ( FrameAdd ( NULL , 0 , 0 , Data)); // Сгенерировали TesterPass
}

void OnTesterPass ()
{
   static int Amount = 0 ;
  
   ulong Pass;
   string Name;
   long ID;
   double Value;
   int Data[];

   while ( FrameNext (Pass, Name, ID, Value, Data))
     if (++Amount > inAmountPasses)
    {
       OptimizationStop(); // Как достигли нужного количества проходов, выключили оптимизатор.
      
       break ;
    }
}