Kütüphaneler: MultiTester - sayfa 44

 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi üzerine forum

'CopyTicks'in Test Edilmesi

fxsaber, 2024.02.26 12:41 pm

CopyTicks 60 saniye boyunca takılır ve 4403 hatası verirse, sunucuya erişim noktasını değiştirmeyi deneyin. Ping daha az elverişli olsa bile.

Bu anlamda, terminal tarafından bir erişim noktasının otomatik olarak seçilmesi tehlikelidir.

Bu göstergeyi başlatmadan (tüm Terminal için bir örnek), artık CopyTicks ile çalışmanın devam ettiği savaş Terminalinden ayrılmıyorum.

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

#property indicator_chart_window
#property indicator_plots 0

input int inIntervalAlert = 5; // Hata zaman aşımı aralığı (sn)
input int inMaxPoints = 5;     // İlk sunucu noktalarının sayısı

int OnCalculate( const int rates_total, const int prev_calculated, const int, const double &[] )
{
  static ulong StartTime = GetTickCount64();
  const ulong CurrTime = GetTickCount64();
  
  if (!prev_calculated)
  {
    Alert("Restarted!");
    
    StartTime = CurrTime;
  }
  else if (CheckCopyTicks() != ERR_HISTORY_TIMEOUT)
    StartTime = CurrTime;
  else if (CurrTime - StartTime > (ulong)inIntervalAlert * 1000)
  {
    static int Pos = 0;
    
    const int ServerPoint = Pos++ % inMaxPoints;
        
    Alert("CopyTicks error (timeout > " + (string)(CurrTime - StartTime) +
          " ms). Trying (" + (string)Pos + ") to switch to the " +
          (string)(ServerPoint + 1) + "/" + (string)inMaxPoints + " server point.");

    MTTESTER::SetServerPoint(ServerPoint);
  }

  return(rates_total);
}

int CheckCopyTicks( const string Symb = NULL )
{
  MqlTick Tick;
  MqlTick Ticks[];
  
  ResetLastError();
  
  if (SymbolInfoTick(Symb, Tick))
    CopyTicks(Symb, Ticks, COPY_TICKS_ALL, Tick.time_msc - 1000000, 1);
    
  return(_LastError);
}


2024.10.29 16:07:24.802 CopyTicksHelper (EURUSD,M1)     Alert: CopyTicks error (timeout > 5015 ms). Trying (8) to switch to the 3/5 server point.
2024.10.29 16:07:25.909 CopyTicksHelper (EURUSD,M1)     Alert: Restarted!


Gösterge, çalışan tüm Uzman Danışmanların / komut dosyalarının ilgili zaman aşımı hatasından bir kerede çıkmasını sağlar. Ve sonra normal çalışmaya devam ederler.

 
fxsaber #:

Bu göstergeyi çalıştırmadan (tüm Terminal için bir örnek), artık CopyTicks ile çalışmanın devam ettiği savaş Terminalinden ayrılmıyorum.



Gösterge, çalışan tüm Uzman Danışmanları / komut dosyalarını ilgili zaman aşımı hatasından bir kerede çıkmaya zorlar. Ve sonra normal şekilde çalışmaya devam ederler.

Lütfen bana her zaman bir Uzman Danışman'da CopyTicks ile çalışmanız gerektiğinde gerçek vakalar verin. Dijital filtreleri çalıştırmak için bazı tarihsel keneler almak için gerçekten sadece OnInit () içinde kullanıyorum. MQL4'te arabelleklerin dolması için birkaç dakika beklemek zorunda kaldım.

 
Alexey Volchanskiy #:

Lütfen bana bir Uzman Danışmanın her zaman CopyTicks ile çalışması gerektiğinde gerçek vakalar verin.

Tester'da olduğu gibi Real'de keneleri atlamayın (ve ikiye katlamayın). Real'deki Uzman Danışman, gelecekte geçmiş aralıkta çalıştırmaya karar verdiğinizde Test Cihazında alacağı fiyat verilerinin tam olarak aynı sırasını alır.

 

Tam bir aptal olmalıyım ya da bir şeyi kaçırıyor olmalıyım.

Bir yıl boyunca her gün görsel olmayan tek bir test (optimizasyon değil) yapmak istediğim bir EA'm varsa ... Yani Her gün kodlanmış parametrelerle test edilirse Bunu nasıl yaparım? Birisi lütfen aşağıdaki gibi kısa bir öğretici yazabilir mi?

1. Kütüphaneyi indirin - Yükleme Talimatları

2. EA'nızı ea ve böyle ve böyle bir dosyanızdaki ada göre seçmek için bu kodu yazın.

3. Başlangıç ve bitiş tarihlerinizi buradan seçin

4. Her bir sırt testinin süresini ve uzunluğunu burada belirtin.

5. Her şeyin doğru şekilde çalışmasını sağlamak için bu ek kodları ekleyin #includes öğelerinizi doğru yere yerleştirin vb.

6. Her günlük geri test için sonuçları belirtin ve csv'ye kaydedin.

Vesaire vesaire vesaire

Bu kütüphane özellikle @fxsaber için oluşturulmuş gibi görünen bu soslution'ı nasıl uygulayacağımı kaybettim Tüm kısa örneklerinizi okudum ve her dosyadaki kodun üzerinden geçtim ve kullanım durumlarını açıklayan herhangi bir belge veya herhangi bir yerde adım adım kılavuz bulamıyorum lütfen bunu anlamama yardımcı olur musunuz?


Hepimizin istediği ve ihtiyaç duyduğu şeyi kodladığınız için teşekkürler bir efsane, birisi sizden bir şeyi düzeltmenizi istediğinde "!" gibi bazı yorumlarınızı seviyorum

 
CheckInputs - нахождение аварийных проходов при Оптимизации советника
CheckInputs - нахождение аварийных проходов при Оптимизации советника
  • www.mql5.com
Во время Оптимизации советника некоторые проходы могут завершаться аварийно. Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий Новая версия платформы MetaTrader 5
 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi üzerine forum

Kütüphaneler: MultiTester

fxsaber, 2022.12.12 13:20

Bazen aynı şeyi çalışan terminallerde de yapmanız gerekir. Aşağıdaki örnekte bu eylemin otomasyonu.

Sonuç olarak, tek bir tıklamayla tüm terminallerden veri toplandı. MTTESTER::RunEX5 sayesinde - EX5'i gerekli terminalde çalıştırır (taşınabilir).

Uygulama.

МультиТерминальный скрипт.
МультиТерминальный скрипт.
  • www.mql5.com
Здесь будет представлен новый вид MQL5-программ - мультитерминальный скрипт: скрипт, который сам запускается на всех открытых MT5-терминалах. Пример. Первым таким скриптом стал CustomReport по причине
 

Komut dosyası, çalışan terminallerden hangilerinin taşınabilir olduğunu gösterir.

#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/tr/code/26132
  
void OnStart()
{
  HANDLE Handles[];
  
// Tüm terminalleri çalıştırın
  for (int i = MTTESTER::GetTerminalHandles(Handles, false); (bool)i--;)
    Print("\"" + MTTESTER::GetTerminalPath(Handles[i]) +
          "\" - " +(MTTESTER::IsPortable(Handles[i]) ? "portable." : "NOT portable."));
}
 

Merhaba

Bir gösterge ( \MQL5\Indicators\ içinde bulunan)tarafından oluşturulan bir nesneye tıklayarak (Kısayol Tuşları ile değil)bir komut dosyasını ( \MQL5\Scripts\ içinde bulunan) çalıştırmam gerekiyor.

MTTESTER::RunEX5 'i kullanmayı denedim ancak birçok temel hata var. Neyi yanlış yapıyorum?

\MetaQuotes\Terminal\D..5\MQL5\Experts\fxsaber\MultiTester içinde "MultiTester_Example1" ve "MultiTester_Example2" dosyalarını geçtim.

"MultiTester.mqh" ve diğer tüm .mqh dosyalarını \MetaQuotes\Terminal\D..5\MQL5\Include\fxsaber\MultiTester

bunlar aldığım hatalar

EX1'de:

'sinput' - beklenmedik belirteç Ex1.mq5 3 1

'=' - yasadışı atama kullanımı Ex1.mq5 3 23

'sinput' - beklenmedik belirteç Ex1.mq5 4 1

'=' - yasadışı atama kullanımı Ex1.mq5 4 23

'sinput' - beklenmedik belirteç Ex1.mq5 5 1

'=' - yasadışı atama kullanımı Ex1.mq5 5 24

'sinput' - beklenmedik belirteç Ex1.mq5 6 1

'=' - yasadışı atama kullanımı Ex1.mq5 6 31


EX2'de:

olay işleme işlevi bulunamadı Ex2.mq5 1 1


MultiTester.mqh içinde:

ifade boolean değil TesterSettings.mqh 104 37

ifade boolean değil TesterSettings.mqh 118 39

'SetTesterSettings' - bildirilmemiş tanımlayıcı MultiTester.mqh 43 13

')' - ifade beklenen MultiTester.mqh 43 31

'SetTesterSettings' - bildirilmemiş tanımlayıcı MultiTester.mqh 51 10

')' - ifade beklenen MultiTester.mqh 51 28


Task.mqh içinde:

'C:\Users\...\...\....\...\Terminal\D0...75\MQL5\Include\fxsaber\TesterCache\TesterCache.mqh' dosyası bulunamadı Task.mqh 5 11

'TESTERCACHE' - türü olmayan bildirim Task.mqh 80 38

.

.

.

şablon örneklemesine bakın 'MTTESTER::TASK::GetMaxFitnessPos<unknown>' Task.mqh 244 29


 
Asa Social #:

Bir gösterge (\MQL5\Indicators\ içinde bulunan) tarafından oluşturulan bir nesneye tıklayarak (Kısayol Tuşları ile değil) bir komut dosyasını (\MQL5\Scripts\ içinde bulunan) çalıştırmam gerekiyor.

Buradaki örneğe bakın.

MTTESTER::RunEX5 kullanmayı denedim ancak birçok temel hata var. Neyi yanlış yapıyorum?

Derlenmemiş kod teknik olarak Codebase'de yayınlanamaz. Sorun sizin tarafınızda.
Библиотеки: Expert - Попробуйте использовать ChartApplyTemplate. Запустите советник на всех чартах, где уже есть запущенный советник.
Библиотеки: Expert - Попробуйте использовать ChartApplyTemplate. Запустите советник на всех чартах, где уже есть запущенный советник.
  • 2017.08.28
  • Automated-Trading
  • www.mql5.com
После этого задать ему нормальное значение через ChartSetInteger. Если же нужно еще и советник запустить на том же чарте. а оттуда запускать на нужном уже нам чарте советник. Библиотека работает без DLL - полностью удовлетворяет требованиям Маркета
 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi üzerine forum

Kütüphaneler: MultiTester

fxsaber, 2022.12.12 13:20

MTTESTER::RunEX5 - EX5'i gerekli terminalde çalıştırır (taşınabilir).

taşınabilir kısıtlaması kaldırıldı.