getposition 이 함수는 포지션 없이 오류를 나타냅니다.

저자:조오, 2018-04-12 16:36:42, 업데이트:

이 문제를 어떻게 디버깅할 수 있을까요? 계정에서 포지션이 없는 경우 다음 코드를 사용하여 포지션 정보를 얻습니다. while (true) { while (true) } var position=_C (exchange.GetPosition)

if(position==null) { 계속하세요 ♪ ♪ type=position[0].Type if ((type==PD_LONG) { 만약 (excell!==sellPrice) { CancelPendingOrders (중계 주문 취소) exchange.SetDirection (closebuy) exchange.Sell ((sellPrice,position[0].Amount) 는 유동화 된 화폐를 판매하는 회사입니다. 전용값은 ♪ ♪ ♪ ♪ 계정이 위치가 없을 때, getposition가 얻을 수 있는 것은 빈 대수열이어야 하기 때문에 if 문장의 continue를 실행하여 루프를 다시 시작하지만 실제 디스크 테스트는 여전히 오류를 반환합니다. TypeError: cannot read property Type of undefined at main (중심에서 정의되지 않은의 타입 오류: cannot read property)파일:129)

if의 조건을 변경하려고 노력했는데, positions[0]==null 또는 typeof(position) ==undefined 같은 조건은 작동하지 않거나 type=position[0]의 다음 문자를 실행합니다.

이 문제는 어떻게 해결될까요?


더 많은

롱후이이 문제를 해결하기 위한 방법은 다음과 같습니다. var position = _C (exchange.GetPosition); if ((position.length>0) - 그래요 // 코드를 이 대괄호에 넣으십시오. 원리는 다음과 같습니다. 먼저 이 보유 함수가 반환하는 배열의 길이를 판단하고, 길이가 0보다 크다면 보유 정보가 있음을 나타냅니다. 직접 null, undefine를 사용하여 판단할 수 없습니다. 그 다음으로 위치[0]에 액세스할 수 있습니다. ♪ ♪

유모운트같은 문제가 발생했을 때, exchange.GetPosition에 대해 오류 용납 함수를 따로 설정해야 한다고 느꼈습니다. 그렇지 않으면, 이 함수는 저장하지 않고는 거의 사용할 수 없습니다. 그런데 어떻게 해결되었는지 집주인에게 물어보세요.

작은 꿈이 문서를 보고, 문제가 생겼습니다. 만약 당신이 exchange.GetPosition (,) 를 호출할 때, 만약 당신이 보관하지 않았다면, []를 반환합니다. position == null가 되면 false가 되므로 continue가 시작되지 않습니다. 그리고 당신은 position[0]에 접속합니다. 이 요소는 존재하지 않으므로 undefine입니다.