Por ejemplo, algunos intercambios a menudo presentan errores incontrolables, lo que hace que el robot se detenga. Por lo tanto, se trata de monitorear los errores a través de la función de salida o error de la plataforma FMZ, y luego se reinicia automáticamente mediante la extensión de la API.
- JS trata de capturar el método, pero no lo hace. Algunas interfaces se equivocan.
2 , la función de barrido de cola de los administradores exit, puede ejecutarse, pero no puede reiniciar cuando se ingresa a la función main <unk>
3 , Función js ≠ onerror, la compresión de raíz no responde ≠
Entonces, ¿hay alguna manera más apropiada de monitorear el error de la API para seguir operando?
function GetTicker() {//获取行情信息并储存
Sleep(200);
var ticker;
for(var j=0;j<3;j++){
var goGetTicker = exchanges[e].Go("GetTicker");//异步去买
if(!goGetTicker)return 0;//网络不行
ticker = goGetTicker.wait(2500);//异步等待结果,1秒超时。Interval=1000
if(typeof(ticker) === "undefined") ticker = goGetTicker.wait(IntervalDB);//超时再等2秒
if(ticker){
HuoCenKline(ticker);
return ticker;//正确出口orders=[];与orders=null;前者orders.length=0;后者orders.length将出错!
}
else Sleep(Math.pow(DB,j)IntervalDB);//休息DB=2的j+1次方秒14+4.53=27.52秒最大等待时间
}
return 0;//接口不行
}//设了超时
谢谢大神。我是小白哈,管理机器人的API我也会这写这段代码。关键是我是一键租用托管者,不太会后端,那段管理机器人的代码是怎么放在服务器呢?是另外新建一个机器人【管理机器人代码】,去管理另一个机器人【策略代码】吗?
收到,多谢,请教下哈,就是比如bitmex的经常过载,导致机器人出现错误停止,针对这类接口报错,怎么容错呢?我用try catch都捕捉不到相应的错误,所以头大
是的,其实初级教程有看过,但其实没解决我的问题。关键是:1.重试函数只适用于FMZ包装后的getticker等函数,我用的多为IO,无法重试。2、try catch,比如setorder,根本catch不到错误,catch里的语句就没执行。3、关于null的判断,前面比如Setorder出错了,机器人直接就停止了,压根就到不了null与否的判断。
- 1

