Вопросы по ООП в MQL5 - страница 76

 
awsomdino:

пример нужно брать у Сабера, истинную цель его не знаю, но видел его дерева if else) там нужно было получить что нужно. Я когда пришел сюда, у меня был вопрос, как сделать сразу правильно, и искать как это реализовать, перечитал все - реально потерял только время, правильная реализации нет, куча статей и везде свое. Реально разочарование когда ты не много понимаешь здесь в коде и стоишь на развилке 5-дорог, и думаешь, а куда пойти. тут даже не стоит вопрос найдешь ли ты тут торговую систему прибыльную, вопрос в первую очередь стоит  - а найдешь ли ты здесь когда-нибудь правильный оптимальный путь) - Это дорогой наш MQL5.

дык он и в открытую говорит, что искать прибыльную ТС, искать инструменты где можно применить ТС - нужно постоянно, причем искать нужно быстро

и в сигналах его ТС показала результат, затем перестала работать, затем он опять включил ТС (подозреваю, что заоптил с новыми параметрами), ТС опять пошла вверх, потом опять перестала работать

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

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

 

Igor мы же про код тут)

и, мне тоже не нравятся его системы, полу - читерские

надо на Фехтование обратить внимание, или Кэндо

 
awsomdino:

Igor мы же про код тут)

и, мне тоже не нравятся его системы, читерские

я вообще книгу читаю тут )))  ( "Программирование без дураков" )

системы его не знаю, а кодами из КБ, пользуюсь - он очень съэкономил время, скажу даже - он создал робастую инфраструктуру, которой можно брать и пользоваться, тем более свои коды он поддерживает постоянно 

 
awsomdino:

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

Семка ушел со свои рисованием, кому это рисование нужно, тут пришли деньги зарабатывать себе и близким, конечно его не жаль было разработчикам. Петер, что угодно, кроме торговли). Запудрили мозги программерам своим ненужным функционалом

#define LOG(dText) CLog::Get().Log((string)__LINE__,__FUNCSIG__,dText)

class CLog{
   CLog() {}
public:
   static CLog* Get() {static CLog _log; return &_log;}
   void Log(string line,string sig,string text) {PrintFormat("Line: %s. Signature: %s. %s",line,sig,text);}
};
//+------------------------------------------------------------------+
void OnStart()
{
   LOG("Example 1");
   Test();
}
//+------------------------------------------------------------------+
void Test(){
   string t="Example 2";
   LOG(t);
}

Тут тебе и ООП и макроподстановка и даже нехитрый одиночка (это для ценителей скорости). Писано для примера, а так, естественно, можно в конструкторе файл для логирования создать, в Log(...) в него писать, а в деструкторе закрыть. Это пример, зачем это все нужно. Не, конечно можно и на функциях вырулить, но в случае ведения своего файла, как-то побольше кода будет, да и глобальными переменными прирастете, а это как бы не православненько)))

 
Vladimir Simakov:

Тут тебе и ООП и макроподстановка и даже нехитрый одиночка (это для ценителей скорости). Писано для примера, а так, естественно, можно в конструкторе файл для логирования создать, в Log(...) в него писать, а в деструкторе закрыть. Это пример, зачем это все нужно. Не, конечно можно и на функциях вырулить, но в случае ведения своего файла, как-то побольше кода будет, да и глобальными переменными прирастете, а это как бы не православненько)))

спасибо, сохраню пример

 
awsomdino:

спасибо, сохраню пример

Прикол в том, что не сохранять надо, а понимать. Понимающий сразу напишет, что одиночка тут и нафик не нужен, а все можно свести к

#define LOG(dText) CLog::Log((string)__LINE__,__FUNCSIG__,dText)

class CLog{
public:
   static void Log(string line,string sig,string text) {PrintFormat("Line: %s. Signature: %s. %s",line,sig,text);}
};
//+------------------------------------------------------------------+
void OnStart()
{
   LOG("Example 1");
   Test();
}
//+------------------------------------------------------------------+
void Test(){
   string t="Example 2";
   LOG(t);
}
 
Vladimir Simakov:

Прикол в том, что не сохранять надо, а понимать. Понимающий сразу напишет, что одиночка тут и нафик не нужен, а все можно свести к

спасибо это понятный мне давно код)

писать кстати код лучше в дефолтном формате, именно на таких нюансах я сильно застревал

_Symbol
Symbol();

симболинфо и прочих однозначных моментах, это сильно попортило внимание и время

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

 
Vladimir Simakov:

Прикол в том, что не сохранять надо, а понимать. Понимающий сразу напишет, что одиночка тут и нафик не нужен, а все можно свести к

понимающий напишет, что ООП тут не нужно, можно вызовом функции заменить

и затем опять на два лагеря и месиво на несколько страниц )))

 
Igor Makanu:

понимающий напишет, что ООП тут не нужно, можно вызовом функции заменить

и затем опять на два лагеря и месиво на несколько страниц )))

Молодец! Правильно! А вот это?

#define LOG(dText) CLog::Ptr().Log((string)__LINE__,__FUNCSIG__,dText)

class CLog{
   int cHndl;
   CLog():cHndl(FileOpen(MQLInfoString(MQL_PROGRAM_NAME)+_Symbol+(string)(int)TimeCurrent()+".log",FILE_TXT|FILE_WRITE)){}
  ~CLog() {FileClose(cHndl);}
public:
   static CLog* Ptr() {static CLog _log; return &_log;}
   void Log(string line,string sig,string text){
      string _text=StringFormat("Line: %s. Signature: %s. %s",line,sig,text);
      PrintFormat(_text);
      FileWrite(cHndl,_text);}
};

Согласись, что уже посложнее)))

 
Vladimir Simakov:

Молодец! Правильно! А вот это?

Согласись, что уже посложнее)))

где классы там и багги все) 

* и & может удивить

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

структуры удобней и менее замороченные для изучения., о чем это я, в структурах это есть)

многие даже не знают, или не понят возможности структур. Барабашка только не давно публично широко стал в своих кодах использовать

Причина обращения: