OLP - página 6

 
Rosh:
Não há diferença desde que não se refira explicitamente ao objecto por referência como um ponteiro. Experimente você mesmo e veja o artigo When to use pointers in MQL5
Obrigado!
 
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 é um comedor de recursos sem aumento de velocidade em comparação com MKL4.

Gostaria de ver exemplos concretos de ganhos de desempenho.

O OOP permite simular situações diferentes e também fazer cálculos paralelos. O Tetris não é um bom exemplo, pode ser escrito sem OOP, apenas mais código. Tente, por exemplo, criar um aquário onde cada peixe tenha a sua própria velocidade e a sua própria trajectória e onde existam 500 peixes. - Para este tipo de tarefas, o OOP é a coisa certa! Se tomarmos consultores especializados em forex, então, por exemplo, um objecto pode ser percorrido através da história com certos parâmetros, enquanto a própria EA estará a negociar nesse momento. Ou os mesmos painéis gráficos - caixas de ferramentas - por exemplo, várias janelas de dados independentes. Onde o paralelismo de trabalho e cálculos é necessário, é aí que o OOP se enquadra.

 

O OOP não tem nada a ver com a paralelização.

 
papaklass:
Então, a afirmação "Onde o paralelismo do trabalho e dos cálculos é necessário, é onde deve estar o PON" não é verdadeira?

CUDA, por exemplo, está escrito em C simples, e nenhum OOP está lá fora de questão.

Tanto quanto sei, não existem hoje em dia línguas que utilizem directamente o OOP para fazer paralelismo.

 
papaklass:
Então, a afirmação "Onde o paralelismo do trabalho e dos cálculos é necessário, é onde deve estar o PON" não é verdadeira?
Não exactamente. Ao aplicar o OOP deve ter em conta a contabilidade de recursos, por exemplo, não existem 500 milhões de peixes, mas 5 milhões deles mais algas marinhas)). Vamos dar-lhe um exemplo, por exemplo, tem um Expert Advisor que utiliza vários esquemas de gestão de dinheiro. E quer ver toda a dinâmica da EA a trabalhar com diferentes esquemas de gestão de dinheiro. Se não utilizarmos o OOP, teremos de calcular sequencialmente para cada esquema, o que pode levar à obsolescência de um tick. Ou fazer a execução de cada esquema MM num objecto. Uma vez que existe uma reserva de recursos, tudo seria produzido quase "da mesma forma" - "em paralelo". Esse é o tipo de paralelização que eu tinha em mente.
 
papaklass:
Então, a afirmação "Onde o paralelismo de trabalho e cálculos é necessário - é aí que o OOP se encaixa" não é verdadeira?

Sim. Não é verdade.

 
Serj_Che:

OOP é um insecto, como "Niva" ou "Lada".

Utilizar programação processual regular no MetaTrader 5.

É tão acessível aqui como no MetaTrader 4.

É pena que MetaQuotes não o enfatize.

 
MoneyJinn:

OOP é um insecto, como "Niva" ou "Lada".

Utilizar programação processual regular no MetaTrader 5.

É tão acessível aqui como no MetaTrader 4.

É pena que MetaQuotes não o enfatize.


Um erro, porque deveriam?
 
MoneyJinn:

OOP é um insecto, como Niva ou Lada.

Usar programação processual normal no MetaTrader 5.

Está tão disponível aqui como no MetaTrader 4.

É uma pena que a MetaQuotes não o enfatize.

Na minha opinião, estás muito enganado!

Uma vez que tenha grandes projectos (pelo menos alguns milhares de linhas de código), verá que a programação com classes (OOP) torna muito fácil controlar o processo de desenvolvimento e, mais importante ainda, a depuração.

Além disso, o OOP torna os projectos mais próximos da vida real, de facto na vida real lidamos apenas com instâncias de objectos (uma casa, uma árvore, um homem, um carro, uma ordem, etc.), ou seja, com um conjunto de propriedades e métodos :)

Tente fazer algo no OOP, verá, que é mais elegante e claro. É mais fácil do que a programação processual!

 

MoneyJinn:

OOP é um insecto, como Niva ou Lada.

Usar programação processual normal no MetaTrader 5.

Está tão disponível aqui como no MetaTrader 4.

É uma pena que a MetaQuotes não se concentre nela.


Até a utilização do OOP não trará qualquer benefício prático sob a forma de dinheiro, haverá argumentos. Afinal de contas, pode-se ler wikipedia e google prós e contras da OOP, paralelização. Se precisar de exemplos, há muitos deles no conjunto de programas terminais. Mesmo este conjunto de programas terminais não é mais fácil escrever programas? A programação processual convencional é menos versátil.

Tenho vários objectos, cada um fazendo algo diferente - para cada um escrever procedimentos e esperar que sejam feitos à vez - não se preocupe.

OOP é um insecto, como "Niva" ou "Lada". - corajosamente! Quantos programas estarão instalados no seu computador, incluindo os sistemas operativos? E qual é a relação entre os programas que utilizam o OOP e os que não o fazem?