인터페이스 오류 용도 기능을 다시 시도합니다.
콜백 함수가 실행될 때 반환되는 값 모든 타입은 시스템에서 지원됩니다.논리적인 잘못된 값그리고null 값.
_C(pfn) _C ((pfn,...args)
매개 변수pfn
함수 참조입니다.콜백 함수...
pfn
사실
기능
매개 변수콜백 함수, 한 개 이상의 매개 변수가 있을 수 있습니다.arg
- 파라미터의 종류와 수arg
그 매개 변수에 따라콜백 함수- 네
아그
거짓
문자열, 숫자, bool, 객체, 배열, 함수, 모든 유형은 null 값과 같이 시스템에서 지원됩니다.
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);
}
매개 변수 없는 오류 허용 함수:
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);
}
오류 용이성 있는 매개 변수를 가진 함수:
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
또한 사용자 정의 함수의 오류 허용에 사용할 수 있습니다:
이_C()
function는 지정된 함수를 호출할 수 있습니다.pfn
수익null또는거짓호출되면 다시 호출을 시도합니다.pfn
예를 들어_C(exchange.GetTicker)
. 기본 재시험 간격은 3 초입니다, 당신은 호출 할 수 있습니다_CDelay()
재시험 간격을 설정하는 기능입니다. 예를 들어,_CDelay(1000)
재시험 간격을 변경하기 위한 수단_C()
1초로 작동합니다.
결함 허용은 다음 기능에 적용될 수 있지만 제한되지 않습니다.
exchange.GetTicker()
exchange.GetDepth()
exchange.GetTrades()
exchange.GetRecords()
exchange.GetAccount()
exchange.GetOrders()
exchange.GetOrder()
exchange.GetPositions()
모든 것은_C()
결함 허용 함수_C()
함수는 위와 같은 함수 결함 허용에 국한되지 않습니다, 매개 변수pfn
함수 호출보다는 함수 참조입니다.
이 점에 유의해야 합니다._C(exchange.GetTicker)
아니_C(exchange.GetTicker())
.