Discussão do artigo "Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVII): interatividade de objetos de biblioteca" - página 3
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
As propriedades de ordem podem ser obtidas. As propriedades da posição também podem ser obtidas. A partir das propriedades das posições, você pode obter todo o seu histórico - desde a ordem de negociação até o fechamento. Cada negociação de uma posição permite que você saiba a ordem que foi usada para obter a negociação. Em geral, o histórico completo de qualquer posição pode ser facilmente obtido, e todas as ordens e negociações podem ser encontradas nele.
Excelente!
Esse é um material necessário para eu estudar. Sei que você sabe como o sistema de ordens do MT5 é organizado (infelizmente, praticamente não há pessoas com essas informações neste fórum).
Por favor, diga-me o número do artigo onde posso encontrar esse material.
Excelente!
esse é um material necessário para eu estudar, sei que você tem conhecimento de como funciona o sistema de ordens do MT5 (infelizmente, quase não há pessoas com essas informações neste fórum)
Por favor, diga-me onde posso encontrar esse material.
A primeira parte fala sobre a estrutura geral da biblioteca (ela permanece quase a mesma descrita, mas passa por refinamentos no processo de narração).
A segunda parte começa a criar uma coleção de ordens e posições. Na quarta parte, os eventos de negociação começam a ser discutidos.... E tudo isso se estende até o nono artigo, onde começa a finalização da compatibilidade com a MQL4.
O surrealismo, Peter, está apenas em sua cabeça - aqui tudo é estruturado e facilmente acessível....
Você se aprofundou demais na filosofia em sua elaboração, esquecendo-se da praticidade de construir um "esquema ideal" como esse:
"Hoje iremos um pouco mais longe e dotaremos esse objeto, e assim - e quaisquer outros objetos da biblioteca, da capacidade de definir quais propriedades serão controladas externamente para suas alterações, o tamanho da alteração controlada e o tamanho do nível controlado do valor da propriedade do objeto. "
Considere o seguinte: "...otamanho da alteração controlada e o tamanho do nível controlado do valor da propriedade do objeto." O que é "a magnitude do nível controlado do valor da propriedade do objeto"? Ou seja, 1. Há uma propriedade do objeto. 2. A propriedade tem um nível controlado de valor. 3. O nível controlado tem um número n de valores e .... 4. Há também o tamanho da alteração controlada, que pode variar. Isso não parece um exagero no número de entidades? Isso é apenas uma gota no mar de filosofia em seu artigo.
Além disso:
"Portanto, aqui é adequado controlar a alteração dos estados das propriedades do objeto: inteiro e real - sua lista para cada classe herdeira é exclusiva e representará o identificador do evento. Também precisaremos levar em conta a direção da alteração das propriedades - um aumento ou uma diminuição no valor da propriedade - vamos chamá-la de causa do evento e o valor pelo qual a propriedade do objeto foi alterada. O identificador do evento, sua causa e o valor da alteração serão registrados em uma classe simples do evento base do objeto e armazenados na lista de eventos ocorridos simultaneamente. "
Vamos listar as entidades encontradas:
1."Mudança de estados das propriedades do objeto". Ou seja, existem propriedades e existem estados de propriedades do objeto. Ostensivamente, o estado de uma propriedade significa seu valor. Mas o valor pode ser representado como um objeto cuja propriedade será seu tipo. O que você fez ao dividir os estados de propriedade (valor) em inteiro e real. Em seguida, havia uma referência a alguma lista exclusiva (não sei exatamente quando ela apareceu) de estados de propriedade inteiros e reais dos objetos dos sucessores da classe.
2."Direction of change of properties" (Direção da mudança de propriedades) Bem, isso está claro - o aumento/diminuição do valor é a direção da mudança. MAS POR QUE A DIREÇÃO DA MUDANÇA É A CAUSA DO EVENTO? Em princípio, a mudança de direção é a causa do evento, não a direção em si.
3. " Escreveremos o identificador do evento, sua causa e o valor da alteração em uma classe simples do evento base do objeto e o salvaremos na lista de eventos ocorridos simultaneamente."
Bem, isso é incrível. Há um identificador de evento. Isso é bom. Há a causa do evento e a quantidade de mudança em algo (apenas a quantidade de mudança, abstratamente), bom. MAS HÁ UMA CLASSE DE EVENTO BÁSICA SIMPLES! Repito: uma classe de evento básica simples! Abstração da abstração. O evento, como uma coisa em si, encontrou sua classe! Mas ele é apenas um evento de objeto. Portanto, pode haver eventos de propriedade, eventos de nível de valor (estados de propriedade).
E a cereja do bolo:
4."e armazenar na lista de eventos ocorridos simultaneamente". Ou seja, há também uma lista de eventos ocorridos simultaneamente. E por que não... Mas, então, deve haver uma lista de eventos com níveis de diferença de tempo controlada em relação a outros eventos. Podemos acrescentar isso, não podemos?)
Este é apenas um pequeno fragmento de um artigo maior da série. Você acha que é muito simples? )) Estudarei seus artigos como um interessante programa de experimentos de uma pessoa que deveria se tornar filósofo por vocação)).
Você se aprofundou demais na filosofia em sua elaboração, esquecendo-se da praticidade de construir esse "esquema ideal":
"Hoje iremos um pouco mais longe e dotaremos esse objeto, e assim - e quaisquer outros objetos da biblioteca, da capacidade de definir quais propriedades serão controladas externamente por suas alterações, o tamanho da alteração controlada e o tamanho do nível controlado do valor da propriedade do objeto. "
Considere o seguinte: "...otamanho da alteração controlada e o tamanho do nível controlado do valor da propriedade do objeto." O que é "a magnitude do nível controlado do valor da propriedade do objeto"? Quero dizer, 1. Há uma propriedade do objeto. 2. A propriedade tem um nível de valor controlado. 3. O nível controlado tem um número n de valores e .... 4. Há também o tamanho da alteração controlada, que pode variar. Isso não parece um exagero no número de entidades? Isso é apenas uma gota no mar de filosofia em seu artigo.
Além disso:
"É por isso que é adequado controlar a alteração dos estados das propriedades do objeto: inteiro e real - sua lista para cada classe herdeira é exclusiva e representará o identificador do evento. Também precisaremos levar em conta a direção da alteração das propriedades - um aumento ou uma diminuição no valor da propriedade - vamos chamá-la de causa do evento e o valor pelo qual a propriedade do objeto foi alterada. O identificador do evento, sua causa e o valor da alteração serão registrados em uma classe simples do evento base do objeto e armazenados na lista de eventos ocorridos simultaneamente. "
Vamos listar as entidades encontradas:
1."Mudança de estados de propriedades de umobjeto". Ou seja, existem propriedades e existem estados de propriedades do objeto. Aparentemente, o estado de uma propriedade significa seu valor. Mas o valor pode ser representado como um objeto cuja propriedade será seu tipo. O que você fez ao dividir os estados da propriedade (valor) em inteiro e real. Em seguida, havia uma referência a alguma lista exclusiva (não sei exatamente quando ela apareceu) de estados inteiros e reais de propriedades de objetos de sucessores de classe.
2."Direction of change of properties" (Direção da mudança de propriedades) Bem, isso está claro - o aumento/diminuição do valor é a direção da mudança. MAS POR QUE A DIREÇÃO DA MUDANÇA É A CAUSA DO EVENTO? Em princípio, a mudança de direção é a causa do evento, não a direção em si.
3. "O identificador do evento, sua causa e o valor da alteração serão registrados em uma classe simples do evento base do objeto e armazenados na lista de eventos ocorridos simultaneamente."
Bem, isso é incrível. Há um identificador de evento. Ótimo. Há a causa do evento e a quantidade de alteração em algo (apenas a quantidade de alteração, abstratamente), bom. MAS HÁ UMA CLASSE DE EVENTO BÁSICA SIMPLES! Repito: uma classe de evento básica simples! Abstração da abstração. O evento, como uma coisa em si, encontrou sua classe! Mas ele é apenas um evento de objeto. Portanto, pode haver eventos de propriedades, níveis de valor (estados de propriedade).
E a cereja do bolo:
4."e armazenar na lista de eventos ocorridos simultaneamente". Portanto, há também uma lista de eventos ocorridos simultaneamente. E por que não... Mas, então, deve haver uma lista de eventos com níveis de diferença de tempo controlada em relação a outros eventos. Você pode adicioná-la, certo?)
Este é apenas um pequeno fragmento de um artigo maior da série. Você acha que é muito simples? )) Estudarei seus artigos como um interessante programa experimental de uma pessoa que deveria ter se tornado filósofo por vocação)).
Como tudo é complicado em sua cabeça :D
Você inventou a complexidade para si mesmo.
Talvez eu seja muito ruim em explicar as coisas, mas....
Nós temos um preço. O preço é uma propriedade de um símbolo. O preço tem a capacidade de mudar. Tanto na direção de seu aumento quanto na direção de sua diminuição. O tamanho (o valor pelo qual o preço aumentou ou diminuiu, temos o direito de controlar e definir - esse é "o tamanho da alteração controlada"). E também o preço pode ultrapassar o valor definido (controlado por nós no programa), que também podemos definir - esse é "o tamanho do nível controlado do valor da propriedade do objeto".
Está claro?
Temos um spread. O spread é uma propriedade de um símbolo. O spread tem a possibilidade de mudar. Seja para aumentar ou para diminuir. Tamanho (o valor pelo qual o spread aumentou ou diminuiu nós temos o direito de controlar e definir - esse é "o tamanho da alteração controlada"). E também o spread pode ultrapassar o valor definido (controlado por nós no programa), que também podemos definir - esse é "o tamanho do nível controlado do valor da propriedade do objeto".
Está claro?
Essas são apenas duas propriedades diferentes de um mesmo objeto - um símbolo. Que seja o atual. Embora possam ser propriedades de símbolos diferentes, os objetos são diferentes, mas as propriedades do mesmo tipo de objetos são as mesmas. E o controle sobre as mesmas propriedades do mesmo tipo de objetos é o mesmo. Com certeza. Porque ele é executado em um objeto básico, do qual todos os objetos herdam - é a base deles. E é o mesmo para todos os objetos - não o mesmo para todos, mas o mesmo.
Portanto, as diferentes propriedades de um mesmo objeto podem ser controladas de diferentes maneiras: você pode criar métodos de controle para cada uma das propriedades, escrever um controle para cada propriedade e se apoiar nele. Ou você pode escrever um método para controlar absolutamente todas as propriedades de qualquer objeto e não escrever toneladas de código para cada propriedade, mas escrever apenas um método para todas elas de uma só vez.
E depois que o objeto tiver registrado seus eventos na lista de seus próprios eventos (esses eventos são chamados de eventos básicos - absolutamente todos os objetos os têm), o programa envia eventos - eventos completos, que o usuário já pode processar e tomar uma decisão, então, para saber no programa de qual objeto o evento veio e que tipo de evento é, precisamos descrevê-lo. E descrevê-lo sem ambiguidade. E descrevê-lo sem ambiguidade. Há três parâmetros para essa finalidade:
Resumindo: sabemos com certeza que (1) foi o símbolo que nos enviou o evento, (2) - a propriedade tornou-se menor que o nível controlado e (3) - essa propriedade é o preço do lance.
Complicado? Não invente - é simples.
E então, bam:
Temos uma permissão de negociação. A permissão de negociação é uma propriedade de uma conta. A permissão de negociação pode ser alterada. E por vários valores. Tamanho (o valor para o qual a permissão de negociação foi alterada, temos o direito de controlar e definir - esse é "o tamanho da alteração controlada"). E também a permissão de negociação pode ultrapassar o valor definido (controlado por nós no programa), que também podemos definir - esse é "o tamanho do nível controlado do valor da propriedade do objeto", por exemplo - há uma proibição de abrir posições de compra.
E, afinal, esse objeto, completamente diferente, enviará ao programa os mesmos códigos que foram enviados pelo símbolo a partir do qual o evento foi criado. E tudo isso será feito pelo mesmo método de um objeto-fundação de todos os objetos.
Está claro?
E, em geral, tudo está descrito nos artigos. Mas parece que você está apenas trollando? :) Para fazer essas perguntas, você deve ler o artigo com a atitude "como tudo está funcionando aqui", e não se aprofundar na simples organização dos dados.
...Complicado? Não invente - é simples....
Um erro clássico dos autores de artigos é pensar que, se o material é claro para eles, é claro para todos.) Mas não é assim.
Sua explicação agora coloca muitas coisas no lugar, e se você a tivesse colocado no artigo (digamos, no início), ficaria mais claro. E não estou brincando com você. Apenas quando o fluxo de abstração (embora justificado e necessário) não é misturado com especificidades e quando elas não se referem e não se explicam mutuamente (a abstração começa a prevalecer), surgem opiniões como as que expressei acima.
S.F. Em geral, pelo que entendi, você está tentando generalizar e reunir nessa biblioteca tudo o que existe em algo-trading.
Um erro clássico dos autores de artigos é achar que se o material está claro para eles, está claro para todos.) Mas esse não é o caso.
Sua explicação agora coloca muitas coisas no lugar, e se você a tivesse colocado no artigo (digamos, no início), teria ficado mais claro. E não estou brincando com você. É que quando o fluxo de abstração (embora justificado e necessário) não é misturado com especificidades, e quando eles não se referem e não se explicam mutuamente (a abstração começa a dominar), surgem opiniões como as que expressei acima.
S.F. Em geral, pelo que entendi, nessa biblioteca você está tentando generalizar e reunir tudo o que existe no algo-trading.
Tudo o que quero fazer é oferecer às pessoas uma ferramenta para facilitar a criação de programas de qualquer complexidade de algoritmo.
A biblioteca simplesmente cuida de toda a rotina que o usuário sempre tem de escrever sozinho.
O usuário terá apenas que "fazer uma pergunta - obter uma resposta - processá-la"
E a própria biblioteca lembrará os eventos. Ou seja, em princípio, será suficiente apenas ver que tipo de evento e de que objeto veio e, em seguida, de acordo com a lógica concebida, processá-lo.
O usuário pode perguntar como a última posição foi fechada - ele obterá uma resposta - e então, de acordo com sua lógica....
Ou ele pode solicitar a última posição fechada e, em seguida, analisá-la por seus componentes - a biblioteca permite obter todos os dados sobre qualquer posição que o usuário tenha obtido dos dados da biblioteca.
Ou você pode fazer isso da seguinte maneira: o programa recebe um evento informando que tal posição foi aberta/fechada em tal símbolo, ou que tal ordem foi definida/excluída. Se o programa tiver que rastrear a interferência de outra pessoa na negociação, essa mensagem informará sobre isso - o programa não enviou nenhuma solicitação, mas o ambiente mudou - e ela deve ser processada.
Em princípio, você pode pensar e implementar muitas coisas - tento fornecer todas as ferramentas possíveis para isso. As automáticas - tudo já está lá, e você não precisa inventá-las - basta prepará-las e fornecê-las com cuidado ;).
Um erro clássico dos autores de artigos é pensar que, se o material está claro para eles, está claro para todos.) Mas não é.
...E o erro clássico de alguns leitores é que eles não lêem, mas fazem perguntas imediatamente :)
Se você começar a ler desde o primeiro artigo, não haverá perguntas, porque toda a "filosofia" está lá e está explicada.
Artem, obrigado!
Não pare, não pare, continue escrevendo - o resultado é ótimo.
Li com interesse sua discussão com Peter. Muito correto e direto ao ponto.
Escrevi uma carta para a AMD, - não estou envolvido no projeto e na fabricação de processadores, mas, pessoal, vocês fizeram um absurdo com o processo de 8 nm....
Estou aguardando uma resposta
Você se aprofundou demais na filosofia em sua elaboração, esquecendo-se da praticidade de construir esse "esquema ideal".
A filosofia aqui é a seguinte: indução (do particular para o geral) ou dedução (do geral para o particular).
Artyom usa o método indutivo de apresentação.
Chefe: Bem, Gleb Georgievich, há uma bala. Seu julgamento...
Zheglov: Bem, o que você diz, "inteligência"?
Sharapov: Bem, a bala é igual a uma bala de pistola comum....
Zheglov: Sim, seria bom encontrar um invólucro.
Chefe: É melhor dar uma olhada na própria arma.
Zheglov: Isso. Bem, isso significa o seguinte: uma bala disparada de uma arma importada de calibre 6,35 do sistema Bayard ou, digamos, Omega.
Chefe: O que isso significa?
Zheglov: A bala, Sergei Ipatich, a bala. Seis cortes verticais à esquerda, é isso - a caligrafia é bastante "independente".
Chefe: O que você acha disso? A julgar pelas marcas, a caixa do cartucho é nossa, doméstica.
Zheglov: Sim. Onde foi encontrado?
Chefe: Onde deveria estar. À esquerda do corpo. O refletor funcionou corretamente.
Zheglov: Sim, o cartucho é nosso. Hmm. Bem, vamos colocar isso no enigma. Ainda temos que procurar a arma. Nadezhda, você sabe se havia alguma arma na casa?
Nadezhda: Não sei.
[Weiners. The Age of Mercy]
Artem, obrigado!
Não pare, não pare, continue escrevendo - você está indo muito bem.
Li com interesse sua discussão com Peter. Muito correto e direto ao ponto.
Escrevi uma carta para a AMD, - não estou envolvido no projeto e na fabricação de processadores, mas, pessoal, vocês falaram bobagem sobre o processo de 8 nm....
Estou aguardando uma resposta
Olá, Alexei.
Por que parar no início da jornada? Todas as paradas para pensar já foram feitas - agora é só seguir em frente com os solavancos ;)
Bem, como a AMD respondeu a você?