Mt4 Fim do apoio. - página 38

 
Galina Bobro:

O que é tão estranho? É uma idéia boba explicar a uma pessoa que passará mais 10-20 páginas provando o contrário. Seu estilo de programação é perfeito e não pode ser criticado.

Sim, critiquem o caso.
 

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Mt4 Fim do apoio.

Nikolai Semko, 2017.09.12 02:02

Tenho um problema com este algoritmo, porque ele não funciona quando um novo bar chega no prazo atual, e se você o executar em um dia, você pode esperar o dia inteiro até que ele funcione.
Isto é culpa minha. E sobre o tema "deitar o código fora", não existe tal coisa. Podemos mover o laço de enchimento da matriz para uma função separada, mas não é urgente nesta fase. Então, por que você está me provocando?
 

Tentarei torná-lo mais claro:

1) se o código não funciona, o problema é do autor e somente do autor; a culpa não é de ninguém, mas do autor. A julgar pelas mensagens, você mesmo não tem certeza de que funciona, ou seja, não verifica corretamente.

2) Nomes russos - pelo menos é inconveniente (ok, você pode fechar os olhos) e pode não funcionar em todo lugar, como neste caso o depurador, e pior ainda, se o sistema não estiver em russo. Não diga que não precisa do depurador até que você o experimente e descubra o que é.

3) Nada no código deve ser repetido - este é um estilo de programação muito ruim. Você vai corrigir todos os caracteres manualmente? E se o terminal não mostrar "EURUSD", mas mostrar "EURUSDf", ou mesmo FORTS, ou algumas ações? Se algo é escrito mais de duas vezes - deve haver uma função que faça isso.

 if(Новый_бар && Этот_символ == "EURUSD" && Этот_таймфрейм == PERIOD_M5)
         {
          Print("M5");
         }
       //---------------------------------- 
       if(Новый_бар && Этот_символ == "EURUSD" && Этот_таймфрейм == PERIOD_M1)
         {
          Print("M1"); }

4) Você acabou de levar um enorme pedaço para todos os TFs e símbolos da revisão... Por que alocar memória para símbolos que podem nunca ser solicitados? E se o usuário precisar de um símbolo que não venha da análise do mercado?

5) A propósito, e o EuroBucks que eu não entendi - você vai digitar todos os símbolos manualmente desta maneira? Então aqui estão as más notícias - há muitos símbolos, e esperemos que você queira ser um programador, não um "operador de digitação".

-----

Você ainda pode escavar através do código, a lista pode ser longa, mas você deve pelo menos compreendê-la - já o código será muito melhor.

 
Реter Konow:
Você é o grande especialista aqui. Avalie minha solução em termos de exatidão e economia de recursos. Você já descobriu. Por que você não diz nada?

Sua abordagem é fundamentalmente incorreta. E por que você pergunta, você não se importa.

 

As raízes vêm daqui, desta crença :

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Mt4 Fim do apoio.

Retag Konow, 2017.09.09 23:20

A analogia é falsa. Este é o mundo do comércio, e as pessoas que vêm para cá são grandes aventureiros, e não futuros cientistas e engenheiros. O objetivo deles é tentar a sorte e ganhar muito dinheiro rapidamente. Naturalmente, para pessoas tão sérias como todos nós estamos aqui junto com você, não é sério, - mas para eles é apenas o objetivo de seus esforços.

Seu poder cerebral inicial é baixo, e os artifícios do OOP claramente os desencorajam de se envolverem ativamente em nosso ecossistema. Eles gostariam de testar suas idéias rápida e facilmente, e eles recebem uma carga tão grande na cabeça que não conseguem evitar ficar assustados e pensar: "por que eu preciso disso...".

É claro que esta é uma representação muito figurativa e caricatural do estado das coisas, mas a essência ainda é a mesma.


Então ele não quer ouvir ou ouvir ninguém ou nada, porque... e a explicação está na mesma passagem.

 
Galina Bobro:

Tentarei torná-lo mais claro:

1) se o código não funciona, é problema do autor e só do autor, ninguém é o culpado, a não ser o autor. A julgar pelas mensagens, você mesmo não tem certeza de que funciona, ou seja, não verifica corretamente.

2) Nomes russos - pelo menos é inconveniente (ok, você pode fechar os olhos) e pode não funcionar em todo lugar, como neste caso o depurador, e pior ainda, se o sistema não estiver em russo. Não diga que não precisa do depurador até que você o experimente e descubra o que é.

3) Nada no código deve ser repetido - este é um estilo de programação muito ruim. Você vai corrigir todos os caracteres manualmente? E se o terminal não mostrar "EURUSD", mas mostrar "EURUSDf", ou mesmo FORTS, ou algumas ações? Se algo é escrito mais de duas vezes - deve haver uma função que faça isso.

4) Você acabou de pegar um pedaço enorme para todos os TFs e símbolos da revisão... Por que alocar memória para símbolos que podem nunca ser solicitados? E se o usuário precisar de um símbolo que não venha da análise do mercado?

5) A propósito, e o EuroBucks que eu não entendi - você vai digitar manualmente todos os símbolos desta maneira? Então aqui estão as más notícias - há muitos símbolos, e esperemos que você queira ser um programador, não um "operador de digitação".

-----


Finalmente, algumas críticas sobre o assunto.

1. É claro, ninguém está discutindo. Minha inspeção foi superficial. Entretanto, não estou cumprindo a ordem de ninguém agora, mas simplesmente refutando o ponto de vista de que tal tarefa não pode ser efetivamente resolvida sem o OOP. Lembra-se? - Foi aí que tudo começou.

2. Quer seja conveniente ou não, se você precisa ou não de um depurador é uma questão totalmente subjetiva e pessoal. Isto, mais uma vez, é irrelevante para o assunto. O assunto é provar e mostrar como você pode administrar sem OOP e fazer soluções igualmente eficientes. 5.

3. Aqui eu ofereço uma das variantes de resolver a tarefa de fixar o evento de uma nova barra para dezenas de símbolos e prazos com carga mínima no sistema. Exatamente com carga mínima. Por isso, estou forçando todas as futuras funcionalidades comerciais a se adaptarem a esta solução. Se a economia de recursos não for uma prioridade - você pode usar outra solução.

4. Ver ponto 3.

5. este é apenas um exemplo, você pode escrever suas próprias funções comerciais. Este é o negócio do comerciante.

 
Реter Konow:

Finalmente, a crítica está no ponto.

1. É claro, ninguém está discutindo. Minha inspeção foi superficial. Entretanto, não estou cumprindo a ordem de ninguém agora, mas simplesmente refutando o ponto de vista de que tal tarefa não pode ser efetivamente resolvida sem o OOP. Lembra-se? - Foi aí que tudo começou.

2. A questão é se é conveniente ou não, se você precisa ou não de um depurador - esta é uma questão absolutamente subjetiva e pessoal. Mais uma vez, isto é irrelevante para o assunto. O assunto é provar e mostrar como você pode administrar sem OOP e fazer soluções igualmente eficientes.

3. Aqui eu ofereço uma das variantes de resolver a tarefa de fixar o evento de uma nova barra para dezenas de símbolos e prazos com carga mínima no sistema. Exatamente com carga mínima. Por isso, estou forçando todas as futuras funcionalidades comerciais a se adaptarem a esta solução. Se a economia de recursos não for uma prioridade - você pode usar outra solução.

4. Ver ponto 3.

5. este é apenas um exemplo, você pode escrever suas próprias funções comerciais. Este é o negócio do comerciante.


1) O código não funciona - o que você quer dizer? O que OOP?

2) Bem, diga-me como você gosta de "bonde" em comparação com "Mercedes". Não me importa o que você gosta. É puramente uma questão de gosto.

3) Você tem uma carga máxima em sua memória e em seu sistema, mais ainda você precisa pensar como escrever. Pois isto é o que você escreveu, mas parece que não precisa disso.

4) Ver ponto 3.

5) Sim, deixe o comerciante consertar o código. Havia um tópico em algum lugar sobre o conhecimento do programa para um comerciante - deixe-o ensinar o bastardo.

----

Acho que era isto que eu tinha que provar - é inútil dizer qualquer coisa. Colocarei minha opinião amadora no que me diz respeito - irei a um freelancer para terminar melhor meu pedido.

 

Minha tarefa inicial: Mostrar soluções eficazes sem utilizar o OOP.


A essência da minha solução: - gerar uma gama global de bandeiras de eventos com novas barras de todos os símbolos e prazos, uma vez por minuto.

Vantagens:

1. preenchimento automático da matriz e limpeza automática.

2. Sem carga do sistema.

3. Acesso direto à matriz a partir de qualquer função e salvando a bandeira do evento antes que a matriz seja liberada.

 
Реter Konow:

Minha tarefa inicial: Mostrar soluções eficazes sem utilizar o OOP.


A essência da minha solução: - gerar uma gama global de bandeiras de eventos com novas barras de todos os símbolos e prazos, uma vez por minuto.

Vantagens:

1. preenchimento automático da matriz e limpeza automática.

2. Sem carga do sistema.

3. Acesso direto à matriz a partir de qualquer função e salvando a bandeira do evento antes que a matriz seja liberada.

Que diabos, uma vez por minuto. Não se percebe como o bar é formado!
Dormindo, eu tenho 4.41 da manhã.
 
Реter Konow:

Vantagens:

3. Acesso direto à matriz a partir de qualquer função e salvando a bandeira do evento antes de limpar a matriz.

É discutível que isto é uma vantagem.

Acidentalmente alguém irá mudar a bandeira - e isto afetará o comportamento do TC.