Discussão do artigo "Interfaces Gráficas X: Gestão avançada de listas e tabelas. Otimização do código (build 7)" - página 11
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
Ainda não entendi como atualizar a tabela....
Há dados dinâmicos na tabela e precisamos atualizá-los por meio de um cronômetro.
Tentei limpá-los primeiro usando o método Clear(), mas apareceu um erro:
How to update it? Não encontrei um exemplo em nenhum dos artigos. Em todos os artigos, a tabela é preenchida com dados estáticos.
Como atualizar a tabela que não entendi....
Há dados dinâmicos na tabela, precisamos atualizá-los por meio de um cronômetro.
Tento limpá-los primeiro usando o método Clear(), mas aparece um erro:
Como atualizá-lo? Não encontrei um exemplo em nenhum dos artigos. Em todos os artigos, a tabela é preenchida com dados estáticos.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.
Discussão do artigo "GUI X: classificação, reconstrução de tabela e controles em células (build 11)".
Anatoli Kazharski, 2018.05.19 09:03 AM
Veja aqui: Interfaces gráficas X: Atualizações para a tabela desenhada e otimização de código (build 10)
Obrigado. Só que ele não leva em conta a classificação.
Ao classificar, as linhas podem mudar sua posição....
Obrigado. Só que isso não leva em conta a classificação.
Ao classificar, as linhas podem mudar de posição...
Você mesmo pode controlar a classificação. Há um método público CTable::SortData() para essa finalidade.
Exemplo e a versão mais recente da classe CTable aqui: Atualizações da biblioteca EasyAndFast
Você mesmo pode controlar a classificação. Há um método público CTable::SortData() para essa finalidade.
Exemplo e a versão mais recente da classe CTable aqui: Atualizações da biblioteca EasyAndFast
Ainda não está claro. Não existe um método para determinar quantas linhas da tabela não estão vazias. Estou enviando informações sobre ordens abertas para a tabela. As ordens podem aparecer ou fechar. Preciso examinar todos os valores da tabela e compará-los por ticket.... É inconveniente, mas é possível.
Além disso, você poderia me ajudar com a classificação. Preciso criar uma linha na tabela análoga à que está na guia Comércio. Uma linha que resuma o lucro em posições abertas, comissões, etc. Ou seja, as colunas dessa linha serão as mesmas da tabela, mas com valores totais. Então, como posso colocar essa linha em primeiro lugar na lista para que a classificação não seja aplicada a ela?
Ainda não está claro. Não há nenhum método para determinar quantas linhas da tabela não estão vazias. Estou enviando informações sobre ordens abertas para a tabela. As ordens podem aparecer ou fechar. Preciso examinar todos os valores da tabela e compará-los por ticket.... Não é conveniente, mas é possível.
...
Examine você mesmo as linhas e veja se elas estão vazias ou não.
O artigo Trading Expert Advisor with GUI: Filling with functionality (Parte II) mostra em detalhes como isso pode ser implementado.
Mais informações:
...
Além disso, você pode me falar sobre classificação. Preciso criar uma linha na tabela análoga à que está na guia Comércio. Uma linha que resuma o lucro em posições abertas, comissões etc. Ou seja, as colunas dessa linha serão as mesmas da tabela, mas com valores totais. Então, como posso colocar essa linha em primeiro lugar na lista e não aplicar a classificação a ela?
Não existe essa possibilidade na biblioteca. Como opção, você pode criar uma segunda tabela sem cabeçalhos com uma linha acima da primeira tabela e gerar valores totais nela.
Percorra você mesmo as filas e veja se elas estão vazias ou não.
O artigo Trading Expert Advisor with GUI: Filling with functionality (Parte II) mostra em detalhes como isso pode ser implementado.
A biblioteca não tem esse recurso. Como opção, você pode criar uma segunda tabela sem cabeçalhos com uma linha acima da primeira tabela e gerar valores totais nela.
No exemplo do artigo, novamente, o número de linhas é constante, mas o meu é dinâmico. Mas percebi que tenho que fazer isso manualmente.
A segunda tabela acima não é uma solução ruim, mas como lidar com a alteração da largura das colunas na tabela principal...? Como sincronizar com a segunda?
Outra pergunta. Se eu tiver a primeira coluna, ela simplesmente indica o número de série do registro. Ela não está sujeita a classificação. Existe alguma maneira de tornar uma determinada coluna não classificada?
No exemplo do artigo, novamente, o número de linhas é constante, mas o meu é dinâmico. Mas eu entendo, é feito à mão, então o que há de errado com isso.
Onde você viu um número constante de linhas? O número de posições e o número de caracteres usados mudam e essas mudanças são refletidas nas tabelas.
Juer:
A segunda tabela acima não é uma solução ruim, mas e quanto a alterar a largura das colunas na tabela principal...? Como sincronizar com a segunda tabela?
Outra pergunta. Se eu tiver a primeira coluna, ela simplesmente indica o número de série do registro. Ela não está sujeita a classificação. Existe alguma maneira de tornar uma determinada coluna não classificada?
Não, não há.
Onde você viu um número constante de linhas? O número de posições e o número de caracteres usados mudam e essas mudanças são refletidas nas tabelas.
Sinceramente, não entendo muito bem como você atualiza as posições ali. Vejo que, para atualizar a tabela de caracteres, basta excluir todas as linhas. Mas ainda não entendo como a tabela de posições é atualizada:
Não estou entendendo uma coisa. Se houver menos símbolos do que linhas na tabela, você simplesmente não a atualiza?
Preciso atualizar os valores de fato a cada tick. Seria correto excluir todas as linhas e preencher a tabela novamente a cada vez?
Juer:
Preciso atualizar os valores de fato em cada marcação. Seria correto excluir todas as linhas e preencher a tabela novamente a cada vez?
Se você só precisa atualizar os valores, não é necessário excluir nada.
Se você precisar alterar o número de linhas na tabela, uma maneira de fazer isso é mostrada.
A segunda maneira é usar o método CTable::Rebuilding(). Mas, nesse caso, você terá de definir algumas propriedades da tabela (cabeçalhos, largura das colunas etc.) novamente.