"Yavaş (parametrelerin tam sayımı)" optimizasyon modunda strateji test cihazı - optimizasyon adımlarının hangi genel değerinde genetik optimizasyona geçer?
Not: Genetik optimizasyonun açılmaması için tam bir numaralandırmanın nasıl yapılacağına dair bir teknik varsa minnettar olurum.
Periyodik olarak, MT4 terminali kendiliğinden kapanıyor , terminal günlüğünde bununla ilgili hiçbir şey yok, Windows olaylarında da hiçbir şey yok. Bu tür ayrılmaların nedenini nasıl belirleyebilirsiniz?
ME hata ayıklayıcısındaki (derleme 2370) - StepInto (F11) ve ayarlanan kesme noktalarındaki bir kusur çalışmıyor. Sorun şu ki, işlevi en az bir kez çağırmak için StepOver eylemini (F10) kullanırsanız, gelecekte bu işlevin hatalarını ayıklamak artık mümkün olmayacaktır.
void Increment( int &n){
++n;
};
void test(){
int n = 0 ;
for ( int i = 0 ; i < 100 ; ++i){
DebugBreak ();
Increment(n);
}
}
voidOnStart (){
test();
}
Oynatma adımları: 1) Kodu hata ayıklama modunda çalıştırın; 2) Kesme noktasına ulaştıktan sonra, StepOver'ı (F10) iki kez yürütün;
Hepsi bu - artık Artış işlevine "girmenin" bir yolu yok, manuel olarak ayarlanan tüm kesme noktaları çalışmaz ve StepInto (F11) işlemi yerine StepOver (F10) gerçekten yürütülür.
ME hata ayıklayıcısında hata (derleme 2370) -bir kesme noktası tetiklendikten sonra, (F5) tuşuna basıldığında kod yürütmeye devam etmek yerine, aynıkesme noktası aslında herhangi bir kod yürütülmeden yeniden tetiklenir.
#include <Generic\ArrayList.mqh>
voidOnStart (){
CArrayList< int > arr;
for ( int i = 0 ; i < 5 ; ++i){
arr.Add(i);
arr.Add( 2 *i);
}
}
Oynatma adımları: 1)Her iki satır için manuel olarak bir kesme noktası ayarlayın " arr.Add()"; 2) Hata ayıklamayı başlatın (F5); 3) RMB'yi kullanarak ekli <Generic\ArrayList.mqh> dosyasını yeni bir sekmede açın. 4) "bool CArrayList::Add (T item)" işlevinde "if(m_size==ArraySize(m_items))" satırını bulun ve kesme noktasınımanuel olarak ayarlayın . 5) "ArrayList.mqh" sekmesinde kod çalıştırmaya devam edin (F5).
Sonuç olarak, aynıkesme noktası, herhangi bir gerçek kod yürütmesi olmadan daha önce olduğu gibi tetiklenecektir.
MT5 hatası (derleme 2370) - statik bir yapı yönteminde bir kesme noktasının tetiklenmesi, MT terminalinin donmasına neden olur. Sonuç olarak, yapının statik yönteminin kodunda hata ayıklama olanağı yoktur:
"Yavaş (parametrelerin tam sayımı)" optimizasyon modunda strateji test cihazı - optimizasyon adımlarının hangi genel değerinde genetik optimizasyona geçer?
Bu yazışmayı buldum ve göründüğünde okudum - tartışma katılımcısının yasaklanmasının sonucu, bu yüzden kaynağını bulmak istedim
bir parametre için tam numaralandırma modunda test edilmiştir - geçişler genel olarak tam bir numaralandırma için numaralandırılmamıştır - anlamsal konsepte göre değil, geliştiricilerin bazı mantığına göre çalışır
bir parametre için tam numaralandırma modunda test edilmiştir - geçişler genel olarak tam bir numaralandırma için numaralandırılmamıştır - anlamsal konsepte göre değil, geliştiricilerin bazı mantığına göre çalışır
Görevler, aracılara gruplar halinde dağıtılır.
1-100 - birinciye, 101-200 - ikinciye vb.
Ve geldikçe sonuçlarda görünürler (1, 101, 2, 102, vb.).
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
Toplu Optimizasyon.
Sorun şu ki, işlevi en az bir kez çağırmak için StepOver eylemini (F10) kullanırsanız, gelecekte bu işlevin hatalarını ayıklamak artık mümkün olmayacaktır.
Oynatma adımları:
1) Kodu hata ayıklama modunda çalıştırın;
2) Kesme noktasına ulaştıktan sonra, StepOver'ı (F10) iki kez yürütün;
Hepsi bu - artık Artış işlevine "girmenin" bir yolu yok, manuel olarak ayarlanan tüm kesme noktaları çalışmaz ve StepInto (F11) işlemi yerine StepOver (F10) gerçekten yürütülür.
ME hata ayıklayıcısında hata (derleme 2370) - bir kesme noktası tetiklendikten sonra, (F5) tuşuna basıldığında kod yürütmeye devam etmek yerine, aynı kesme noktası aslında herhangi bir kod yürütülmeden yeniden tetiklenir.
Oynatma adımları:
1) Her iki satır için manuel olarak bir kesme noktası ayarlayın " arr.Add()";
2) Hata ayıklamayı başlatın (F5);
3) RMB'yi kullanarak ekli <Generic\ArrayList.mqh> dosyasını yeni bir sekmede açın.
4) "bool CArrayList::Add (T item)" işlevinde "if(m_size==ArraySize(m_items))" satırını bulun ve kesme noktasını manuel olarak ayarlayın .
5) " ArrayList.mqh" sekmesinde kod çalıştırmaya devam edin (F5).
Sonuç olarak, aynı kesme noktası, herhangi bir gerçek kod yürütmesi olmadan daha önce olduğu gibi tetiklenecektir.
Sonuç olarak, yapının statik yönteminin kodunda hata ayıklama olanağı yoktur:
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Geliştiricilere soru - optimizasyon sırasında tüm bilgi işlem çekirdeklerinin kullanımı
Andrey Dik , 2020.03.26 23:31
Optimize edicinin genetiğe geçmemesi için 100 myo adımına kadar ayarlayabilirsiniz.
Bu yazışmayı buldum ve göründüğünde okudum - tartışma katılımcısının yasaklanmasının sonucu, bu yüzden kaynağını bulmak istedim
bir parametre için tam numaralandırma modunda test edilmiştir - geçişler genel olarak tam bir numaralandırma için numaralandırılmamıştır - anlamsal konsepte göre değil, geliştiricilerin bazı mantığına göre çalışır
bir parametre için tam numaralandırma modunda test edilmiştir - geçişler genel olarak tam bir numaralandırma için numaralandırılmamıştır - anlamsal konsepte göre değil, geliştiricilerin bazı mantığına göre çalışır
Görevler, aracılara gruplar halinde dağıtılır.
1-100 - birinciye, 101-200 - ikinciye vb.
Ve geldikçe sonuçlarda görünürler (1, 101, 2, 102, vb.).
Kolayca sıralanır.
Görevler, aracılara gruplar halinde dağıtılır.
1-100 - birinciye, 101-200 - ikinciye vb.
Ve geldikçe sonuçlarda görünürler (1, 101, 2, 102, vb.).
Kolayca sıralanır.
Tamam, bu iyi bir cevap, bununla ilgili, orijinal kaynağın bulunamaması üzücü,
GA'nın toplam kaç geçişte açılacağını bulmak için kalır, 100.000.000 geçiş gibi görünse de, bu benim görevlerim için yeterli