Die Ressourcen sind geladen. Beförderung...

_C

Wiederholen Sie die Funktion für die Schnittstellenfehlertoleranz.

Der Rückgabewert der Rückruffunktion bei Ausführung. Alle Typen werden vom System unterstützt, außerlogischer falscher WertundNull-Wert.

_C (((pfn) - Ich bin nicht derjenige.

Der Parameterpfnist eine Funktionsreferenz, die eineRückruffunktion- Ich weiß. Pfn wahr Funktion Parameter bisRückruffunktionen, kann es mehr als einen Parameter gebenarg. Art und Anzahl der ParameterargDie Ergebnisse der StudieRückruffunktion- Ich weiß. Arg falsche String, Zahl, bool, Objekt, Array, Funktion, alle Typen werden vom System unterstützt, z. B. Nullwerte

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);
}

Für fehlertolerante Funktionen ohne Parameter:

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);
}

Für Funktionen mit fehlertoleranten Parametern:

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

Es kann auch für die Fehlerverträglichkeit von benutzerdefinierten Funktionen verwendet werden:

Die_C()function wird die angegebene Funktion aufrufen, bis sie erfolgreich zurückgegeben wird (die Funktion, auf die der Parameter verweistpfnErträgeNulloderfalscheWenn Sie angerufen werden, versuchen Sie es erneut.pfn) Zum Beispiel_C(exchange.GetTicker). Das Standard-Wiederversuchsintervall beträgt 3 Sekunden, Sie können die_CDelay()Funktion, um das Wiederholungsintervall festzulegen._CDelay(1000)Mittel zur Änderung des Wiederversuchsintervalls der_C()Funktion auf 1 Sekunde. Die Fehlertoleranz kann für folgende Funktionen durchgeführt werden, jedoch nicht auf diese beschränkt:

  • exchange.GetTicker()
  • exchange.GetDepth()
  • exchange.GetTrades()
  • exchange.GetRecords()
  • exchange.GetAccount()
  • exchange.GetOrders()
  • exchange.GetOrder()
  • exchange.GetPositions()Alle können von der_C()Die Funktion der Fehlerverträglichkeit_C()Die Funktion ist nicht auf die oben aufgeführte Funktion Fehlertoleranz beschränkt, der Parameterpfnist eine Funktionsreferenz und nicht ein Funktionsanruf. Beachten Sie, dass es_C(exchange.GetTicker), nicht_C(exchange.GetTicker()).
_N _ Kreuzung