Réessayez la fonction de tolérance à la défaillance de l'interface.
La valeur de retour de la fonction de rappel lorsqu'elle est exécutée. Tous les types sont pris en charge par le système saufvaleur logique fausseetvaleur nulle.
Je ne sais pas. Je ne sais pas.
Le paramètrepfn
est une référence de fonction, qui est unefonction de rappel- Je ne sais pas.
pfn
vrai
fonction
Paramètres àles fonctions de rappel, il peut y avoir plusieurs paramètresarg
. Le type et le nombre de paramètresarg
dépend des paramètres dufonction de rappelJe suis désolée.
arg
faux
chaîne, nombre, bool, objet, tableau, fonction, tous les types sont pris en charge par le système, tels que les valeurs nulles
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);
}
Pour les fonctions de tolérance à l'erreur sans paramètres:
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);
}
Pour les fonctions dont les paramètres sont tolérants aux erreurs:
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
Il peut également être utilisé pour la tolérance aux pannes des fonctions personnalisées:
Le_C()
fonction continuera à appeler la fonction spécifiée jusqu'à ce qu'elle renvoie avec succès (la fonction référencée par le paramètrepfn
rendementsNuloufauxQuand il est appelé, il recommence à appelerpfn
Par exemple:_C(exchange.GetTicker)
. L'intervalle de réessayer par défaut est de 3 secondes, vous pouvez appeler le_CDelay()
fonction pour régler l'intervalle de réessayage._CDelay(1000)
Les moyens de modifier l'intervalle de réessayage du_C()
fonction à 1 seconde.
La tolérance à la défaillance peut être effectuée pour, mais sans s'y limiter, les fonctions suivantes:
exchange.GetTicker()
exchange.GetDepth()
exchange.GetTrades()
exchange.GetRecords()
exchange.GetAccount()
exchange.GetOrders()
exchange.GetOrder()
exchange.GetPositions()
Tous peuvent être appelés par le_C()
La fonction de tolérance aux défauts_C()
la fonction n'est pas limitée à la fonction de tolérance à la défaillance énumérée ci-dessus, le paramètrepfn
est une référence de fonction plutôt qu'un appel de fonction.
Notez qu'il est_C(exchange.GetTicker)
, pas_C(exchange.GetTicker())
.