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
Essa biblioteca causa ERRO e eu confirmei isso
meu código
Alguma ideia de como corrigi-lo?
Isso só acontece quando eu desarquivo qualquer string
Se o valor da cadeia de caracteres contiver o caractere ';', a desserialização falhará!
Tudo funciona. Encontrei o problema do meu lado.
Obrigado. Estou enviando WebRequests POST (http) do MT5 (MQL5) para a API do Chat GPT-4-o-mini (openai.com). O OpenAI recebe dados JSON. O MQL não oferece suporte a JSON. Portanto, tive que converter a string em string e, em seguida, convertê-la em uma matriz Char[], para inserir como postData no WebRequest. Estou usando a sua biblioteca, vou informá-lo sobre o resultado
Isso é fantástico
Eu estava pensando o mesmo para alimentar meu ML com a resposta do ChatGPT.
Você poderia compartilhar como fez isso? Quais são os desafios?
Obrigado!
Olá, existe alguma maneira de:
- Definir o valor de uma chave como nulo
- Definir o valor de uma chave como {} (objeto vazio)
Parece que esses valores não serão representados corretamente se você tentar defini-los.
Obrigado pela resposta
O que estou fazendo de errado?
Um exemplo real da prática. Uma string com mais de 21 mil caracteres. Diversas variáveis e 2 matrizes grandes b e a. Há 500 subarranjos de 2 elementos em cada um:
Encontrei uma discrepância entre os dados originais e os dados gerados pelo JASON:
as duas primeiras linhas mostram o final da string original, que é analisada pelo JASON.
Ao analisar, todos os elementos são gravados na matriz. Ele obtém n=2000 elementos. Isso está correto.
Em seguida, 2 linhas são os primeiros 20 elementos da matriz e mais 2 linhas são os últimos 20 elementos.
No início da matriz, tudo coincide.
Mas, no final, o primeiro dígito dos pares coincide, mas o segundo não. Aparentemente, ele foi retirado de outro lugar.
Eu verifiquei. A segunda matriz a contém dados da primeira matriz b. Aqui está o final dos dados originais do array a:
Ou seja, o segundo array em subarrays nos primeiros elementos contém seu valor /direito, nos segundos elementos - valores do primeiro array.
O problema provavelmente está no código do analisador.
A substituição de dados é muito estressante - como testá-los mais tarde? Somente incorretamente! Foi uma sorte você ter notado isso. Esperamos que as variantes mais simples, sem matrizes aninhadas, funcionem corretamente. Mas você deve testar tudo antes de colocá-lo em prática.
O código é baseado nos exemplos da ramificação, apenas com a minha string de dados:
O código completo do script com essa string está anexado.
Biblioteca da versão mais recente "1.13" - baixada do GitHub.
Acima também escrevem sobre problemas com o segundo elemento. Provavelmente o mesmo problema.
Eu mesmo fiz uma análise de dados para um modelo específico, por meio da divisão por aspas " com a seleção subsequente de elementos por número.
Menos - para cada modelo, será necessário gastar tempo e escrever seu próprio analisador e contar o número de elementos...
Mais - JASON universal e conveniente 3 vezes mais rápido. Em vez de 40 segundos, 13 nos dados iniciais de ~400 Mb.
Passei metade de um dia trabalhando nisso.
Mais precisamente em três versões:
1) primeiro, procurei substrings específicas na matriz de caracteres e, em seguida, montei cadeias de caracteres a partir de seus valores - presumi que esse seria o código mais rápido
Eu queria trabalhar diretamente com a matriz de caracteres, porque tenho a matriz original do WebRequest ou FileOpen e não queria montá-la em uma grande cadeia de caracteres para aumentar a velocidade.
2) em seguida, a partir de char[], criei cadeias de caracteres somente com matrizes b e a - e as dividi
3) e, finalmente, o código mais simples - cada cadeia de caracteres foi reunida em uma grande cadeia de texto (com todos os dados, inclusive os desnecessários) e a dividi
Verificou-se que todas as três variantes têm aproximadamente a mesma velocidade. Por isso, optei pela mais simples, a terceira variante. Será mais fácil modificá-la posteriormente para outros modelos com outros dados.
Por alguma razão, pensei que trabalhar com uma matriz de caracteres seria mais rápido do que montá-la em uma string e dividi-la em uma matriz de string por meio de ". Aparentemente, a divisão é bem otimizada em termos de velocidade.
Seria bom se os desenvolvedores do MQ adicionassem alguns dos analisadores JSON padrão à linguagem. O JASON não analisa todas as variantes corretamente e, aparentemente, o desenvolvedor não está mais aqui e não há esperança de uma correção.Biblioteca da versão mais recente "1.13" - baixada do GitHub
Há uma bifurcação reescrita do código deste tópico (1.12). Você verificou com o original?
PS: Tenho a versão 1.12 original e bastante corrigida. Não me lembro de onde vieram as correções, provavelmente desta ramificação.