基于区块链的毕业设计Variações de Médias Móveis Simples de Criptomoedas – 简单的Médias Móveis Variações de Médias Móveis scriptomoedas

本文提供基于区块链的毕业设计国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,基于区块链的毕业设计Variações de Médias Móveis Simples de Criptomoedas – 简单的Médias Móveis Variações de Médias Móveis scriptomoedas 是一篇很好的国外资料

Variações de Médias Móveis Simples de Criptomoedas

Sobre

Variações de médias móveis simples, de 20, 50 e 200 dias, das moedas Bitcoin e Etherium que são listadas no Mercado Bitcoin.

Pré requisitos

  • Docker
  • Python 3.8+ (p/ rodar fora dos containers)

Como rodar o projeto

Crie um arquivo .env na raíz do projeto, copie as informações presentes no arquivo .env-example (que nesse caso, são as variáveis de produção) e cole no .env.
Suba os containers com os serviços (aplicação, banco de dados, celery e redis), executando o seguinte comando:

  • docker-compose up --build

Caso queira em algum momento limpar o banco de dados, basta executar o comando docker-compose down -v

Popular o banco de dados com as médias móveis simples

Caso não exista dados no banco, será enviada uma requisição para pegar os últimos 365 candles de todas as criptos cadastradas (a princípio BRL_BTC e BRL_ETH), e salvá-las no banco, para isso é utilizada a função get_and_save_candles localizada em 'simple_moving_average/models.py'.
Os logs relacionados a esse fluxo estão representados pelas tags: [FLOW][POPULATE_DB]

Atualização diária do banco de dados

Para atualizar os dados, foi criada uma task (update_candle_table), localizada em 'simple_moving_average/models.py'. Inicialmente ela pega o candle mais novo do banco, garante que ele não é o candle do dia atual, e então faz a consulta dos candles com o range entre o dia seguinte do candle mais novo até o dia atual, sendo resiliente caso não tenha obtido algum dado anteriormente. Em seguida, esses candles que foram retornados, são salvos no banco, é calculada as médias móveis simples dos mesmos, e por fim, pega-se a quantidade de novos candles, e deleta essa quantidade dos candles mais antigos do banco.
Essa task é disparada de forma assíncrona diariamente às 00:05, para isso foi utilizado o Celery como fila de tarefas e o Redis como broker.
Foi implementada uma estratégia de monitoração via slack. Caso a requisição por novos candles falhe, é enviado uma mensagem em um canal do slack previamente setado. Para isso, é necessário criar um webhook do canal desejado através do tutorial oficial, e colocar o link gerado no arquivo .env, na variável SLACK_WEBHOOK.
Os logs relacionados a esse fluxo estão representados pelas tags: [FLOW][UPDATE_CANDLE_TABLE]

Endpoint para consulta na tabela

Método Descrição
GET Retorna informações de um ou mais registros.

EndPoint

http://localhost:8000/api/pair/mms/?range=mms_range&from=from_timestamp&to=to_timestamp

Parâmetro Local Tipo Obrigatório Opções Descrição
pair path texto Sim BRLBTC, BRLETH Par relacionado a cripto
range query inteiro Sim 20, 50, 200 Quantidade de dias da média móvel.
from query inteiro Sim * Data inicial.
to query inteiro Não * Data final. Data padrão é o dia anterior.

Respostas

Código Descrição
200 Success
400 FROM param must be greater or equal than first candle date
404 Invalid pair
416 Range must be 20, 50 or 200

Resultado

[  {     timestamp: int, // dia     mms: float  }, ] 

Testes

Para executar os testes, basta entrar dentro do container da aplicação (docker exec -it django bash) e rodar o comando pytest, ou pytest -o log_cli=true para aparecer os logs durante a execução.


Resultado

Testes

Variações de médias móveis simples,de 20,50 e 200 dias,das moedas Bitcoin e Etherium que são listadas no Mercado Bitcoin.简单易懂的货币

Pré requisitos

  • Docker
  • Python 3.8+(p/rodar fora dos containers)

Como rodar o projeto

Crie um arquivo.env na raz do projeto,copie as informaões presented no arquivo.env example(quenesse caso,são as variáveis de produço)e cole no.env.请注意,我们的项目没有提供任何信息
Suba os containers com os serviços(aplicação,banco de dados,celery e redis),executando o seguinte comando:

  • Docker compose up–build

Caso queira em algum momento limpar o banco de dados,basta executar o comando docker compose down-v

Popular o banco de dados com as médias móveis simples

Caso não exista dados no banco,我们需要365支蜡烛作为地籍册(Princsípio BRL_BTC e BRL_ETH)、一家银行(salválas no banco)、一家有趣的实用性银行(issoéutilizada a funço get_è和èu saveèu蜡烛本地化为“简单的移动平均值/模型.py”
Os logs relacionados a esse fluxo estão representados pelas tags:[FLOW][POPULATEãDB]

Atualização diária do banco de dados

Para atualizar Os dados,foi criada uma task(updateãcandleãtable),localizada em’simpleãmovingãaverage/models.py’。伊尼亚尔曼特·埃拉·佩加(ela pega o candle mais novo do banco)、阿图尔(garante que eleãnão candle do dia atual)、阿图尔(e então faz a consulta dos candles com o range entre o dia seguinte do candle mais novo atéo dia atual)和阿图尔(sendo resiliente caso não tenha obtido algum dado Anteri。Em seguida,esses candles que foram returnados,são salvos no banco,e calculada as médias móveis simples dos mesmos,e por fim,pega se a quantidade de de novos candles,e deleta essa quantidade dos candles mais antigos do banco
Essa taskédiversida de forma assíncrona diariamente a s 00:05,para isso foi utilizado o芹菜como fila de tarefas e o Redis como broker<通过slack实施监测。新烛光之家是一个安魂之家,它是一个美丽的城市。这是一个很好的网络钩子,它能帮助你找到一个很好的网络钩子
Os logs relacionados a esse fluxo estão representados pelas tags:[流][更新蜡烛表]

Endpoint para consulta na tabela

>Td> Sim BrbTc,Brthe</Td><Tr>Pr RelaCiNADO;Crpto</Td><Td>范围<<TD>查询</TD>TD>ITERIOO

Método Descrição
GET returna informaçes de um ou mais registros

EndPoint

http://localhost:8000/api/pair/mms/?range=mms_range&from=起始时间戳&amp;to=toèu timestamp

Parâmetro Local Tipo Obrigatório Opções Descrição
来自 path 查询 Sim inteiro Sim
* 数据专用 查询 因泰罗 *
最终数据。数据帕德罗迪亚前 200 Success 400 FROM param必须大于或等于第一个蜡烛日期 404
无效对 416 范围必须为20、50或200 Não * Data final. Data padrão é o dia anterior.

Respostas

Código Descrição
200 Success
400 FROM param must be greater or equal than first candle date
404 Invalid pair
416 Range must be 20, 50 or 200

Resultado

[  {     timestamp: int, // dia     mms: float  }, ] 

Testes

Para executar os testes,basta entro do container da aplicaèèo(docker exec-it django bash)e rodar o comando pytest,ou pytest-o logècli=true Para aparecer os logs durante a execuèo

部分转自网络,侵权联系删除区块链源码网

www.interchains.cc

https://www.interchains.cc/23272.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 基于区块链的毕业设计Variações de Médias Móveis Simples de Criptomoedas – 简单的Médias Móveis Variações de Médias Móveis scriptomoedas

提供最优质的资源集合

立即查看 了解详情