Lona vs Rótulos - página 17

 
Mihail Matkovskij:

Sobre o assunto do código g, eu posso encontrar seu código g argumentando cada palavra que eu digo! Não como você, fazendo acusações...Encontrá-lo?

Eu não sou um programador. Eu sou autodidata. Você pode cutucar qualquer código meu e chamá-lo do jeito que quiser, mas não importa como você olhe para ele, meus códigos estão longe da g...

 
Artyom Trishkin:
Um tema de interesse foi destruído... Que tipo de pessoas...

O assunto poderia ter sido interessante. Mas, infelizmente, nunca será.

 
Alexey Viktorov:

Eu não sou um programador. Eu sou autodidata. Você pode cutucar qualquer código meu e chamá-lo do jeito que quiser, mas não importa como você olhe para ele, meus códigos estão longe de ser os mais g...

Mas os códigos dos outros membros da comunidade, para você, são... Bem, você é obviamente autodidata. Portanto, você não precisa de regras não escritas que digam que não se pode jogar no lixo seus colegas.

Agora para as perguntas do códigohttps://www.mql5.com/ru/code/24076. É claro que não vou ser como você e dizer que é um código de merda... Mas farei minhas observações de qualquer forma.

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   calculate();
   ArrayFill(extImg1, 0, IMG_WIDTH1*IMG_HEIGHT, 0);
   textComment(dts(lots[0])+" ", IMG_WIDTH1, 1, extImg1);
   textComment(dts(lots[1])+" ", IMG_WIDTH1, 2, extImg1);
   textComment(dts(lots[2])+" ", IMG_WIDTH1, 3, extImg1);
   textComment(dts(lots[3])+" ", IMG_WIDTH1, 4, extImg1);
   textComment(dts(lots[4])+" ", IMG_WIDTH1, 5, extImg1);
   textComment(dts(lots[5])+" ", IMG_WIDTH1, 6, extImg1);
   textComment(dts(lots[6])+" ", IMG_WIDTH1, 7, extImg1);
   textComment(dts(lots[7])+" ", IMG_WIDTH1, 8, extImg1);
   ResourceCreate("::bbb", extImg1, IMG_WIDTH1, IMG_HEIGHT, 0, 0, IMG_WIDTH1, clr_format);
  //ChartRedraw();
//--- return value of prev_calculated for next call
   return(rates_total);
}

Por que não há nenhuma limitação na freqüência de atualização do BitmapLabel, se ele vai funcionar no modelo "all ticks"? Você espera, que um ferro moderno digira tudo?) Onde está a otimização? E você me sugeriu isso, quando eu estava procurando uma maneira de produzir texto a partir de processos de alta carga (saída em testador, no modelo "all ticks", e no gráfico em loop)?

E quando eu disse que não funcionava para mim cada tic...

https://www.mql5.com/ru/forum/1111/page2979#comment_21212761

Por que não usar o CCanvas, que é especialmente projetado para este fim? É verdade, eu olhei, você escreveu em algum lugar que supostamente chama funções desnecessárias, etc. Portanto, você não fez a limitação de freqüência de atualização para o testador, mas, ao mesmo tempo, o CCanvas funciona de alguma forma :)

Estranho...


E agora é sua vez de me dizer exatamente por que você acha que meu código é "código g". Só que, com argumentos, não com conversa fiada!

 
Artyom Trishkin:
Você está desorganizando um tópico interessante... Que tipo de pessoas...

Tudo o que fiz foi aceitar uma oferta para participar do teste, o que me levou à necessidade de fazer algumas perguntas ao convidado...

 
Mihail Matkovskij:

...

Por que não há limite para a freqüência de atualização do BitmapLabel se ele vai funcionar em um testador, em um modelo "all ticks"? Você está esperando que o ferro moderno digerirá tudo?) Onde está a otimização? E foi isso que você me sugeriu, quando eu estava procurando uma maneira de produzir texto a partir de processos altamente carregados (saída em testador, em todos os modelos de ticks, e em gráfico em loop)?

...

E por quê, porque você mesmo afirma que um rótulo de bitmap é mais rápido do que um rótulo normal. E uma única etiqueta regular neste caso seria quase invisível em termos de desempenho.

 
Dmitry Fedoseev:

Tudo o que fiz foi aceitar uma oferta para participar de um teste, o que me levou a ter que fazer algumas perguntas ao convidado...

"Um chapéu de ladrão está pegando fogo"?... Qualquer pessoa pode baixar o código fonte e repetir as medidas que apresentei acima! Você só tem reclamações e reclamações. Inventado, "elos quebrados" e coisas do gênero.
Dmitry Fedoseev:

Porque você mesmo afirma que o rótulo bitmap é mais rápido do que o rótulo normal.

Eu não disse isso. E eu estava falando sobre a saída de informações em mais de uma linha. Foi por isso que fiz um display para produzir um grande número de linhas para medir.

Output to Labels otimiza a tabela. Enquanto no BitmapLabel você precisa passar um array de pixels, pré-preenchendo-o. Neste caso, ele está preenchendo a matriz de píxeis e produzindo texto para ele. Todas estas operações, se chamadas com muita freqüência, colocam uma tensão sobre a aplicação. Enquanto para o rótulo você só precisa passar um fio. Isto já foi mencionado acima.

Você pode saber mais sobre velocidade comparando as medidas de velocidade de CCanvas e etiquetas em diferentes modos:https://www.mql5.com/ru/forum/364640/page13#comment_21314045

 
Mihail Matkovskij:

Mas os códigos de outros membros da comunidade para você g... Bem, você é obviamente autodidata. É por isso que você não precisa de regras não escritas que digam que não se pode jogar no lixo seus colegas.

E agora as perguntas sobre o código. Não vou ser como você e dizer que é um código de merda. ...mas farei meus próprios comentários, no entanto.

Por que não há nenhuma limitação na freqüência de atualização do BitmapLabel, se ele vai funcionar no modelo "all ticks"? Você espera, que um ferro moderno digira tudo?) Onde está a otimização? E você me sugeriu isso, quando eu estava procurando uma maneira de produzir texto a partir de processos de alta carga (saída em testador, no modelo "all ticks", e no gráfico em loop)?

E quando eu disse que não funcionava para mim, você começou a me expressar suas queixas... Alegadamente, eu não entendo nada e tive que chamar TextOut - ResourseCreate - ChartRedraw impiedosamente . É verdade queo ChartRedraw é comentado por alguma razão.


Por que não usar o CCanvas, especialmente projetado para este fim? É verdade, vejo que você escreveu em algum lugar que supostamente chama funções desnecessárias, etc. Portanto, você não fez uma limitação na freqüência de atualizações para o testador, mas, ao mesmo tempo, as funções do CCanvas de alguma forma o impediram... :)

Estranho...


E agora é sua vez de me dizer exatamente por que você acha que meu código é "código g". Só que, com argumentos, não com conversa fiada!

  1. Em que planeta você vive? Onde você encontrou tais regras? Venha a qualquer estação de serviço e ouça tudo sobre quem consertou seu carro da última vez. Mesmo que fosse com ele que você está falando agora. E não se trata apenas de carros. É apenas o exemplo mais óbvio.
  2. Ofereci-lhe este código como exemplo, não para copiá-lo cegamente.
  3. Todas as verificações e atrasos sobrecarregam o código e é mais difícil usar tal código como exemplo.
  4. De que tipo de otimização estamos falando se a EA não é uma EA comercial? Quais parâmetros devem ser otimizados nele?
  5. Depois que você rejeitou minha proposta, Nikolay começou a explicar todos os detalhes para você. Aconselhei apenas a analisar seu tópico sobre Tela. Você mentiu e disse que leu tudo. Como você quer que eles tratem os mentirosos (para dizer de forma branda)?

Deixe as moscas e os escaravelhos de excrementos espetarem-se em seu código. Tenho muitas outras coisas interessantes e úteis para fazer.

 
Mihail Matkovskij:
"Um chapéu de ladrão está pegando fogo"?... Qualquer pessoa pode baixar o código fonte e repetir as medidas que apresentei acima! Você, por outro lado, não tem nada além de reclamações e reclamações. Inventado, "elos quebrados" e afins.

Eu não disse isso. E eu estava falando sobre a saída de informações em mais de uma linha. Portanto, para medir, fiz um display para produzir um grande número de linhas.

Output to Labels otimiza a tabela. Enquanto no BitmapLabel você precisa passar um array de pixels, pré-preenchendo-o. Neste caso, ele está preenchendo a matriz de píxeis e produzindo texto para ele. Todas estas operações, se chamadas com muita freqüência, colocam uma tensão sobre a aplicação. Enquanto para o rótulo você só precisa passar um fio. Isto já foi mencionado acima.

Você pode aprender mais sobre velocidade comparando CCanvas e medidas de velocidade de etiquetas em diferentes modos:https://www.mql5.com/ru/forum/364640/page13#comment_21314045

Bem em geral, sem vergonha e impudicícia.

 
Há uma citação com links neste comentário. Estes links ainda permitem baixar um arquivo com uma classe que não tem um campo limitFps, mas que é referenciado. Diga-me também que eu mesmo "desenhei" tais ligações.
 
Alexey Viktorov:
  1. Em que planeta você vive? Onde você encontrou tais regras? Vá a qualquer serviço de carro e você ouvirá tudo sobre quem consertou seu carro da última vez. Mesmo que fosse com ele que você está falando agora. E não se trata apenas de carros. É apenas o exemplo mais óbvio.

Obviamente, estamos em planetas diferentes, se você seguir esse paradigma...!

A oficina de automóveis me dá um exemplo... :) Bem, pelo menos você se animou esta manhã. :)

Alexey Viktorov:

Ofereci este código como exemplo...

Então eu pergunto novamente, qual é a diferença entre Kanvas e eu? Funciona da mesma maneira. Apenas as funções de que você precisa não são eliminadas, como em seu exemplo. A única diferença é que é OOP, um nível totalmente diferente, não sua programação processual. :)

Alexey Viktorov:

Todas as verificações e atrasos sobrecarregam o código e tal código é mais difícil de usar como exemplo.

É claro, é claro... Sobregravar... Você também não é muito bom em código! Provavelmente você será respondido com uma desculpa: Bem, eu não sou um programador... :) Você está apenas tentando ensinar aos outros. :)

Alexey Viktorov:

De que tipo de otimização estamos falando se o Expert Advisor não é um Expert Advisor comercial? Que parâmetros devo otimizar nele?

Estou confuso em termos de termos :) Eu estava falando sobre a otimização da taxa de atualização do Bitmap Label. O que você não fez e me ofereceu seu exemplo para ser usado em processos de alta carga.

Alexey Viktorov:
  1. Depois que minha oferta foi rejeitada, Nikolai começou a explicar todas as sutilezas para você. Acabei de aconselhá-lo a analisar seu tópico sobre o kanvas. Você mentiu e disse ter lido tudo. Como você quer tratar os mentirosos (para dizer de forma branda)?

Neste caso, o mentiroso é você! Porque eu não disse isso. Tudo o que eu disse foi porque preciso de outra biblioteca baseada em Tela. Na verdade, outra Tela. Você me ofereceu a mesma Tela e ela funciona exatamente da mesma maneira. Nikolay não tinha nenhum desejo de explicar o que fazer para que Kanvas trabalhasse rapidamente em minha tarefa. E você obviamente não tem o conhecimento apropriado. Você disse ao Nikolai "não perca seu tempo com ele". Ele disse "eu concordo". Essa é a sua explicação e a do Nikolai. Programadores...

Alexey Viktorov:

Deixe as moscas e os escaravelhos de excrementos espetarem-se em seu código. Tenho muitas outras coisas interessantes e úteis para fazer.

Não direi que o seu é verdade... Mas concordo com você em uma coisa. Você realmente não precisa fazer isso. Por que eu deveria precisar das conclusões de um amador...? É melhor ir a uma oficina de reparo de automóveis...

É isso aí. Não lhe darei mais respostas detalhadas. Porque é uma perda de tempo. Eu prefiro fazer algo útil!