avatar of 韬奋量化 韬奋量化
focar em Mensagem privada
23
focar em
24
Seguidores

Análise simples de informações de pedidos obtidas do wex.app

Criado em: 2020-12-30 16:20:27, atualizado em: 2020-12-30 16:22:03
comments   0
hits   1157

Resumindo: quando você procura o preço médio de transação de uma encomenda no wex.app, use order.info.detail[0].price para substituir o ordinário ordinário.AvgPrice. Quando você escreve código, você pode testar compra e venda através da ferramenta de debug e comparar informações de pedidos de comissão históricas com o wex.app para ajustar o código de estratégia.

Declaração: O objetivo deste artigo é apenas documentar os problemas encontrados durante a escrita do código, o processo de aprendizagem e as soluções. Obrigado ao inventor pela plataforma de simulação wex.app, que me permitiu testar muitas estratégias.

Este artigo usa a ferramenta de debug do site do inventor para testar as ordens de compra e venda de preço de mercado no site de discos eletrônicos wex.app e pesquisar informações sobre os pedidos devolvidos. Os resultados concretos são os seguintes:

Um teste de compra.

(a) Código de teste function main(){ var account = exchange.GetAccount(); var preAccount = account;// registar o estado da conta antes da compra Log(preAccount); var id = exchange.Buy ((-1, 50);// Gastar 50 usdt para comprar BTC ao preço de mercado Log(id); if(id!=null){ var order = exchange.GetOrder(id);
Log(order); account = exchange.GetAccount (();// consultar o status da conta após a compra Log(account);
} }

(B) Retorno de informação Informações da conta preAccount antes da compra: { “Info”: { (Info é uma grande parte da informação, mas não afeta a análise deste artigo, por isso é ignorado) }, “Stocks”: 0.8150649, “FrozenStocks”: 0, “Balance”: 5759.396067057396, “FrozenBalance”: 204954.226021164 }

Informações da conta após a compra: { “Info”: { (Info omitido) }, “Stocks”: 0.81682151, “FrozenStocks”: 0, “Balance”: 5709.396268085276, “FrozenBalance”: 204954.226021164 }

A comparação entre os dados das contas antes e depois da compra revela: 1o O saldo da conta (Balance) foi reduzido em 50 usdt. 2o, o número de moedas (Stocks) aumentou 0,00175661 BTC.

O retorno de dados de uma ordem é: { “Info”: { “account”: “exchange”, “side”: “bid”, “tx”: “49.9623272267”, “detail”: [{ “id”: 62138365, “price”: “28442.47”, “time”: 1609311663795, “amount”: “0.00175661”, “fee”: “0.037471745420025”, “fee_price”: “0.0”, “fee_replace”: “0.0” }], “fee_replace”: “0.0”, “time”: 1609311663795, “deal_amount”: “0.00175661”, “deleted”: 1609311663795, “remain”: “0.0”, “fee_symbol”: “EVE”, “id”: 201005081, “market”: “BTC_USDT”, “price”: “50.0”, “status”: “closed”, “amount”: “0.0”, “client”: “api”, “fee”: “0.037471745420025”, “type”: “market” }, “Id”: 201005081, “Amount”: 0, “Price”: 50, “DealAmount”: 0.00175661, “AvgPrice”: 0, “Status”: 1, “Type”: 0, “Offset”: 0, “ContractType”: “” }

De acordo com as informações de pedidos que o wex.app retorna, descobrimos: 1 ◦ O pedido foi entregue, status é igual a 1 ◦ 2. O número de moedas trocadas é 0.00175661, o que corresponde ao valor de mudança entre as contas. 3 - Comparando o histórico de encomendas na página web do wex.app, descobrimos: O total de transações foi de 49.9623272267 usdt. O preço médio de transação é Info.detail[0].price=28442.47 Total de transações em Info.detail[0 .amount = 0,00175661 BTC A taxa total é de Info.detail[0].fee=0.037471745420025 dólares

Preço médio de transação = total transação / total transação: 49.96232722670.00175661=28442.47 Taxa de processamento = total de processamento/volume total de transação 0.037471745420025/49.9623272267=0.00075

O problema é que, se o valor total das transações for subtraído do valor da comissão, o diferencial é um pouco maior do que o total das comissões: 50-49.9623272267=0.0376727733 0.0376727733-0.037471745420025=0.000201028 Não se sabe onde está o diferencial? Pode estar relacionado com o método de cálculo da fusão de pedidos. Em geral, pode ser ignorado.

Testar e vender.

(a) Código de teste function main(){ var account = exchange.GetAccount(); var preAccount = account;// registar o estado da conta antes da venda Log(preAccount); Var id = exchange.Sell ((-1, 0.001);// Vender 0,001 BTC pelo preço de mercado Log(id); if(id!=null){ var order = exchange.GetOrder(id);
Log(order); account = exchange.GetAccount (();// consultar o status da conta após a venda Log(account);
} }

(B) Retorno de informação Informações da conta preAccount antes da compra: { “Info”: { (Info omitido) }, “Stocks”: 0.81682151, “FrozenStocks”: 0, “Balance”: 5752.887638167275, “FrozenBalance”: 204910.734651082 }

Informações da conta após a compra: { “Info”: { (Info omitido) }, “Stocks”: 0.81582151, “FrozenStocks”: 0, “Balance”: 5781.260102847275, “FrozenBalance”: 204910.734651082 }

A comparação entre os dados das contas antes e depois da compra revela: 1o O saldo da conta (Balance) aumentou em 28.37246468 usdt. 2o, o número de moedas (Stocks) diminuiu 0,001 BTC.

O retorno de dados de uma ordem é: { “Info”: { “account”: “exchange”, “price”: “0.0”, “client”: “api”, “deleted”: 1609313057270, “fee_symbol”: “EVE”, “status”: “closed”, “time”: 1609313057270, “tx”: “28.39376”, “type”: “market”, “amount”: “0.001”, “detail”: [{ “time”: 1609313057270, “amount”: “0.001”, “fee”: “0.02129532”, “fee_price”: “0.0”, “fee_replace”: “0.0”, “id”: 62140121, “price”: “28393.76” }], “fee_replace”: “0.0”, “id”: 201015506, “remain”: “0.0”, “deal_amount”: “0.001”, “fee”: “0.02129532”, “market”: “BTC_USDT”, “side”: “ask” }, “Id”: 201015506, “Amount”: 0.001, “Price”: 0, “DealAmount”: 0.001, “AvgPrice”: 0, “Status”: 1, “Type”: 1, “Offset”: 0, “ContractType”: “” }

De acordo com as informações de pedidos que o wex.app retorna, descobrimos: 1 ◦ O pedido foi entregue, status é igual a 1 ◦ 2o, o número de moedas trocadas é 0,001, compatível com o valor de mudança da conta. 3 - Comparando o histórico de encomendas na página web do wex.app, descobrimos: O total de transações foi de 28.39376 usdt. O preço médio de transação é Info.detail[0].price=28393.76 Total de transações em Info.detail[0].amount=0.001 umbtc A taxa total é de Info.detail[0].fee=0.021295325 usdt

Preço médio de transação = total transação / total transação: 28.393760.0011=28393.76 Taxa de processamento = total de processamento/volume total de transação 0.021295325/28.39376=0.00075

Podemos calcular a taxa de processamento de outra forma, usando o valor da variação do saldo da conta (Balance) menos o total da transação: 28.37246468-28.39376-=-0.02129532 Há um pequeno erro, que deve ter sido causado por um pequeno número de dígitos, que pode ser ignorado.