OLP

 

Por favor, não me dêem pontapés, mas expliquem nos vossos dedos que tipo de OOP é e como prepará-lo.

Espero ouvir uma resposta dos criadores e programadores do MKL5 que pediram para fazer OOP no MKL5.

Na medida em que acelera ou abranda. À primeira vista, MKL5 é um comedor de recursos sem aumento de velocidade em comparação com MKL4.

Gostaria de ver exemplos concretos de ganhos de desempenho.

 
Serj_Che:

Por favor, não me dêem pontapés, mas expliquem nos vossos dedos que tipo de OOP é e como prepará-lo.

Espero ouvir uma resposta dos criadores e programadores do MKL5 que pediram para fazer OOP no MKL5.

Na medida em que acelera ou abranda. À primeira vista, MKL5 parece ser um comedor de recursos sem aumento de velocidade em comparação com MKL4.

Gostaria de ver exemplos concretos de ganhos de desempenho.

Veja este artigo https://www.mql5.com/ru/articles/116
Написание советника в MQL5 с использованием объектно-ориентированного подхода
Написание советника в MQL5 с использованием объектно-ориентированного подхода
  • 2010.07.12
  • Samuel
  • www.mql5.com
Эта статья посвящена использованию объектно-ориентированного подхода для создания советника, рассмотренного в статье "Пошаговое руководство по написанию советников для начинающих". Большинство людей думают, что это сложно, но могу вас заверить, что после прочтения этой статьи вы сможете написать свой собственный советник на основе объектно-ориентированного похода.
 
sergey1294:
ler este artigo https://www.mql5.com/ru/articles/116

Disse-lhe para não me dar pontapés, leia novamente o meu post.

P.S. Procurei mas nunca compreendi do que se tratava.

 
Serj_Che:

Disse-lhe para não me dar pontapés, leia novamente o meu post.

P.S. Eu fiz, mas ainda não sei qual é o objectivo.

O principal é que se pode criar algoritmos mais complexos num programa.
 
sergey1294:
Bem, tanto quanto percebi, o OOP permite criar algoritmos mais complexos num programa.

Algoritmos complexos não significam algoritmos eficazes.

Para entrar numa casa, pode-se entrar por uma porta, ou por uma janela, ou através de uma chaminé.

Foi por isso que pedi exemplos (de preferência para comércio, não para tetris).

 

Tente ler os artigos

Já o li. Ajuda.

 

É claro que o OOP não é uma panaceia.

vai consumir mais recursos

porque carrega o objecto inteiro

na programação estrutural, o compilador descarta funções não utilizadas

portanto, ao contrário da programação estruturada, a programação básica tem as suas próprias vantagens

de um modo geral, o OOP permite-lhe criar uma estrutura para armazenar dados com métodos específicos

naturalmente, tudo isto abre muitas possibilidades de programação básica e estrutura

mas cabe a cada indivíduo decidir qual a abordagem a adoptar

 
CoreWinTT:

Tente ler os artigos

A leitura ajuda.

Já o fiz. Não tem.

É por isso que estou a perguntar se o OOP é útil para o comércio e não para o tetris. Não consegui encontrar quaisquer exemplos.

 
Serj_Che:

Leitura. Não ajuda.

É por isso que pergunto se há alguma utilização do OOP para comércio e não para tetris. Não consegui encontrar um único exemplo.

O OOP não aumenta o desempenho. A sua utilidade - por exemplo, existe alguma função chamada com alguns parâmetros (digamos cálculo EMA), a função utiliza uma variável estática para armazenar o valor EMA anterior. Como a função armazena o último valor com base no qual os cálculos serão efectuados, não pode ser chamada com outros parâmetros (símbolo, prazo, período de alisamento) quando a função é chamada a seguir, portanto se a função precisar de ser chamada com parâmetros diferentes, é necessário fazer uma cópia da mesma com um nome diferente ou utilizar uma variável global passada por referência em vez de uma variável estática. Este é o único caso em que é mais conveniente utilizar um objecto - carrega-se uma instância de objecto, definem-se os seus parâmetros e depois chama-se o método sem parâmetros. Se o objecto incluir métodos, cuja execução não depende de execuções anteriores ou, em geral, de quaisquer parâmetros com os quais o objecto é carregado, não dá mais nada a não ser o consumo de recursos.

Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
 
Serj_Che:

Por favor, não me dêem pontapés, mas expliquem nos vossos dedos que tipo de OOP é e como prepará-lo.

Espero ouvir a resposta dos criadores e programadores do MKL5 a pedir para fazer OOP no MKL5.



Portanto, um pouco sobre o OOP (explico-o nos meus dedos, como posso)...

Aprogramação genérica orientada (OOP) - um paradigma de programação em que os conceitos básicos são os conceitos de objectos e classes.

Em termos de MQL5, os elementos básicos do OOP são: estruturas, classes (que têm as suas próprias propriedades e métodos), objectos e eventos.

Independentemente da linguagem, em que a programação é feita, é necessário conhecer (como uma oração ou uma tabela de multiplicação) os seguintes conceitos: Abstracção de Dados, Encapsulação, Herança e Polimorfismo.

A biblioteca padrão MQL5 inclui actualmente as seguintes classes comerciais: CAccountInfo, CSymbolInfo, COrderInfo, CHistoryOrderInfo, CPositionInfo, CDealInfo e CTrade.

Tanto quanto sei, os criadores vão expandir a lista de objectos da biblioteca padrão (e ninguém proíbe de formar a sua própria biblioteca de classes de objectos).

Serj_Che:

Acelera o trabalho ou abranda. À primeira vista, MKL5 é um comedor de recursos sem aumento de velocidade em comparação com MKL4.

Gostaria de ver exemplos concretos de ganhos de desempenho.

Se mesmo a MQL4 implementa(por algum milagre) metade do que a MQL5 já permite, consumirá 100 vezes mais recursos do que se espera (por estranho que possa parecer). Refiro-me aqui puramente à MQL4, sem DLLs de terceiros e outras afinações de programas...

Na realidade, o OOP implementado na MQL5 (juntamente com os recursos do próprio terminal) daria um aumento significativo da velocidade de operação, aplicando uma abordagem normal.

 
Serj_Che:

Leitura. Não ajuda.

É por isso que estou a perguntar se há alguma utilização do OOP para comércio e não para tetris. Não consegui encontrar um único exemplo.

Penso queMACD Sample.mq5 e Moving Average.mq5 não são mais exemplos de especialistas TARGET (a propósito, ninguém deve culpar Tetris, foi um bom exemplo de trabalho com objectos)? E parece que já não há 2 EAs na base.