Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1518

 
извините за глупый вопрос, что в данном случае значит equity?
 
AkaEdie #:
извините за глупый вопрос, что в данном случае значит equity?

Средства - незафиксированный финансовый результат.

 

спасибо, а кто ни будь может подсказать как учитывать  в данном классе

  1. только максимальную зафиксированную прибыль
  2. минимальные убытки
  3. итоговый максимальный капитал

https://www.mql5.com/ru/articles/286

ну или другими способами?

и еще прибыль в тестере расчитывается плюс капитал или только прибыль отдельно? какова конечная цифра я имею ввиду

Создание собственных критериев оптимизации параметров эксперта
Создание собственных критериев оптимизации параметров эксперта
  • www.mql5.com
Терминал МetaTrader 5 дает новые возможности для оптимизации параметров создаваемых экспертов. Кроме уже имеющихся в тестере критериев оптимизации, разработчики получили инструмент для создания собственных критериев. Это открывает поистине безграничные возможности в тестировании и оптимизации экспертов. В статье рассматриваются практические способы построения таких критериев - как простых, так и достаточно сложных.
 
AkaEdie #:

спасибо, а кто ни будь может подсказать как учитывать  в данном классе

  1. только максимальную зафиксированную прибыль
  2. минимальные убытки
  3. итоговый максимальный капитал

https://www.mql5.com/ru/articles/286

ну или другими способами?

и еще прибыль в тестере расчитывается плюс капитал или только прибыль отдельно? какова конечная цифра я имею ввиду

Тут можете узнать, какие стандартные показатели можно получить после прохода в тестере стратегий.

Начальный баланс не учитывается в показателе "прибыль".

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Статистика тестирования
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Статистика тестирования
  • www.mql5.com
После окончания тестирования вычисляются статистические показатели результатов торговли по множеству параметров. Значения показателей можно...
 
учитывает ли конечный резульатт в прибыль в оптимизации параметров в тестере стратегий снятые деньги через TesterWithdrawal или это не зафиксированная прибыль на момент окончания тестов за период которые были еще в расходе
 
maxvoronin74 #:

Возможно, это из-за того, что у меня i >= 0. У Вас - больше нуля. И конкатенация, о которой я спрашивал, не принимается MetaEditor-ом. Хотя я взял ее из статьи МетаКвот (https://www.mql5.com/ru/articles/12103)...

А почему Вы не проверяете posTicket на равенство нулю? Ведь равенство нулю по документации свидетельствует об ошибке?

Касаемо ненужности проверки магика я пока не понимаю. Смысл кода - быть уверенным, что не открыта позиция именно этим экспертом на данном инструменте. Экспертов на инструменте несколько. У каждого - свое окно. Эксперты магиком и отличаются.

Так ведь я сразу написал

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Вопросы от начинающих MQL5 MT5 MetaTrader 5

Alexey Viktorov, 2024.04.15 08:21

так будет почти правильно.

    for(int i = PositionsTotal(); i-- > 0;)
     {
      ulong posTicket = PositionGetTicket(i);
      long posMagic = PositionGetInteger(POSITION_MAGIC);
      string posSymbol = PositionGetString(POSITION_SYMBOL);
      if(posSymbol == _Symbol && posMagic == Magic_m)
       {

У каждого свой принцип программирования и на мой взгляд вот эта строка вашего кода выглядит как-то странно

      if(total = 0 || (ticket > 0 && position_symbol==Symbol() && magic != Magic_m))

Зачем проверка if(total = 0 ……… ведь если нет открытых позиций, то и цикл выполняться просто не будет.

Да и проверка if(………magic != Magic_m)) ничего не даёт. Ведь если позиция имеет иной магик, то просто начнётся новая итерация цикла и без дополнительных команд.

Но это всё на любителя. Если нравится так, то пишите так…

потому и не проверяю тикет на равенство нулю. Я так хочу и более ничего…

По поводу проверки магика, я говорил о другом. Ведь можно проверить на равенство и неравенство… Так вот кому-то нравится проверять на неравенство и принудительно начинать новую итерацию цикла. А мне такой подход просто противен… Я предпочитаю проверку на равенство. Если это тот магик который мне нужен, то выполняются все команды заключённые в кривые скобки после условия. Если магик чужой, то и без дополнительных напрягов начнётся новая итерация цикла.

Организация цикла может быть любой. Главное чтобы перебор был полным… Этот вариант работает без ошибок так же как и тот который во всех примерах документации. Вам просто надо в отладке пройти цикл организованный так и как в примерах документации и последить за изменением счётчика цикла. Тогда будет всё понятно.

 
AkaEdie #:
учитывает ли конечный резульатт в прибыль в оптимизации параметров в тестере стратегий снятые деньги через TesterWithdrawal или это не зафиксированная прибыль на момент окончания тестов за период которые были еще в расходе

Минусует, на сколько я помню, и всю статистику меняет с учётом этого снятия. Пару лет назад использовал, но чет мне не понравилось, как считается статистика, поэтому перестал использовать, может сейчас что поменялось.

 
grezky EventSetTimer(3600); // 3600 секунд = 60 минут

это означает, что следующая проверка значения терминальной переменной произойдет через 60 минут.
Но в тестере с визуализацией 60 минут пройдут за несколько секунд, а индикатор проверит значения через 60 минут.
Или советник в тестере и индикатор в отдельном окне должны быть как-то "синхронизированы" по времени? - Т.е. если эксперт отправляет значение в терминальную переменную через несколько секунд, то и индикатор будет вызывать проверку значения терминальной переменной тоже через несколько секунд?
Кто-нибудь сталкивался с подобным, как это решается?

Нет!
 
а есть какая то статья с исходником просчета кривой в тестере стратегий кроме той что я давал несколько постов ранее, она некомпилируется и знаиий моих мало
 
как в советнике добавить индикатор на график и перерисовывать его