avatar of 发明者量化-小小梦 发明者量化-小小梦
Suivre Messages privés
4
Suivre
1271
Abonnés

Journal d'apprentissage quantitatif de l'inventeur (partie 3) (Mise à jour...)

Créé le: 2017-06-03 09:29:22, Mis à jour le: 2019-07-31 18:33:16
comments   1
hits   3820
  • ### Question n°1:

En cours d’utilisation_Quelques découvertes de la fonction N (documentation de l’API)

Journal d’apprentissage quantitatif de l’inventeur (partie 3) (Mise à jour…)

Journal d’apprentissage quantitatif de l’inventeur (partie 3) (Mise à jour…)

_N est utilisé pour traiter le nombre de floating-points en minuscules.

Voici un exemple de code:

  function main(){
      var pi = 3.1415926535897;    // 声明一个变量 储存 圆周率, 小数位数13位。
      Log(_N(pi, 4) * 100);        // 当我们使用 _N 函数 保留4位小数后 再 乘以 100 会是什么结果呢?
  }

Quand nous utilisons_Si on multiplie par 100, on obtient le résultat suivant.

J’ai commencé par penser_N (pi, 4) renvoie 3.1415, puis il est multiplié par 100 qui est égal à 314.15.

Résultats de l’opération:

Journal d’apprentissage quantitatif de l’inventeur (partie 3) (Mise à jour…)

#### J’ai utilisé explicitement N, mais je me demande pourquoi il y a autant de petits chiffres.

Pour afficher 314.15, il suffit d’écrire:

  function main(){
      var pi = 3.1415926535897;
      Log(_N(pi * 100, 2));
  }

Journal d’apprentissage quantitatif de l’inventeur (partie 3) (Mise à jour…)

### Et si c’était le cas ?_Le premier paramètre N est une valeur de chaîne de caractères qui peut provoquer une erreur:

Code de test :

  function main(){
      var pi = "3.1415";     // 传入 字符串 3.1415 , 很多时候解析出来的数据没有检查类型,可能会误传入字符串。
      _N(pi, 2);
  }

J’ai vraiment mis les pieds dans ce trou, et les données que j’ai trouvées sont une chaîne de caractères, et j’ai vu les erreurs ci-dessous.

Journal d’apprentissage quantitatif de l’inventeur (partie 3) (Mise à jour…)

DEBUG a mis du temps à trouver la cause, mais il est possible d’en savoir plus.


  • ### Question 2: Dans Safari, un robot exécute la page Log de sortie affiche les problèmes

Après avoir été testé dans Safari, un robot exécute une page, si une fois que le contenu de la sortie du journal est trop important, cela peut entraîner la suppression de l’information du journal et l’affichage d’un espace vide. Le navigateur Chrome a été testé et peut être affiché normalement.

  • ### Question 3: Problème de mise à jour de la barre d’état

La mise à jour de la barre d’état, c’est-à-dire que chaque fois que vous appelez la fonction LogStatus de l’API pour afficher le contenu, le mécanisme de requête est déclenché si la page de journal actuelle n’est pas sur la première page, et la barre d’état de la page du robot n’affiche plus les mises à jour. Lorsque la page du journal est sélectionnée comme première page, la barre d’état est restaurée.

  • ### Question 4: Quand j’étais débutant, j’ai copié directement le code qui m’intéressait dans ma stratégie, et j’ai trouvé que la rétroaction et le disque dur étaient tous les deux faux.

Par exemple, le message d’erreur de cet utilisateur:

#### Le disque dur:

Journal d’apprentissage quantitatif de l’inventeur (partie 3) (Mise à jour…)

#### Backtesting :

Journal d’apprentissage quantitatif de l’inventeur (partie 3) (Mise à jour…)

Ces deux erreurs sont dues à l’utilisation de variables non définies.

#### Pourquoi ?

La raison en est que le code a été copié directement dans la stratégie, et certaines stratégies ont été copiées directement dans la stratégie.paramètreC’est une stratégie.Paramètres de l’interfacePar défaut. Définir un paramètre sur l’interface de stratégieVariable de paramètreC’est l’équivalent d’une déclaration dans le code de la stratégie.Variables globales Si c’est juste une copie du code Peut-être utilisé dans le codeVariables de l’interface de stratégie (paramètres)On est dans un état indéfini Si vous voulez tester la stratégie de quelqu’un d’autre, il est préférable de copier la stratégie entière.

#### Par exemple, la page de copie de cette stratégie (le type de stratégie qui est ouvert est accessible en cliquant sur la place de la stratégie):

Cliquez sur le bouton Copier, cliquez sur le bouton Copier et cliquez sur le bouton Copier en ligne, c’est la copie complète de la stratégie.

Journal d’apprentissage quantitatif de l’inventeur (partie 3) (Mise à jour…) Journal d’apprentissage quantitatif de l’inventeur (partie 3) (Mise à jour…)

  • ### Question 5: API de l’échange AEX Erreur: GetOrders: type assertion to[]interface{} failed 。

Ce type d’erreur peut être causé par l’absence de configuration d’une liste blanche d’adresses IP KEY de l’API de l’échange. L’ajout d’une adresse IP à la liste blanche peut résoudre ce problème.

  • ### Question 6: Les pertes sur le marché de l’or et les pertes flottantes

La perte d’épargne à terme, également appelée perte d’épargne à la carte, si vous achetez 2480 pièces d’acier à vis à une main, quel que soit le nombre de jours de négociation, le prix actuel est de 2520, la perte d’épargne à vis est de 400 yuans, la perte d’épargne à terme indique la perte de la position actuelle par rapport au prix d’ouverture; la perte d’épargne à terme sur le marché de l’acier à vis à vis, également appelée perte d’épargne sur le marché de l’acier à vis, si vous détenez plusieurs billets d’acier à vis à une main, le dernier jour de négociation est de 2500 et le prix actuel est de 2520, la perte d’épargne sur le marché de l’acier à vis à vis est de 200 yuans, la perte d’épargne sur le marché de l’acier à vis représente la perte de votre position actuelle par rapport au prix de clôture d’un jour de négoci

  • ### Question 7:

La somme des valeurs et des variables indéfinies donne le résultat Nan, et celle des objets et des objets indéfinis donne undefined.

  function main(){
      var a = 11// {aa : "aa", bb : 12}
      var b = {}
      Log(a + b.c)

  }
  • ### Question n°8: Quelle est la différence ?

TypeError: cannot read property ‘Sleep’ of undefined at main (Erreur de type: ne peut pas lire la propriété ‘Sleep’ of undefined at main)FILE:103)

    var id2 = e.Sell(ticker.Sell + ticker.Sell * 0.05, 0.1)

    var order2 = e.GetOrder(id2)
    Log("order2:", order).

    Sleep(2000)               # 103 行, 这里报错。

J’ai regardé pendant une demi-journée et je n’arrive pas à comprendre. En lisant attentivement, vous trouverez Log ((“order2:”, order). Si vous vous posez des questions aussi étranges, pensez à cette scène.

  • ### 9/ Que se passe-t-il si les robots et les modérateurs s’affichent normalement, mais que les robots réels ne fonctionnent pas et que les journaux ne sont pas mis à jour ?

Il n’y a pas de journal, c’est comme si c’était programmé.

La raison: les anciens fichiers DB3 ont atteint 25 G Les serveurs de cloud étrangers ont explosé

_En cas de problème, vérifiez attentivement l’emplacement de l’ordinateur ou du serveur, le disque dur et l’état du système.

La vidéo a été mise à jour régulièrement.