getposition Cette fonction ne donne pas d'erreur sans position

Auteur:Jiaozheng, Créé: 2018-04-12 16:36:42, mis à jour:

Comment déboguer ce problème? Utilisez le code suivant pour obtenir des informations sur les positions si votre compte ne dispose pas de positions. pendant (true) { Var position=_C (exchange.GetPosition)

Si vous avez une position nulle Poursuite Je ne sais pas. type=position[0].Type Si le type est long Si le prix de vente est supérieur au prix de vente, CancelPendingOrders (en anglais seulement) Exchange.SetDirection (en anglais seulement) Le prix de vente est le prix de l'échange. Exsell = prix de vente Je ne sais pas. Je ne sais pas. Lorsqu'il n'y a pas de position dans le compte, getposition devrait être obtenu comme une plage vide, donc l'exécution continue dans l'instruction if permet de redémarrer le cycle, mais le test de disque réel donne toujours un retour d'erreur. TypeError: cannot read property Type of undefined at main (Type de non-défini à l'adresse principale)Le dossier:129)

J'ai essayé de modifier une condition dans if, comme position[0]==null ou typeof(position) ==undefined, qui ne fonctionne pas ou qui exécuterait le type type=position[0].

Comment résoudre ce problème?


Plus de

Je suis désolée.La solution est la suivante: Var position = _C (exchange.GetPosition); si (position.length > 0) Je ne sais pas. // Veuillez mettre le code dans cette parenthèse. Le principe est le suivant: Déterminez la longueur de l'array retournée par cette fonction de détention, si la longueur est supérieure à 0, cela signifie qu'il y a des informations de détention, vous ne pouvez pas juger directement avec null, non-définir. Je ne sais pas.

yumountJ'ai rencontré le même problème, et j'ai senti qu'il était nécessaire de configurer une fonction d'erreur pour exchange.GetPosition séparément, sinon la fonction serait presque totalement inutilisable sans le stockage. Par ailleurs, demandez à l'hôte comment cela s'est terminé.

Le petit rêveJ'ai regardé le post et j'ai trouvé le problème, quand vous appelez exchange.GetPosition (()) si vous n'avez pas de stock, il renvoie [], un tableau vide, ce tableau vide n'est pas égal à null, c'est à vous de juger Quand position == est nulle, c'est faux, donc on ne déclenche pas continue, puis vous accédez à position[0] Cet élément n'existe pas, donc c'est undefine, puis vous appelez son attribut Type et vous obtenez une erreur.