En la carga de los recursos... Cargando...

_C

Intentar de nuevo la función de tolerancia a fallas de la interfaz.

El valor de retorno de la función de llamada de retorno cuando se ejecuta. Todos los tipos son compatibles con el sistema exceptovalor lógico falsoyvalor nulo.

- ¿Qué es eso? - ¿Por qué no lo haces?

El parámetropfnes una referencia de función, que es unFunción de devolución de llamada- ¿ Por qué? Pfn verdadero Función Parámetros paraLas funciones de devolución de llamada, puede haber más de un parámetroargTipo y número de parámetrosargdependerá de los parámetros de laFunción de devolución de llamada¿ Qué pasa? el falsos cadena, número, bool, objeto, matriz, función, todos los tipos son compatibles con el sistema, como valores nulos

function main(){
    var ticker = _C(exchange.GetTicker)
    // Adjust _C() function retry interval to 2 seconds
    _CDelay(2000)
    var depth = _C(exchange.GetDepth)
    Log(ticker)
    Log(depth)
}
def main():
    ticker = _C(exchange.GetTicker)
    _CDelay(2000)
    depth = _C(exchange.GetDepth)
    Log(ticker)
    Log(depth)
void main() {
    auto ticker = _C(exchange.GetTicker);
    _CDelay(2000);
    auto depth = _C(exchange.GetDepth);
    Log(ticker);
    Log(depth);
}

Para las funciones tolerantes a errores sin parámetros:

function main(){
    var records = _C(exchange.GetRecords, PERIOD_D1)
    Log(records)
}
def main():
    records = _C(exchange.GetRecords, PERIOD_D1)
    Log(records)
void main() {
    auto records = _C(exchange.GetRecords, PERIOD_D1);
    Log(records);
}

Para las funciones con parámetros tolerantes a errores:

var test = function(a, b){
    var time = new Date().getTime() / 1000
    if(time % b == 3){
        Log("Eligible!", "#FF0000")
        return true
    }
    Log("Retry!", "#FF0000")
    return false
}            

function main(){
    var ret = _C(test, 1, 5)
    Log(ret)
}
import time
def test(a, b):
    ts = time.time()
    if ts % b == 3:
        Log("Eligible!", "#FF0000")
        return True
    Log("Retry!", "#FF0000")
    return False            

def main():
    ret = _C(test, 1, 5)
    Log(ret)
// C++ does not support fault tolerance for custom functions in this way

También se puede utilizar para la tolerancia a fallos de las funciones personalizadas:

El_C()función seguirá llamando a la función especificada hasta que devuelva con éxito (la función a la que se refiere el parámetropfnlas devolucionesNo hay nadao bien- No es cierto.Cuando lo llamen, volverá a llamar.pfnPor ejemplo:_C(exchange.GetTicker)El intervalo de reintentos predeterminado es de 3 segundos, puede llamar al_CDelay()Función para establecer el intervalo de reintentos._CDelay(1000)El uso de un dispositivo de control de la velocidad es un medio para cambiar el intervalo de repetición de las pruebas de_C()Función a 1 segundo. La tolerancia a fallos puede realizarse para, entre otras cosas, las siguientes funciones:

  • exchange.GetTicker()
  • exchange.GetDepth()
  • exchange.GetTrades()
  • exchange.GetRecords()
  • exchange.GetAccount()
  • exchange.GetOrders()
  • exchange.GetOrder()
  • exchange.GetPositions()Todos pueden ser llamados por el_C()La función de tolerancia a fallos_C()la función no se limita a la función de tolerancia a fallas mencionada anteriormente, el parámetropfnes una referencia de función en lugar de una llamada de función. Observe que es_C(exchange.GetTicker), no_C(exchange.GetTicker()).
- ¿Qué es? _Cruz