Como você vê o Metatrader X em 2030? - página 2

 
Igor Makanu:
...

Haverá uma maneira de trocar dados entre as avaliações que funcionam em diferentes gráficos

Eu já implementei isto e funciona. Qualquer pessoa que entenda o que significa herança múltipla deve ser capaz de fazer isso. Caso contrário, é uma vergonha o que ele sabe.

 
Igor Makanu:

Qualquer função padrão que enviará uma matriz de bytes para variáveis globais do terminal (embora de preferência uma matriz int, portanto há menos perguntas sobre como converter) e, conseqüentemente, a função reversa que permitirá que essa matriz seja lida em outro Expert Advisor

Variáveis Globais não é suficiente para trocar dados - há um campo grande para o nome da variável e um campo pequeno para os dados, na forma de um duplo, o o oposto é necessário ;)

SZZ: há muitos exemplos na rede para a análise de gráficos de decisão, principalmente devido às interfaces alcançarem uma estrutura de código flexível, as interfaces estão em todos os lugares, em MQL no (

Concordo plenamente. As variáveis globais do terminal são coxo. Mas é preciso salvar as instâncias de classe, não as arrays, como na WCF. Fiquei realmente chocado com esta característica na minha época. Em vez de pastar bytes pela rede, eu poderia simplesmente enviar a instância de classe, e tudo era feito por .NET, e rapidamente, se eu o enviasse em binário.

Hmm, enquanto pressionava o teclado, tive a idéia de fazer uma libu como esta...

---

Sobre os gráficos de decisão e interfaces que simplesmente não encontrei, o mundo da programação é imenso ))

 
Реter Konow:

Eu já a implementei e ela funciona. Qualquer pessoa que entenda o que significa herança múltipla deve ser capaz de fazer isso. Caso contrário, seu conhecimento é inútil.

E sem a pompa e a circunstância barata?

 
Реter Konow:

Eu já a implementei e ela funciona.

и?

A KB tem soluções prontas há muito tempo, você também acrescentou sua própria solução? ou apenas... de passagem?

 
Igor Makanu:

и?

a KB tem soluções prontas há muito tempo, você também acrescentou sua própria solução? ou apenas...de passagem?

a julgar pela menção de herança múltipla, vazia.

 
Alexey Volchanskiy:

como na WCF, instâncias de classe

não se pode ter uma solução complicada, não haverá uso em massa, qualquer um pode ler e escrever uma matriz, se algo mais complicado for necessário, não haverá demanda por isso. Como escrevi acima, KB tem soluções decentes para troca de dados, mas imho, GlobalArrayWrite(string name, int out[]) e GlobalArrayRead(string name , int &in[]) - é isso, não haverá mais necessidade de usuário

 
Alexey Volchanskiy:

E sem a pompa e a circunstância?

Recursos. Declare uma união com matrizes de vários tipos em ambos os programas (ou indicadores, ou EA e indicador), que você deseja colocar em diferentes gráficos. Em cada programa você escreve o endereço do lado oposto em uma variável de string (pasta, subpasta, nome do programa). Você usa duas funções para se comunicar - a primeira função é ler a mensagem, a segunda é escrever a mensagem. As funções são chamadas em ambos os programas na freqüência do temporizador.

A funcionalidade de cada programa deve escrever todos os dados a serem transferidos para uma variável de string. Então, afunção de passagem da mensagemserá chamada no final da função de temporizador, o que salvará a cadeia coletada no recurso. Outro programa em outro gráfico, no próximo período de tempo, chamará a função de leitura do recurso localizado no endereço do outro programa e desembalará a mensagem. Pode então compor sua mensagem ao primeiro programa da mesma maneira e transmiti-la, simplesmente escrevendo os dados necessários ao seu recurso.

 
Alexey Volchanskiy:

Eu estava me perguntando, eu tenho negociado forex por cerca de 13 anos, eu comecei com a MT4 em 2006. Só entrei neste tópico porque minha namorada na época me pediu ajuda para entender o terminal, e eu descobri com prazer alguma linguagem tipo C, MQL4, e fiquei viciado. É engraçado lembrar que eu estava trabalhando em inglês no terminal e estava certo de que era um desenvolvimento ocidental. Quando descobri que os caras de Kazan conseguiram, obtive uma dissonância cognitiva))).

Assim, 13 anos se passaram, posso marcar várias etapas no desenvolvimento dos terminais MT*.

1. O início do desenvolvimento do MT5, acho que foi em 2009. O desenvolvimento do MT5 foi iniciado, acho que foi em 2009. Naquela época eu costumava visitar o fórum alp, ainda me lembro como Renat o visitava com sua propaganda, e eu costumava argumentar que o esquema de netting está morto comercialmente no forex.

2. Um marco muito importante para mim, no início de 2013, o lançamento da nova construção MT4 > 600. Cara, eu estava emocionado, havia estruturas, até mesmo classes, novas definições normais como em C++. Finalmente, todos os bugs foram corrigidos, o editor não vai quebrar quando a colagem de cópias e outros bugs também foram corrigidos. Desde antes eu costumava escrever todas as minhas estratégias em C# através de uma ponte para C++, e agora comecei a portar meu código para MQL4, uma vez que se tornou possível trabalhar normalmente em vez de embaralhar.

3. Não me lembro do ano aqui, talvez seja 2016? Por favor, corrija. Minha idéia era usar a versão hedge do MT5, por isso decidi mudar para o MT5.

4. Também não consegue se lembrar do ano, por volta de 2018? Compilador único e possibilidade de escrever um projeto multiplataforma em MT5. É assim que venho escrevendo por mim mesmo desde então. Quando ofereço esta oportunidade a meus clientes, 90% deles a aceitam de uma só vez, absolutamente todos eles nem sabem disso. Para multiplataforma eu recomendo o MT4Orders libu do fxsaber, você pode encontrá-lo no kodobase.

5. Isto é um hodgepodge de coisas, uma vez que o MT5 está em constante evolução, isto é muito agradável.

Esbocei aproximadamente o desenvolvimento da plataforma ao longo de 13 anos, mas o que acontecerá daqui a mais 10 anos? Talvez, algumas fantasias se reflitam em desenvolvimentos futuros ))

Isso é outra coisa... Uma vez tive 10 namoradas implorando de joelhos para que eu descobrisse o terminal. Respondi-lhes: vergonha, não sou um homem livre, já tenho 50 namoradas sob minha tutela, tenho apenas um apartamento de três quartos em São Petersburgo, e não tenho tempo suficiente - tenho que mijar dia e noite nos Chechenos...

E a MT é e será.

 
Igor Makanu:

и?

A KB tem soluções prontas há muito tempo, você também acrescentou sua própria solução? ou apenas... de passagem?

Então por que você está esperando por isso nos anos 30? Se já estiver lá...
 
Igor Makanu:

Não se pode ter uma solução complexa, não haverá massas, qualquer um pode ler e escrever a matriz, se algo mais complicado não for necessário. Como escrevi acima, há boas soluções para o intercâmbio de dados em KB, mas imho, GlobalArrayWrite(string name, int out[]) e GlobalArrayRead(string name , int &in[]) - isso é tudo, o usuário não precisa

Veja, mesmo as operações de arquivo estão disponíveis há muito tempo

uintFileWriteStruct(
intfile_handle,// manípulo do arquivo
const void&structure_object,// referência do objeto
intsize=-1// tamanho para escrever em bytes
);


É muito mais conveniente ler-escrever estruturas ou objetos de classe do que analisar um fluxo de tipos simples. Talvez eu tenha ficado preguiçoso com a idade? Sim, eu prefiro fazer mais coisas batendo menos no teclado ))