Como mostra o gráfico, quando testei a troca de moeda no momento, descobri que o gráfico de resumo de ganhos considerava as compras como um estoque vazio, vendendo sem estatísticas, não sei se há um deus que possa apontar.
A outra coisa é:exchange.GetPosition()
O método de obtenção de ações foi sugerido no retrospecto para não apoiar esse método.
O código é o seguinte:
/*backtest
start: 2020-05-01 00:00:00
end: 2020-12-03 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Huobi","currency":"BTC_USDT"}]
*/
var times = 0;
var lasttime = null;
var hasPosition = false; //持仓数量
function main() {
Log("strategy started.");
while(true){
var records = _C(exchange.GetRecords, PERIOD_D1);
records = records.slice(-20);
var {Time} = records[records.length - 1];
if(lasttime != Time){
lasttime = Time;
var fast = TA.MA(records, 5);
var slow = TA.MA(records, 20);
var lastFast1 = fast[fast.length - 2];
var lastSlow1 = slow[slow.length - 2];
var lastFast2 = fast[fast.length - 3];
var lastSlow2 = slow[slow.length - 3];
if(lastFast2 < lastSlow2 && lastFast1 > lastSlow1 && !hasPosition){
//当前为金叉
//$.Buy(0.001);
exchange.Buy(-1, 0.01);
hasPosition = true;
}
if(lastFast2 > lastSlow2 && lastFast1 < lastSlow1 && hasPosition){
//当前为死叉
exchange.Sell(-1, 0.01);
hasPosition = false;
}
}
}
}
function init() {
const account = _C(exchange.GetAccount);
Log('strategy inted.', exchange.GetName(), account);
}
Ervas daninhasAs bolsas de valores não têm conceito de posição, recomendamos que você veja o tutorial inicial da comunidade. Calcular o lucro e o prejuízo é comparado com a posição inicial.
papagaioEntendido, obrigado.