J’ai écrit des stratégies dans le langage Mac, qui est très simple et qui est très rapide à mettre en œuvre, mais je n’ai pas pu l’étendre plus tard pour ajouter d’autres fonctionnalités. J’ai réimplémenté les stratégies précédentes avec JS, mais j’ai rencontré quelques problèmes:
Première question: Mac Langue achète en position ouverte, vend en position ouverte, et ils vont au prix limite de la commande, mais le prix limite est le prix de clôture en temps réel ou acheter au prix d’achat et vendre au prix d’achat.
La logique que j’ai mise en place avec JS est la suivante: lors de l’achat, le dernier prix de clôture en temps réel + des points de glissement sont utilisés pour la commande de clôture, mais il y a des commandes en attente.
Mais j’utilise le code suivant, qui génère une erreur chaque fois qu’il n’y a pas de commande en cours. TypeError: Cannot read properties of undefined (reading ‘Id’). Il y a des solutions à trouver.
var wei_order =exchange.GetOrders (); // commandes qui n’ont pas été exécutées
while (wei_order)
// J’ai essayé avec while (wei_order!=)[]) ou while (wei_order!=null) n’est toujours pas résolu, mon idée est que la variable wei_order ne traite que les commandes en attente
// Cependant, la condition de définition de ce while n’est pas utile, et l’exécution de la commande génère une erreur: TypeError: Cannot read properties of undefined (reading ‘Id’), et je veux annuler la commande quand il n’y a pas de commande qui a été passée, et refaire la commande avec un prix plus élevé.
{
var wei_order_id =wei_order[0].Id;
exchange.CancelOrder(wei_order_id);
Sleep(1000);
order_id = exchange.Buy(now_records.Close+ huadian, KaiCangNum);
Sleep(5000);
}
Deuxième question: comme il y a des commandes en attente, j’ai utilisé la fonction exchange.GetPosition (..) pour obtenir le nombre de positions en attente, et quand j’ai vendu, j’ai trouvé une commande en attente qui indiquait que je n’avais pas assez de positions en attente.
Troisième question: pour les bons de commande, comment faire des commandes en maintenant un bon profit (ne pas vouloir faire des commandes au prix du marché), comment traiter les commandes non exécutées (réessayer plusieurs fois, combien de temps entre les commandes) Comment s’assurer que le nombre de positions est correct sans montrer que les positions sont insuffisantes ?