Mt4 Fim do apoio. - página 21

 
Andrei:

... Uma única interface é totalmente inaplicável à programação de qualquer tarefa computacional...

É diferente quando se tem 1000 tarefas similares que podem ser combinadas sob uma bandeira e criar manipuladores universais para cada função para qualquer uma destas muitas tarefas.

Sinceramente.

 
Реter Konow:

Peço desculpas pelo pequeno atraso.

Aqui está a primeira versão da função. Você pode refiná-lo e desenvolvê-lo ainda mais. Se alguém notar um erro, por favor, comente.

Ohhhh... É claro que eu não entrei nele - é muito difícil para mim ler tal código. Vamos supor que, hipoteticamente, ele devolve o que deveria.

E como você sabe o fato da nova barra em EURUSD e USDCAD - para cada um deles em três prazos - M5, H1 e D1?

 
Andrey Kisselyov:

é diferente quando você tem 1.000 tarefas estruturadas de forma semelhante

Não creio que haja sequer duas tarefas similares. :) Você pode chamar uma função 1000 vezes, mas é uma tarefa, não 1000.

 
Artyom Trishkin:

Ohhhh... Não me envolvi nisso, claro - é muito difícil para mim ler esse tipo de código. Vamos supor que, hipoteticamente, ele devolve o que deveria.

E como você sabe o fato da nova barra em EURUSD e USDCAD - em cada uma delas em três períodos de tempo - M5, H1 e D1?

Se as citações vêm de um servidor, não importa que instrumento. Afinal de contas, as barras são abertas para cada símbolo ao mesmo tempo.

É uma outra questão, se as fontes de citações estão localizadas em diferentes partes do mundo. Por minutos não importa, mas pode haver um problema com prazos mais altos. Talvez as funções de tempo precisem ser estudadas com mais detalhes e a correção de tempo precisa ser feita. Mas essa é a próxima etapa no desenvolvimento dessa solução...

Você tem que fazer uma calibração para esta função...

 
Реter Konow:

Se as citações vierem do mesmo servidor, não faz diferença qual instrumento. Afinal de contas, as barras são abertas simultaneamente em cada instrumento.

É diferente se as fontes de cotações estiverem em diferentes partes do mundo. Por minutos não importa, mas pode haver um problema com prazos mais altos. Talvez as funções de tempo precisem ser estudadas com mais detalhes e a correção de tempo precisa ser feita. Mas essa é a próxima etapa no desenvolvimento dessa solução...

Você precisa fazer uma calibração para esta função...


há uma diferença ....

 
Andrei:

Não creio que haja sequer duas tarefas similares. :) A função pode ser chamada 1000 vezes, mas é uma tarefa, não 1000.

Não estamos falando de chamar uma função na EA, mas de escrever interfaces universais (handlers).

Você tem 1000 tarefas para escrever um robô. Cada uma delas consiste essencialmente de
1 função de obter um sinal para abrir
2. função da abertura do pedido
3 função de rastreamento de pedidos
4 Receber um sinal para fechar um pedido
e assim por diante.
Estas funções são diferentes para cada robô, mas dentro de 1000 projetos elas se repetem. Como conseqüência, é possível combinar as funções em módulos versáteis e, dependendo da tarefa, chamar a tarefa certa.

Com os melhores cumprimentos.
 
Vladimir Pastushak:

há uma diferença ....

Explicar.
 
Реter Konow:

Se as citações vierem do mesmo servidor, não faz diferença qual instrumento. Afinal de contas, as barras são abertas simultaneamente em cada instrumento.

É diferente se as fontes de cotações estiverem em diferentes partes do mundo. Por minutos não importa, mas pode haver um problema com prazos mais altos. Talvez as funções de tempo precisem ser estudadas com mais detalhes e a correção de tempo precisa ser feita. Mas esta é a próxima etapa no desenvolvimento desta solução...

Você precisa fazer uma calibração para esta função...

Uma nova barra é formada quando chega o primeiro tique na barra, o instrumento desempenha um papel.


com respeito.

 
Реter Konow:

Se as citações vierem do mesmo servidor, não faz diferença qual instrumento. Afinal de contas, as barras são abertas simultaneamente em cada instrumento.

É diferente se as fontes de cotações estiverem em diferentes partes do mundo. Por minutos não importa, mas pode haver um problema com prazos mais altos. Talvez as funções de tempo precisem ser estudadas com mais detalhes e a correção de tempo precisa ser feita. Mas esta é a próxima etapa no desenvolvimento desta solução...

Você precisa fazer uma calibração para esta função...

O que é necessário é o fato de abrir uma nova barra em qualquer um dos símbolos sugeridos em três períodos de tempo.

Se não houver citação para nenhum dos símbolos, não veremos a abertura de um novo bar. E a nova barra só aparecerá com a chegada de um novo tique. Se houver uma nova barra em EURUSD, mas o USDCAD ainda não recebeu uma nova cotação correspondente à nova barra, a nova barra não será construída. Mas precisamos saber o fato exato da abertura do novo bar sem nenhuma reserva de tempo. Você precisa saber o fato do início do novo bar:

se houver um novo bar no M5 no EURUSD, então...
se houver um novo bar no H1 no EURUSD, então...
se houver um novo bar em D1 no EURUSD, então...
--------
se houver um novo bar no M5 no USDCAD.
se houver um novo bar no H1 no USDCAD, então ...
se houver uma nova barra em D1 no USDCAD, então ...

 
...e Tempo[0] deve ser substituído pelo iTime(_Symbol,PERÍODO_M1,0)
porque os minutos não contarão