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

 
MrBrooklin #:
CPositionInfo k_pos;
Да, ошибок нет. Благодарю. Ценная инфо.
 
MrBrooklin #:

Можно писать любое название переменной, главное, чтобы дальше в коде она была с одним и тем же названием. Пример:

Ещё вопросы остались?

С уважением, Владимир.

Все вот эти префиксы имён переменных, например "m_", означают принадлежность к некоему классу, от слова "member" - член класса. Т.е. за пределами класса не обязательно их добавлять к именам переменных - они же не являются членами класса, они - члены программы. Тем более, что глобальные - тут уже другой префикс напрашивается. Например, если посмотреть исходники от MetaQuotes, то увидим, что глобальные переменные предварены префиксом "Ext" - external, внешний... Если же хотите использовать некий префикс к своим глобальным переменным в виде "буква_", то тогда уж "g_" - от global.

 

учитывается ли в минус к просадке процент просаженного каптала по трейл стопу  в тестере стратегий?

то есть если ордера закрываются с прибылью но не по самой выгодной цене, будет ли в стаком случае просадка больше или меньше?

или просадка учитывает только просаженный стартовый капитал?

 
AkaEdie #:

учитывается ли в минус к просадке процент просаженного каптала по трейл стопу  в тестере стратегий?

то есть если ордера закрываются с прибылью но не по самой выгодной цене, будет ли в стаком случае просадка больше или меньше?

или просадка учитывает только просаженный стартовый капитал?

Просадка баланса и эквити учитывается от максимума баланса и от максимума эквити.

 
извините за глупый вопрос, что в данном случае значит 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)) ничего не даёт. Ведь если позиция имеет иной магик, то просто начнётся новая итерация цикла и без дополнительных команд.

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

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

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

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