Hatalar, hatalar, sorular - sayfa 2440

 
fxsaber :

Kayıtla daha çok ilgileniyorum. Format belliyse okurum.

 //+------------------------------------------------------------------+
//| заголовок кеша                                                   |
//+------------------------------------------------------------------+
struct TestCacheHeader
  {
   UINT               version ;                 // версия кеша
   wchar_t           copyright [ 64 ];           // копирайт
   UINT              header_size;             // размер заголовка
   UINT              record_size;             // размер кешируемой записи (TestCacheRecord с буфером параметров)
   //---
   wchar_t           expert_name[ 64 ];         // имя эксперта
   wchar_t           expert_path[ 128 ];       // имя эксперта с путём от MQL5
   wchar_t           server[ 64 ];             // источник истории (торговый сервер)
   wchar_t           symbol[ 32 ];             // символ тестирования
   UINT16            period;                 // период чарта
   INT64             date_from;               // дата начала данных в настройках тестирования
   INT64             date_to;                 // конечная дата в настройках тестирования
   INT64             date_forward;           // конечная дата соответствующего форварда
   int                opt_mode;               // режим оптимизации (0-полная оптимизация, 1-генетика, 2 или 3-форвард)
   int                ticks_mode;             // режим генерации тиков
   int                last_criterion;         // критерий оптимизации при последнем сеансе
   DWORD             msc_min;                 // минимальное время выполнения в миллисекундах
   DWORD             msc_max;                 // максимальное время выполнения в миллисекундах
   DWORD             msc_avg;                 // среднее время выполнения в миллисекундах
   int                common_reserve[ 16 ];
   //---
   wchar_t           group[ 80 ];               // имя группы + hedging/netting
   wchar_t           trade_currency[ 32 ];     // валюта депозита
   int                trade_deposit;           // начальный депозит
   int                trade_condition;         // режим работы торговли (0-без задержек, -1-произвольная задержка, nnn-количество миллисекунд)
   int                trade_leverage;         // плечо
   int                trade_hedging;           // 1 - netting, 2 - hedging
   int                trade_currency_digits;
   int                trade_reserve[ 6 ];
   //---
   char               hash_ex5[ 16 ];           // контрольная сумма скомпилированного эксперта
   UINT              parameters_size;         // размер буфера параметров эксперта
   UINT              parameters_total;       // количество параметров
   UINT              opt_params_size;         // размер буфера оптимизируемых параметров эксперта
   UINT              opt_params_total;       // количество оптимизируемых параметров
   UINT              dwords_cnt;             // размер номера прохода большой генетики
   UINT              snapshot_size;           // размер снапшота для тотальной оптимизации и для форварда после тотальной оптимизации
   UINT              passes_total;           // общее количество проходов оптимизации (для генетической оптимизации 0)
   UINT              passes_passed;           // количество пройденных проходов
   // далее следуют выставленные параметры эксперта (в т.ч. строковые) в структуре TestCacheInput
   //--- конец заголовка. далее следуют записи о каждом проходе
  };
//+------------------------------------------------------------------+
//| входные параметры тестирования                                   |
//+------------------------------------------------------------------+
struct TestCacheInput
  {
   wchar_t           name[ 64 ];
   int                flag;                     // оптимизируемый параметр
   int                type;                     // тип TYPE_XXX
   int                digits;                   // количество знаков после запятой
   int                offset;                   // смещение в буфере параметров
   int                size;                     // размер значения параметра в буфере
   //--- 0-start,1-step,2-stop
   union { INT64 integers[ 3 ]; double numbers[ 3 ]; };
  };
   m_header.header_size= sizeof (TestCacheHeader)+m_inputs.Total()* sizeof (TestCacheInput)+m_header.parameters_size;
//--- кешируемая запись содержит номер прохода (при генетике - номер по порядку), структуру результатов тестирования (если математика, то 1 double), буфер оптимизируемых параметров и генетический проход
   m_header.record_size= sizeof (INT64)+m_header.opt_params_size;
   if (m_mathematics)
      m_header.record_size+= sizeof ( double );
   else
      m_header.record_size+= sizeof (ExpTradeSummary);
   if (m_header.dwords_cnt> 1 )
      m_header.record_size+=m_header.dwords_cnt* sizeof (DWORD);
   else
     {
       if (m_genetics)
         m_header.record_size+= sizeof (INT64);
     }
//+------------------------------------------------------------------+
//| Структура для статистики торговли                                |
//+------------------------------------------------------------------+
struct ExpTradeSummary
  {
   double             initial_deposit;     // начальный депозит
   double             withdrawal;           // снято средств
   double             profit;               // общая прибыль (+)
   double             grossprofit;         // общий плюс
   double             grossloss;           // общий минус
   double             maxprofit;           // максимально прибыльная сделка
   double             minprofit;           // максимально убыточная сделка
   double             conprofitmax;         // прибыль максимальной последовательности прибыльных сделок
   double             maxconprofit;         // максимальная прибыль среди последовательностей
   double             conlossmax;           // убыток максимальной последовательности убыточных сделок
   double             maxconloss;           // максимальный убыток среди последовательностей
   double             balance_min;         // минимальное значение баланса (для расчёта абсолютной просадки)
   double             maxdrawdown;         // максимальная просадка по балансу
   double             drawdownpercent;     // отношение максимальной просадки по балансу к её пику
   double             reldrawdown;         // максимальная относительная просадка по балансу в деньгах
   double             reldrawdownpercent;   // максимальная относительная просадка по балансу в процентах
   double             equity_min;           // минимальное значение equity (для расчёта абсолютной просадки по equity)
   double             maxdrawdown_e;       // максимальная просадка по equity
   double             drawdownpercent_e;   // отношение максимальной просадки по equity к её пику (+)
   double             reldrawdown_e;       // максимальная относительная просадка по equity в деньгах
   double             reldrawdownpercnt_e; // максимальная относительная просадка по equity в процентах
   double             expected_payoff;     // матожидание выигрыша (+)
   double             profit_factor;       // показатель прибыльности (+)
   double             recovery_factor;     // фактор восстановления (+)
   double             sharpe_ratio;         // коэффициент Шарпа (+)
   double             margin_level;         // минимальный уровень маржи
   double             custom_fitness;       // пользовательский фитнесс - результат OnTester (+)
   int                deals;               // общее количество сделок
   int                trades;               // количество сделок out/inout
   int                profittrades;         // количество прибыльных
   int                losstrades;           // количество убыточных
   int                shorttrades;         // количество шортов
   int                longtrades;           // количество лонгов
   int                winshorttrades;       // количество прибыльных шортов
   int                winlongtrades;       // количество прибыльных лонгов
   int                conprofitmax_trades; // максимальная последовательность прибыльных сделок
   int                maxconprofit_trades; // последовательность максимальной прибыли
   int                conlossmax_trades;   // максимальная последовательность убыточных сделок
   int                maxconloss_trades;   // последовательность максимального убытка
   int                avgconwinners;       // среднее количество последовательных прибыльных сделок
   int                avgconloosers;       // среднее количество последовательных убыточных сделок
  };
not. Biçim değişebilir. Bu biçim, 514 sürümüne karşılık gelir
 
Slava :
not. Biçim değişebilir. Bu biçim, 514 sürümüne karşılık gelir

Çok teşekkürler! İşi hazır olduğunda opt ile yayınlayacağım.

Tehdit Uzmana giden yolun uzunluğu için sadece 64 karakter - biraz değil mi?
 
Slava :
Değil

O halde böyle bir durumda nasıl hareket edilir?

Kaynakta zor bir durum var, optimalliği sadece el yordamıyla hesaplanabiliyor - değiştiriyorum ve geriye dönük testten sonra dosyadaki sonuca bakıyorum.

Farklı koşullara sahip çok sayıda dosya almanız gerekir. Ve sonra karşılaştırın.

Kaynak değiştiyse farklı bir dosya adı nasıl oluşturulur?


PS Bu olmadan, bu gibi durumlarda nasıl çıkacağımı bilmiyorum

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

Hatalar, hatalar, sorular

Slava , 2019.04.19 15:11

   char               hash_ex5[ 16 ];           // контрольная сумма скомпилированного эксперта
 
Önümüzdeki üç gün için forum gönderileri hangi nedenle site aramasına girmiyor?
 

Böyle bir sonuç

aşağıdaki şekilde elde edilir.

Biri hariç tüm Aracılar devre dışı bırakılır. Ve tam bir 5750 seçenek listesi başlatıldı. Bundan sonra, diğer tüm yerel Aracılar açılır.

Görünüşe göre, görevler eşit olmayan bir şekilde dağıtıldı. Ve toplam optimizasyon süresi, olabileceğinden daha yüksek olacaktır.

 

2025'i inşa et

Yardıma göre , GlobalVariableDel() işlevinin dönüş türü bool

Ancak Ctrl+Shift+Space tuşlarına basarken:

Ve inşa ederken bir uyarı verilir:


 
Taslak makalede "İncelemeye gönder" düğmesini bulamıyorum. Lütfen bana söyle.
 
fxsaber :

PS Bu olmadan, bu gibi durumlarda nasıl çıkacağımı bilmiyorum

Belki ex5 dosyasından MD5?
Belki ex5 dosyası içeride saklanır, bir hex düzenleyici ile bakın ...

 
Yousufkhodja Sultonov :
Taslak makalede "İnceleme için gönder" düğmesini bulamıyorum. Lütfen bana söyle.
 
Artyom Trishkin :

Artem'e teşekkürler.