Hora de escrever o assessor - página 5

 
82Dmitry82:

Posso enviar-lhe um pedido para que ele tenha feito a fonte, você pode olhar quem entende, qualidade ou não, eu simplesmente não entendo, qualidade ou não, a principal coisa que ele trabalha no algoritmo, e como o interior, eu não sei) 0

A maior parte do código está na biblioteca do Trades.mqh, que presumo que ele lhe enviou. Por favor, anexá-lo para a estimativa de qualidade.
Não há muito a julgar a partir deste arquivo. Parece que não há verificações e normalizações onde elas deveriam estar, mas elas também podem estar no arquivo Trades.mqh incluído.
E a maior parte do código está localizada no mesmo lugar.

No entanto, tenho algo a dizer sobre o bloco de sinal.
1) comparação de duplas sem qualquer normalização.
2) O cruzamento de preços de MA é implementado sem levar em conta a situação quando o preço de fechamento da vela é igual ao preço de MA. Isto é raro, mas ainda assim possível.

 
82Dmitry82:

Não contesto que é difícil e sim há muitos erros, mas há 2 meses atrás foi-lhes dito que os erros são conhecidos, reparáveis e toda a parte mais difícil já passou, infelizmente não sou eu quem o faz, e alguém que conhece todos os detalhes da estratégia, e ele concordou com uma tarifa horária e um simples relatório de trabalho e eu não pude provar a ele que era ruim e errado

O freelance paga por hora?

Se você puder resolver as questões por meio de arbitragem, existe tal coisa, eles irão resolvê-la.

 

Deixe-me participar da discussão, se você estiver à altura ))))

Antes de mais nada, é claro, ao 82Dmitry82 e ao resto de sua equipe, peço desculpas pelo atraso no desenvolvimento. Como eu mesmo indiquei ao representante deles que lamentava ter assumido o desenvolvimento, admito que para mim é uma tarefa difícil. A tarefa foi dividida em partes, mas uma forte complicação das exigências reveladas na segunda etapa e, de fato, desde que a assumi, decidi pôr um fim a ela, mas não foi tão fácil.

Agora, sem revelar a estratégia, vou tentar delinear o fato de aumentar a complexidade dos ToR, para que nossos programadores realmente apreciem o quanto este fato complica o desenvolvimento.

A base é a construção gráfica dos níveis a partir dos quais as ordens devem ser abertas. Estes níveis não podem ser construídos imediatamente na borda do gráfico sem referência à história, temos que esperar até que a história seja construída ou simplesmente fazer o Expert Advisor se referir à própria história e chegar à borda do gráfico com alguns dados. Foi isto o que decidimos fazer.

Inicialmente, imaginamos que iríamos funcionar com castiçais e estimar 4 parâmetros (Aberto, Fechado, Alto, Baixo) e construir com base nas condições. E assim fizemos a primeira parte de uma grande TF (ToR está dividido em 3 partes, 3 TFs para cada uma das quais há diferentes construções e condições para estas construções). Quando passamos para a segunda TF e começamos a testar essencialmente a segunda parte pronta, identificamos erros e a discussão geral mostrou que uma vela na história deveria ser rastreada online (ou seja, como se fosse zero na borda do gráfico) e uma reconstrução feita quando a vela ainda não está fechada, o que não é realista durante a corrida através da história, porque na verdade existem 4 parâmetros: Aberto, Fechado, Baixo e Alto.

A discussão geral decidiu ir mais fundo e quebrá-la para m1 a fim de rastrear a vela on-line o máximo possível (como se fosse zero na borda da carta). A idéia de deixar o edifício histórico como está por 4 pontos e traçar a lógica correta na borda do gráfico (quando Close[0] está flutuando) foi rejeitada. Os próprios clientes entenderam que este fato, revelado no processo de desenvolvimento, complica significativamente os ToR. Já naquela etapa eu queria abandonar o desenvolvimento, mas porque a primeira etapa já estava feita, e não está realmente em meus princípios abandonar o desenvolvimento no meio, decidi continuar. Enquanto adaptava o algoritmo existente ao fato de que eu deveria usar M1 e rastrear TFs mais altos, comecei a me sentir psicótico, pois tinha matado muito tempo para isso, durante o processo de não ter sucesso costumava ficar frustrado e escrever aos clientes que deveria aumentar os custos de desenvolvimento, mas quando me afastei do computador e fiquei um pouco frio, continuei a corrigir o problema.

Sugeri um pagamento baseado no tempo só porque não fui mais capaz de puxar o projeto para o valor negociado. Embora se ofereça para dar o código fonte para possivelmente encontrar alguém que traga à mente.

Se eu soubesse desde o início, teria usado outra abordagem para rastrear М1 dentro de um período de tempo maior.

Se eu tiver um erro de construção, eu o corrigirei. Não tenho oportunidade de verificar tudo sozinho, pois há muitas condições na estratégia que não consigo nem me lembrar. Já verifiquei todos eles para que não entrem em conflito uns com os outros, esse é o principal problema. Foi feito gradualmente, e os clientes admitem que a estratégia é difícil de entender, mas em geral é agora quase toda prescrita, mas como funciona não consigo nem mesmo entender corretamente ou não))))

A última coisa em que pararam foi o caso que não foi levado em conta (mesmo de acordo com o representante do cliente) e agora temos que escrever, colar e concordar com uma dúzia de outras condições mais uma vez. Portanto, a mudança para uma tarifa horária, de minha parte, acho que é justificada.

82Dmitry82, se você quiser, podemos falar com você pessoalmente sobre o assessor, você tem meus contatos. Eu fiz outro EA para você, acho que você vai apreciar sua capacidade de resposta e apoio, mas vou pedir paciência com este, às vezes eu o adio, só porque não entendo a que lado ir, para começar a corrigir outra construção de nível errado.


No momento existem mais de 1000 linhas de código no Expert Advisor e isto é apenas a construção de níveis, sem qualquer meshura agradável e até mesmo ordens, que ainda não foram alcançadas.

 
Sergey Ermolov:

Deixe-me participar da discussão, se você estiver à altura ))))

Antes de mais nada, é claro, ao 82Dmitry82 e ao resto de sua equipe, peço desculpas pelo atraso no desenvolvimento. Como eu mesmo indiquei ao representante deles que lamentava ter assumido o desenvolvimento, admito que para mim é uma tarefa difícil. A tarefa foi dividida em partes, mas uma forte complicação das exigências revelada na segunda etapa, e de fato, desde que a assumi, decidi encerrar, mas não foi tão fácil.

Agora, sem revelar a estratégia, vou tentar delinear o fato de aumentar a complexidade dos ToR, para que nossos programadores realmente apreciem o quanto este fato complica o desenvolvimento.

A base é a construção gráfica dos níveis a partir dos quais as ordens devem ser abertas. Estes níveis não podem ser construídos imediatamente na borda do gráfico sem referência à história, temos que esperar até que a história seja construída ou simplesmente fazer o Expert Advisor se referir à própria história e chegar à borda do gráfico com alguns dados. Foi isto o que decidimos fazer.

Inicialmente, imaginamos que iríamos funcionar com castiçais e estimar 4 parâmetros (Aberto, Fechado, Alto, Baixo) e construir com base nas condições. E assim fizemos a primeira parte de uma grande TF (ToR está dividido em 3 partes, 3 TFs para cada uma das quais há diferentes construções e condições para estas construções). Quando passamos para a segunda TF e começamos a testar essencialmente a segunda parte pronta, identificamos erros e a discussão geral mostrou que uma vela na história deveria ser rastreada on-line (ou seja, como se fosse zero na borda do gráfico) e as reconstruções deveriam ser feitas enquanto a vela ainda está aberta, o que não é realista durante a corrida através da história, porque na verdade existem 4 parâmetros: Aberto, Fechado, Baixo e Alto.

A discussão geral decidiu ir mais fundo e quebrá-la para m1 a fim de rastrear a vela on-line o máximo possível (como se fosse zero na borda do gráfico). A idéia de deixar o edifício histórico como está por 4 pontos e traçar a lógica correta na borda do gráfico (quando Close[0] está flutuando) foi rejeitada. Os próprios clientes entenderam que este fato, revelado no processo de desenvolvimento, complica significativamente os ToR. Já naquela etapa eu queria abandonar o desenvolvimento, mas porque a primeira etapa já estava feita, e não está realmente em meus princípios abandonar o desenvolvimento no meio, decidi continuar. Enquanto adaptava o algoritmo existente ao fato de que eu deveria usar M1 e rastrear TFs mais altos, comecei a me sentir psicótico, porque tinha matado muito tempo para isso, e durante o processo de não ter sucesso costumava quebrar e escrever aos clientes que deveria aumentar os custos de desenvolvimento, mas quando me afastei do computador e fiquei um pouco frio, continuei a corrigir o problema.

Sugeri um pagamento baseado no tempo só porque não fui mais capaz de puxar o projeto para o valor negociado. Embora se ofereça para dar o código fonte para possivelmente encontrar alguém que traga à mente.

Se eu soubesse desde o início, teria usado outra abordagem para rastrear М1 dentro de um período de tempo maior.

Se eu soubesse desde o início que é necessário rastrear dentro do M1 e dentro de prazos mais altos, eu o teria feito de forma diferente. Eu mesmo não posso verificar tudo, pois há muitas condições na estratégia que não consigo nem mesmo lembrar. Já verifiquei todos eles para que não entrem em conflito uns com os outros, esse é o principal problema. Foi feito gradualmente, e os clientes admitem que a estratégia é difícil de entender, mas em geral é agora quase toda prescrita, mas como funciona não consigo nem mesmo entender corretamente ou não))))

A última coisa em que pararam foi o caso que não foi levado em conta (mesmo de acordo com o representante do cliente) e agora temos que escrever, colar e concordar com uma dúzia de outras condições mais uma vez. Portanto, a mudança para uma tarifa horária, de minha parte, acho que é justificada.

82Dmitry82, se você quiser, podemos falar com você pessoalmente sobre o assessor, você tem meus contatos. Eu fiz outro EA para você, acho que você vai apreciar sua capacidade de resposta e apoio, mas vou pedir paciência com este, às vezes eu o adio, só porque não entendo a que lado ir, para começar a corrigir outra construção de nível errado.


No momento existem mais de 1000 linhas de código no Expert Advisor e isto é apenas a construção de níveis sem nenhuma malha agradável e até mesmo ordens que ainda não temos.

Em suma, tornou-se ainda mais confuso do que antes.

Entendi que devemos verificar a coincidência das condições em um período de tempo maior e se a coincidência não for encontrada.

Se eu entendi o algoritmo corretamente, não é tão complicado, 2-3 dias no máximo.

 
Sergey Ermolov:

No momento existem mais de 1000 linhas de código na EA, e isto é apenas a construção de níveis, sem nenhuma meshura agradável e até mesmo ordens, que ainda não foram alcançadas.

1000 linhas é, a propósito, o tamanho médio de qualquer EA acima de uma simples. Acho que o problema é que você tomou o caminho errado ao pensar em como contornar os problemas que surgiram. 90% do sucesso é formular o problema certo, e sua implementação é uma décima questão

 
Sergey Ermolov:

.

.

De fato, se eu soubesse desde o início que era necessário rastrear m1 dentro de um período de tempo maior, teria construído a lógica da EA de forma diferente.

.

No momento existem mais de 1000 linhas de código na EA, e isto é apenas a construção de níveis, sem nenhuma meshura agradável e até mesmo ordens, que ainda não foram alcançadas.

Deixe-me apoiá-lo.

É claro que minha estratégia não é exatamente assim, mas semelhante. Leva em conta os níveis de suporte/cópia, tendências, inversões, recuo e muitas outras coisas, sem utilizar indicadores externos (personalizados).

Há 3 anos que venho negociando à mão com esta estratégia. Todo este tempo eu estava pensando em como implementá-lo e o programei por um ano. Acabaram sendo menos de 2000 linhas.


Todos os desenvolvedores que são capazes de negociar à mão, é mais fácil para eles quando tomam algumas barras como base para análise.

Mas um bar, mesmo que seja M1, já é o passado. É inútil construir uma estratégia sobre barras (especialmente sobre as mais altas).

Isso deve ser feito usando cada carrapato.

Em meu programa não há uma única matriz (no sentido absoluto), e eu não analiso o que havia no passado. Mas é claro que me lembro dos pontos de verificação necessários em tempo real (não em matrizes).

Em resumo: o que é feito à mão e é tão fácil e belamente desenhado no gráfico, nem sempre é possível programar.

 
Sergey Ermolov:

Deixe-me participar da discussão, se você estiver à altura ))))

Antes de mais nada, é claro, ao 82Dmitry82 e ao resto de sua equipe, peço desculpas pelo atraso no desenvolvimento. Como eu mesmo indiquei ao representante deles que lamentava ter assumido o desenvolvimento, admito que para mim é uma tarefa difícil. A tarefa foi dividida em partes, mas uma forte complicação das exigências revelada na segunda fase, bem, na verdade, desde que a assumi, decidi encerrar, mas não foi tão fácil.

Agora, sem revelar a estratégia, vou tentar delinear o fato de aumentar a complexidade dos ToR, para que nossos programadores realmente apreciem o quanto este fato complica o desenvolvimento.

A base é a construção gráfica dos níveis a partir dos quais as ordens devem ser abertas. Estes níveis não podem ser construídos imediatamente na borda do gráfico sem referência à história, temos que esperar até que a história seja construída ou simplesmente fazer o Expert Advisor se referir à própria história e chegar à borda do gráfico com alguns dados. Foi isto o que decidimos fazer.

Inicialmente, imaginamos que iríamos funcionar com castiçais e estimar 4 parâmetros (Aberto, Fechado, Alto, Baixo) e construir com base nas condições. E assim fizemos a primeira parte de uma grande TF (ToR está dividido em 3 partes, 3 TFs para cada uma das quais há diferentes construções e condições para estas construções). Quando passamos para a segunda TF e começamos a testar essencialmente a segunda parte pronta, identificamos erros e a discussão geral mostrou que uma vela na história deveria ser rastreada on-line (ou seja, como se fosse zero na borda do gráfico) e uma reconstrução feita quando a vela ainda não está fechada, o que não é realista durante a corrida através da história, porque na verdade existem 4 parâmetros Aberto, Fechado, Baixo e Alto.

A discussão geral decidiu ir mais fundo e quebrá-la para m1 a fim de rastrear a vela on-line o máximo possível (como se fosse zero na borda do gráfico). A idéia de deixar o edifício histórico como está por 4 pontos e traçar a lógica correta na borda do gráfico (quando Close[0] está flutuando) foi rejeitada. Os próprios clientes entenderam que este fato, revelado no processo de desenvolvimento, complica significativamente os ToR. Já naquela etapa eu queria abandonar o desenvolvimento, mas porque a primeira etapa já estava feita, e não está realmente em meus princípios abandonar o desenvolvimento no meio, decidi continuar. Enquanto adaptava o algoritmo existente ao fato de que eu deveria usar M1 e rastrear TFs mais altos, comecei a me sentir psicótico, pois tinha matado muito tempo para isso, durante o processo de não ter sucesso costumava ficar frustrado e escrever aos clientes que deveria aumentar os custos de desenvolvimento, mas quando me afastei do computador e fiquei um pouco frio, continuei a corrigir o problema.

Sugeri um pagamento baseado no tempo só porque não fui mais capaz de puxar o projeto para o valor negociado. Embora se ofereça para dar o código fonte para possivelmente encontrar alguém que traga à mente.

Se eu soubesse desde o início, teria usado outra abordagem para rastrear М1 dentro de um período de tempo maior.

Se eu tiver um erro de construção, eu o corrigirei. Eu mesmo não posso verificar tudo, pois há muitas condições na estratégia que não consigo nem mesmo lembrar. Eu já verifiquei todos eles, para que não entrem em conflito, esse é o principal problema. Foi feito gradualmente, e os clientes admitem que a estratégia é difícil de entender, mas em geral é agora quase toda prescrita, mas como funciona não consigo nem mesmo entender corretamente ou não))))

A última coisa em que pararam foi o caso que não foi levado em conta (mesmo de acordo com o representante do cliente) e agora temos que escrever, colar e concordar com uma dúzia de outras condições mais uma vez. Portanto, a mudança para uma tarifa horária, de minha parte, acho que é justificada.

82Dmitry82, se você quiser, podemos falar com você pessoalmente sobre o assessor, você tem meus contatos. Eu fiz outro EA para você, acho que você vai apreciar sua capacidade de resposta e apoio, mas vou pedir paciência com este, às vezes eu o adio, só porque não entendo a que lado ir, para começar a corrigir outra construção de nível errado.


No momento existem mais de 1000 linhas de código na EA e isto é apenas a construção de níveis, sem nenhuma malha agradável e até mesmo ordens, que ainda não foram alcançadas.

Pela descrição, fica claro que eu não tive TOR e a tarefa se parece com o seguinte: faça de mim esta estratégia, e ela deve funcionar desta maneira e ao mesmo tempo pensar em como implementar tudo isso, sem algoritmo.

Neste caso, é um trabalho de trabalho intensivo, como escrevi acima, o programador começa a pensar, e o custo de pensar é diferente para todos. Portanto, o preço pode ser justificado.

A divisão do trabalho foi inventada por uma razão. O cliente entende um programador como um mágico que pode transferir qualquer idéia para o código. Na verdade, as habilidades e competências de uma pessoa são sempre limitadas, e nas grandes empresas há uma divisão de trabalho entre uma pessoa que cria algoritmos, um arquiteto e um programador - cada um deles tem sua própria especialização. Foi assim que a situação se desenvolveu.

 
Petros Shatakhtsyan:

Deixe-me apoiá-lo.

Eu não tenho exatamente a mesma estratégia, mas uma estratégia semelhante. Leva em conta os níveis de suporte/cópia, tendências, inversões, recuo e muitas outras coisas, sem utilizar indicadores externos (personalizados).

Há 3 anos que venho negociando à mão com esta estratégia. Todo este tempo eu estava pensando em como implementá-lo e o programei por um ano. Acabaram sendo menos de 2000 linhas.


Todos os desenvolvedores que são capazes de negociar à mão, é mais fácil para eles quando tomam algumas barras como base para análise.

Mas um bar, mesmo que seja M1, já está no passado. É inútil construir uma estratégia sobre barras (especialmente sobre as mais altas).

Isso deve ser feito usando cada carrapato.

Em meu programa não há uma única matriz (no sentido absoluto), e eu não analiso o que havia no passado. Mas é claro que me lembro dos pontos de verificação necessários em tempo real (não em matrizes).

Em resumo: o que é feito à mão e é tão fácil e belamente desenhado em um gráfico, nem sempre pode ser programado.

Você pode programar qualquer coisa, mas primeiro você precisa desenvolver um algoritmo, e isso é uma grande parte do trabalho. Em essência, é preciso primeiro transformar o que se vê em fórmulas e lógica, e depois programá-las. E a primeira é muito freqüentemente subestimada.

 
Sergey Ermolov:

Deixe-me participar da discussão já que estamos nisso ))))

....

De fato, se eu tivesse sabido originalmente o que ....., teria construído a lógica da EA de maneira diferente.

....

Esta é uma situação familiar. Antes de começar a escrever o código, você está planejando sua estrutura e a lógica de seu trabalho, mas uma vez que o algoritmo esteja pronto e totalmente funcional, você começa a adicionar algumas outras condições e novas funcionalidades, e eventualmente fica claro que é mais fácil revisar toda a estrutura e reescrever completamente toda a lógica, do que continuar tentando encaixar algum novo conceito no antigo algoritmo. Acontece que é mais fácil repensar tudo com novas funções e condições e reescrever o algoritmo, mas isso leva muito tempo.

 

Uma boa ilustração do "resultado de um trabalho sem um projeto".

Todos não estão contentes uns com os outros, não há saída...

Razão: