Quero utilizar também @cezarmotta.
Qual o arquivo Jason você vai usar? Coloca aqui o link dele. Se puder, é claro.
Quero utilizar também @cezarmotta.
Qual o arquivo Jason você vai usar? Coloca aqui o link dele. Se puder, é claro.
O que é de Cezar, fica com Cezar.
Pessoal, nesse vídeo aqui explica como instalar o JSON no Google sheets, foi o que eu usei.
Indicado pelo @Mauricio_Martiniano
Esses são os arquivos, utilizei o Price History, passados pelo @FernandoLacerda
Vão adiantando a instalação que vou subir a planilha mais tarde…
Abs.
Manda filhão…
Galera, segue o link da planilha…
Para utilizar, vocês precisam fazer uma cópia para vocês e implementar a função Import JSON como explicado no post acima, ok?
Aguardo comentários do que acharam…
Abs.
Ficou legal, @cezarmotta
Duas perguntinhas:
Mas ficou bem legal, e dado que o cálculo vai ser, necessariamente, aproximado, já é bem útil da forma que está. Valeu por compartilhar!
ficou muito boa a planilha, eu faço um controle muito parecido com esse,
pensando em fazer a copia da sua e integrar na minha rs
Que bom Everton, a intenção é ajudar a todos.
Como o cálculo leva em consideração o valor da Nucoins um dia antes como orienta o programa, quando existem grandes oscilações do valor no mês, essa planilha deixa o cálculo muito mais preciso.
Ao menos pra mim, deu uma boa a diferença da forma que fazia antes na outra planilha.
Abs
Oi Fernando, tudo bem?
Respondendo, pergunta 1:
Pois então, não sei fazer esse efeito memória no Google sheets, se alguém souber e ajudar aqui poderia ajudar que implemento.
No entanto, por enquanto, sugiro que todos os níveis 6 e 7 que queiram utilizar a planilha atualizem seus dados até dia 29, 30 ou 31 e façam a compra dos Nucoins restantes.
Pergunta 2, vou dar uma olhada nesse arquivo, mas não achei em lugar algum a opção do valor de fechamento como orientam as regras.
Pois é, vai dar uma diferença pequena sim, principalmente, nos meses que houverem uma oscilação maior no preço.
Para mim, a diferença foi de + ou - 700 MCN
Valeu pela força, você colaborou direta e indiretamente para esse resultado desde o início.
Abs.
Também não sei não, eu sei fazer no excel. Mas fiquei curioso e vou até pesquisar. Se eu descobrir eu volto aqui pra contar.
Sim, esse valor não aparece lá diretamente. Mas a gente tem a situação do pool de liquidez (Brlbalance e Ncnbalance), e o valor que aparece lá no JSON é o último valor do pool antes da atualização das 21:00 do Explorer em cada dia. Dividindo Brlbalance por Ncnbalance a gente tem a cotação instantânea para essa última atualização de cada dia. Se for razoável assumir que entre 21:00 e 0:00 o preço do NCN sofre pouca variação, pode ser que seja um dado mais preciso do que usar o Avg.
Entendi, vou estudar essa opção aqui.
com a colaboração de vcs @cezarmotta e @FernandoLacerda tenho certeza que vai ser uma baita planilha hein,
e claro quem mais conseguir colaborar, eu acho que no momento não consigo contribuir com nada rs.
Olha, no Gemini questões de excel para o planilha do google ele é bem acertivo.
Várias vezes eu não lembrava da fórmula, por não usar muito e ele me ajudou bastante.
Vale a tentativa. Tbm é a unica IA que ajuda em questão de fórmula, programação…
Alguém sabe fazer o lance da memória no Excel?
No Excel, eu puxo os dados do json usando o recurso de consultas e conexões.
Para guardar dados antigos, eu crio duas consultas. Uma delas é a consulta propriamente dita que só pega os dados do json, com as informações dos últimos 30 dias. A outra delas sendo a mescla da primeira com os dados da planilha (que vai incluir os dados antigos), e depois eu elimino as duplicatas.
Segue as duas consultas conforme estão na minha planilha:
Consulta price_history:
let
Fonte = Json.Document(Web.Contents("https://explorer.nucoin.com.br/files/blockchain/price_history.json")),
#"Convertido para Tabela" = Record.ToTable(Fonte),
Value = #"Convertido para Tabela"{1}[Value],
#"Convertido para Tabela1" = Record.ToTable(Value),
#"Value Expandido" = Table.ExpandRecordColumn(#"Convertido para Tabela1", "Value", {"min", "max", "avg", "totalLiquidity","brlBalance","ncnBalance"}, {"Value.min", "Value.max", "Value.avg", "Value.totalLiquidity","Value.brlBalance","Value.ncnBalance"}),
#"Tipo Alterado" = Table.TransformColumnTypes(#"Value Expandido",{{"Name", type date}, {"Value.min", type number}, {"Value.max", type number}, {"Value.avg", type number}, {"Value.totalLiquidity", type number}}),
#"Colunas Renomeadas" = Table.RenameColumns(#"Tipo Alterado",{{"Name", "price.Date"}, {"Value.min", "price.min"}, {"Value.max", "price.max"}, {"Value.avg", "price.avg"}, {"Value.totalLiquidity", "price.totalLiquidity"}})
in
#"Colunas Renomeadas"
Consulta GrandeHistorico:
let
Fonte = Excel.CurrentWorkbook(){[Name="GrandeHistorico"]}[Content],
#"Tipo Alterado" = Table.TransformColumnTypes(Fonte,{{"price.Date", type date}, {"price.min", type number}, {"price.max", type number}, {"price.avg", type number}, {"price.totalLiquidity", type number}, {"Value.brlBalance", type number}, {"Value.ncnBalance", type number}}),
#"Outras Colunas Removidas" = Table.SelectColumns(#"Tipo Alterado",{"price.Date", "price.min", "price.max", "price.avg", "price.totalLiquidity", "Value.brlBalance", "Value.ncnBalance"}),
#"Consulta apensada" = Table.Combine({price_history,#"Outras Colunas Removidas"}),
#"Duplicatas Removidas" = Table.Distinct(#"Consulta apensada", {"price.Date"}),
#"Linhas Classificadas" = Table.Sort(#"Duplicatas Removidas",{{"price.Date", Order.Ascending}})
in
#"Linhas Classificadas"
Obs: para funcionar da primeira vez, é necessário que já exista uma planilha de nome GrandeHistorico no arquivo, com os dados de uma primeira consulta, ou pelo menos o cabeçalho. A dica é criar primeiro a consulta price_history. Duplicar a planilha price_history gerada e renomear para GrandeHistorico. Somente depois, criar a consulta GrandeHistorico.
Kkk caraca, que complexo.
Pensei que tivesse algo como nas calculadoras antigas, aquelas teclas MR e MC kkk
Praticamente, tem que “trapacear” pra funcionar…
Valeu a dica, como para o meu uso é só o mês vigente, prefiro deixar como está mesmo, estou lotado de coisas para estudar ainda mais algo sem tanto retorno…
Valeu pela orientação de qualquer forma.
Abs.
Hahaha… essa foi boa.
O que o @FernandoLacerda fez foi desenvolver um algoritmo que poderia até ser chamado através de um botão, como você esperava. Mas entendo quando diz que é complexo. Nem sempre a implementação desse tipo de código se resolve rápido.
Boa sorte, amigo.