Testar operações de compra e venda no momento (preço limitado, preço de mercado em ambos os casos)

Autora:Quantificação, Data: 2020-03-18 16:09:36
Tags:

O teste de dados de tokens, bem como as transações em Wexapp, obtiveram resultados semelhantes:

Se a moeda atualmente vendida for BTC_USDT, então:

O preço limite de compra, exchange.Buy ((6840, 5) é comprar 5 BTC por 6840. Compra pelo preço de mercado, exchange.Buy ((-1, 5) é o btc comprado pelo preço de mercado no valor de 5 usdt.Por favor, note que este é o único local especial das quatro situações.)

A venda limitada, exchange.Sell ((7350, 3) é a venda de 3 BTC por 7350. O preço de mercado é vendido, exchange.Sell ((-1, 3) é a venda de 3 BTC no preço de mercado.

O código da estratégia:https://www.fmz.com/m/edit-strategy/191349

5 de abril de 2020

Eu sou a linha divisória de baixo nível.

Uma boa plataforma de negociação pode fazer com que sua estratégia se balance até 90 mil dólares e oferece duas semanas de desconto VIP5 por assinar um link: (Ponto de venda: 0%, 0%, 0%, 0%, 0%)https://www.kucoin.cc/ucenter/signup?rcode=1wxJ2fQ&lang=zh_CN&utmsource=VIP_TF


/*backtest
start: 2020-01-01 00:00:00
end: 2020-04-01 00:00:00
period: 1d
exchanges: [{"eid":"Huobi","currency":"BTC_USD","balance":1000000,"stocks":0}]
*/

var id, order, buyAmount, lastPrice;

function main() {
    Log(exchange.GetAccount());

    lastPrice = parseInt(exchange.GetTicker().Last);
    id = exchange.Buy(lastPrice + 50, 5); // 限价买入5个BTC,买入价是当前最新价格+50          
    Log(order = exchange.GetOrder(id));
    buyAmount = parseFloat(order.DealAmount);
    Log(exchange.GetAccount());

    Sleep(1000);
    last_price = parseInt(exchange.GetTicker().Last);
    id = exchange.Sell(lastPrice - 50, buyAmount); // 限价卖出5个BTC,卖出价是当前最新价格-50    
    Log(order = exchange.GetOrder(id));
    Log(exchange.GetAccount());

    Sleep(1000);
    id = exchange.Buy(-1, 5); // 市价买入BTC,成交量是5个usdt    
    Sleep(1000);    
    Log(order = exchange.GetOrder(id));
    buyAmount = parseFloat(order.DealAmount);    
    Log(exchange.GetAccount());

    Sleep(1000);    
    id = exchange.Sell(-1, buyAmount); // 市价卖出BTC,成交量是刚才买入的BTC   
    Sleep(1000);    
    Log(order = exchange.GetOrder(id));
    Log(exchange.GetAccount());

}

Mais.