Ошибки, баги, вопросы - страница 3303

 
Vladimir Simakov #:

Создал два лишних объекта и вызвал еще для них конструктор копирования. В чем прикол?

Пояснение к этому.

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

Ошибки, баги, вопросы

fxsaber, 2023.03.19 11:04

  • В наследник передавать ссылку на родительский класс, а потом внутри вызывать конструктор с входным в виде этой ссылки.

Не нравятся портянки - меняй архитектуру

Про это и был изначально вопрос.

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

Ошибки, баги, вопросы

fxsaber, 2023.03.19 11:04

Подскажите, как архитектурно правильно работать со входными параметрами конструктора при наследованиях?

, или вот так еще можно:

Но это как-раз вариант со структурой.

Для чего приводить пример того, что сразу было озвучено?

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

Ошибки, баги, вопросы

fxsaber, 2023.03.19 11:04

  • Создавать спец. структуру с полями входных параметров и передавать подобные структуры?
 
Igor Makanu #:

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

Игра со скопами, не более. По смыслу ничего не меняется - новый тип данных, доступный извне.

 
fxsaber #:

Подобное.

Отвлечённо, а что ЭТО ?

 
Maxim Kuznetsov #:

Отвлечённо, а что ЭТО ?

Для этого.


 
fxsaber #:

Для этого.


а вот это вот 

C( const C* const Value ) : B(Value)  { this = Value; 

чтобы вызвать водопад счастья ? там же тьма конструкторов и операторов поперевызываются, this протрётся до дыр :-) 

 
Maxim Kuznetsov #:

а вот это вот 

чтобы вызвать водопад счастья ? там же тьма конструкторов и операторов поперевызываются, this протрётся до дыр :-) 

Это концепция, отладку не производил. Допускаю наличие проблем в текущем представлении. Но, как понимание описанного способа, наглядно.

 

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

Предполагаю, что это из-за того, что во время оптимизации в клауде при недостатке реальных тиков используются моделируемые тики(Every tick).

Возникает такой вопрос: как можно средствами MQL5 во время тестирования получить параметры тестера, например тип моделирования:  Every tick или Every tick based on real ticks ?

 
Здравствуйте.Подскажите на что скрипт выдает предупреждения. return value of 'OrderClose' should be checked


 // Скрипт
#property copyright 
#property show_inputs
extern int Stop=5;
void start()
{
   int slippage=2;
   int ask, bid, open;
   double point;
   for (int i=OrdersTotal()-1; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
      if (OrderType()==OP_BUY)
      {
         point=MarketInfo(OrderSymbol(),MODE_POINT);
         if (point==0) break;
         bid=MathRound(MarketInfo(OrderSymbol(),MODE_BID)/point);
         open=MathRound(OrderOpenPrice()/point);
         if (open-bid<Stop) continue;
         OrderClose(OrderTicket(),OrderLots(),bid*point,slippage);
      }
      if (OrderType()==OP_SELL)
      {
         point=MarketInfo(OrderSymbol(),MODE_POINT);
         if (point==0) break;
         ask=MathRound(MarketInfo(OrderSymbol(),MODE_ASK)/point);
         open=MathRound(OrderOpenPrice()/point);
         if (ask-open<Stop) continue;
         OrderClose (OrderTicket(),OrderLots(),ask*point,slippage);
      }
   }
} 
 
Vladimir Simakov #:
Тогда уж, каждую структуру в своем классе определяй, так кошерней будет)

Какой смысл описывать структуру внутри класса? Все равно ведь можно будет создать объект этой структуры в любом месте программы (после описания класса).

Типа что бы после <Alt + G> сразу пришло дикое понимание, что структура относится к этому классу и за его пределами использование не предполагалось?

Я тоже раньше хотел описывать структуры внутри описания класса. Но отказался от этого по тому, что она все равно видна за его пределами.

P.S. Это вопрос, а не утверждение, я хочу понять. Думаю, я чего-то не понимаю

 
Vladislav Boyko #:

Какой смысл описывать структуру внутри класса? Все равно ведь можно будет создать объект этой структуры в любом месте программы (после описания класса).

Типа что бы после <Alt + G> сразу пришло дикое понимание, что структура относится к этому классу и за его пределами использование не предполагалось?

Я тоже раньше хотел описывать структуры внутри описания класса. Но отказался от этого по тому, что она все равно видна за его пределами.

P.S. Это вопрос, а не утверждение, я хочу понять. Думаю, я чего-то не понимаю

Что бы не тащить имена внутренних типов в пространство имен. В больших проектах банально удобнее TClassA::TSet и TClassB::TSet, чем TSetClassA и TSetClassB.

Что бы их не было видно за пределами класса, объявляй их private