0
Follow
0
Followers
백테스팅 시, API를 호출하여 얻은 데이터는 어떤 시점을 기준으로 하나요?
Created 2017-10-31 18:38:15 Updated 2017-10-31 18:48:57
5
1969
GetTicker () 와 GetRecords () 의 데이터에 대해 간단히 설명해 주시겠습니까?
예를 들어, 매우 이상한 문제가 발생했을 때, 아래의 코드는 다음과 같습니다:
function main() {
while (true) {
var records = exchange.GetRecords();
records.pop();
Log(records.length);
Sleep(60000);
}
}
최종 출력 기록의 길이는 0:

하지만 pop (,) 라는 코멘트에서:
function main() {
while (true) {
var records = exchange.GetRecords();
//records.pop();
Log(records.length);
Sleep(60000);
}
}
그리고 그 결과에는 다음과 같은 결과가 나옵니다:

만약 while loop이 없다면, pop () 호출을 계속할 수 있습니다.
function main() {
var records = exchange.GetRecords();
records.pop();
Log(records.length);
Sleep(60000);
}

이 질문에 대한 답은 다음과 같습니다.
Related Recommendations
Comment
All comments (5)
用这个 深拷贝函数试下, 每次 获取到的 records 深拷贝一下, 然后就可以随意修改 复制后的 变量了。
var cloneObj = function(obj) { // 深拷贝 对象函数
var str, newobj = obj.constructor === Array ? [] : {};
if (typeof obj !== 'object') {
return;
} else if (JSON) {
str = JSON.stringify(obj); //系列化对象
newobj = JSON.parse(str); //还原
} else {
for (var i in obj) {
newobj[i] = typeof obj[i] === 'object' ?
cloneObj(obj[i]) : obj[i];
}
}
return newobj;
};
9 years ago
- 1

