Minha abordagem. O núcleo é o motor. - página 165

 
Dmitry Fedoseev:

Acho que sim. Mas se uma GUI, esse é outro arquivo, e isso não é possível no mercado.

Talvez sim. Eu não sei. Mas eu acho que esta questão é resolúvel, se Pyotr tem algo de valor.
Você precisará enviar um arquivo para o mercado, você não precisa enviar o motor, e ele funcionará sem o motor.
Peter, ou eu estou entendendo algo errado?
 
Nikolai Semko:
Talvez . Eu não sei. Mas eu acho que esta questão é resolúvel se Peter tiver algo de valor.
Você precisará enviar um único arquivo para o mercado, você não precisa enviar o motor, e ele funcionará sem o motor.
Pyotr, ou eu estou entendendo algo errado?

Você acertou, Nikolay. O Expert Advisor trabalha sem o motor. O motor cria a GUI do EA assim que o EA é colocado em um gráfico separado e recebe comandos a partir dele. O motor pode alternar entre diferentes EAs. Ao trocar, ele simplesmente recarrega outro kernel de um arquivo de texto. Pode ser deixado no lugar, mas alocar um gráfico separado e mantê-lo sempre lá.

 
Há uma idéia para evitar que o usuário tenha que carregar o arquivo do kernel em qualquer lugar para que o motor faça o download. Ao produzir uma GUI, o construtor produz um arquivo de kernel. Em vez de salvar em um arquivo, o construtor pode salvar o kernel em um recurso e escrever uma seqüência de conexão para esse recurso no arquivo de Propriedades Convencionais. Quando o usuário conectar o arquivo Connexion Properties criado, este recurso com o kernel será integrado ao inicializar sua EA. Então, ao conectar-se ao motor, este último simplesmente lerá o recurso com o kernel do EA e reproduzirá a GUI. Assim, não haverá necessidade de carregar os arquivos com o núcleo.
 
Maxim Kuznetsov:

Sob as regras atuais, você não pode distribuir produtos com dependências adicionais através de um mercado. Além disso, suspeito que isto seja legalmente proibido ou bastante difícil.

Bibliotecas externas de ex* não podem ser utilizadas, inclusive aquelas que não contêm chamadas para a dll. Entretanto, indicadores, como o motor de Peter, não estão sujeitos a esta restrição.

 
Vasiliy Sokolov:

Bibliotecas externas de ex* não podem ser utilizadas, inclusive aquelas que não contêm chamadas para a dll. Entretanto, esta limitação não se aplica aos indicadores, tais como o motor de Peter.

Eu estava especificamente interessado nesta pergunta, perguntando ao mercado de serviços de balcão de atendimento. A resposta foi bastante clara, embora não muito feliz :-) o produto do mercado deve ser uma coisa em si mesmo e não exigir a instalação de nenhum outro componente. Todos os indicadores e bibliotecas necessários devem ser abarrotados por meio de Recursos.

O que é lógico - uma pessoa comprou um produto e o produto (e todas as suas reivindicações) deve estar imediatamente disponível sem trabalho extra.
E não houve situação quando alguma dependência foi atualizada, mas o Expert Advisor caiu :-)

 

E em geral, o comércio é:

minha renda - "núcleo - motor"

;)
 
Реter Konow:
Há uma idéia para evitar que o usuário tenha que carregar o arquivo do kernel em qualquer lugar para que o motor possa carregá-lo. Ao produzir uma GUI, o construtor produz um arquivo de kernel. Em vez de salvar em um arquivo, o construtor pode salvar o kernel em um recurso e escrever uma string para conectar este recurso no arquivo de propriedades do kernel. Quando o usuário conectar o arquivo Connexion Properties criado, este recurso com o kernel será integrado ao inicializar sua EA. Então, ao conectar-se ao motor, este último simplesmente lerá o recurso com o kernel do EA e reproduzirá a GUI. Assim, não haverá necessidade de arrastar os arquivos de kernel.
Oh cara, eu pensei que era assim que era implementado. Claro, qual é o objetivo de carregar arquivos de configuração com você?
E imagine, Peter, você também pode enfiar o motor em um arquivo ex* comum como uma classe.
E sem sete*s de seis asas :))
 
Nikolai Semko:
Meu Deus, pensei que fosse implementado no seu caminho. É claro, para que serve carregar seus arquivos de configuração.
E imagine, Peter, você também pode enfiar o motor em um arquivo ex* comum como uma classe.
E sem sete*s de seis asas :))

Você pode descrevê-lo com mais detalhes? Como, o que e por que.

 
Nikolai Semko:
...
E imagine, Peter, você também poderia enfiar o motor em um arquivo ex* comum como uma classe.
...

Nikolai, se você está sugerindo abrir o código do motor para que todos o coloquem no EA, então eu pensei sobre isso. Infelizmente, isso colocaria um limite para o desenvolvimento do motor. Tudo aconteceria em uma única linha de aplicação, o que limitaria os recursos utilizados e a maior parte dos benefícios que podem ser alcançados pela paralelização do cálculo seria perdida. Além disso, os usuários começarão a fazer mudanças no motor e a distribuir versões modificadas, o que criará o caos e novos problemas de desenvolvimento.

Portanto, a idéia é boa em teoria, mas na prática, infelizmente...(.

 
Реter Konow:

Nikolai, se você está sugerindo abrir o código do motor para que todos o coloquem no EA, então eu pensei sobre isso. Infelizmente, isto colocaria um limite para o desenvolvimento do motor. Tudo aconteceria em uma única linha de aplicação, o que limitaria os recursos utilizados e a maior parte dos benefícios que podem ser alcançados pela paralelização do cálculo seria perdida. Além disso, os usuários começarão a fazer mudanças no motor e a distribuir versões modificadas, o que criará o caos e novos problemas de desenvolvimento.

Portanto, a idéia é boa em teoria, mas na prática, infelizmente...(.

Peter, onde está a prova?
Onde está o relatório de pesquisa comparando a velocidade de execução de um programa em um fio ex5 (não adianta nem experimentar o ex4) e em dois fios?
Foi apenas uma suposição hipotética, que, a propósito, foi afirmada pela primeira vez por mim (aqui) quando não consegui obter de você pelo menos uma formulação de vantagens de sua abordagem.
Você já está triunfando sobre esta hipótese como um fato.
Pessoalmente admito que pode haver uma vantagem, mas puramente por intuição (não por conhecimento) aposto 75% que não dará nenhuma vantagem, já que a interação e a troca de dados entre os dois programas não é livre, e o processador é um para ambos ex5. Mas a resposta a esta pergunta só pode ser dada pelos próprios desenvolvedores ou por uma experiência qualitativa.