C’est vrai ! Vous avez bien entendu, c’est 30 lignes de code ! J’ai l’habitude d’écrire 30 lignes de code et de regarder le code en entier pour avoir une vue d’ensemble !
Les paramètres de la stratégie sont les suivants:
| paramètre | décrire | taper | Par défaut |
|---|---|---|---|
| FastPeriod | Cycle de mise sur le marché | Type de chiffre | 3 |
| SlowPeriod | Cycle d’entrée sur le marché | Type de chiffre | 7 |
| EnterPeriod | Période d’observation | Type de chiffre | 3 |
| ExitFastPeriod | Cycle de ligne rapide hors de la ville | Type de chiffre | 3 |
| ExitSlowPeriod | Cycle de délocalisation | Type de chiffre | 7 |
| ExitPeriod | Période d’observation | Type de chiffre | 1 |
| PositionRatio | Pourcentage de positions | Type de chiffre | 0.8 |
| Interval | Cycle de sondage (s) | Type de chiffre | 10 |

交易类库C’est facile de faire des stratégies sans avoir à faire des listes pour savoir si on va acheter ou vendre.function main() {
var STATE_IDLE = -1;
var state = STATE_IDLE;
var opAmount = 0;
var initAccount = $.GetAccount();
Log(initAccount);
while (true) {
if (state === STATE_IDLE) {
var n = $.Cross(FastPeriod, SlowPeriod);
if (Math.abs(n) >= EnterPeriod) {
opAmount = parseFloat((initAccount.Stocks * PositionRatio).toFixed(3));
var obj = n > 0 ? $.Buy(opAmount) : $.Sell(opAmount);
if (obj) {
opAmount = obj.amount;
state = n > 0 ? PD_LONG : PD_SHORT;
Log("开仓详情", obj, "交叉周期", n);
}
}
} else {
var n = $.Cross(ExitFastPeriod, ExitSlowPeriod);
if (Math.abs(n) >= ExitPeriod && ((state === PD_LONG && n < 0) || (state === PD_SHORT && n > 0))) {
var obj = state === PD_LONG ? $.Sell(opAmount) : $.Buy(opAmount);
state = STATE_IDLE;
var nowAccount = $.GetAccount();
LogProfit(nowAccount.Balance - initAccount.Balance, '钱:', nowAccount.Balance, '币:', nowAccount.Stocks, '平仓详情:', obj, "交叉周期", n);
}
}
Sleep(Interval*1000);
}
}
Déclaration de la variable
En utilisant des mots clésvar+ Nom de la variable, par exemplevar name = “小明”
Le cycle
while(循环条件){
// 将会重复执行的代码
}
Si la condition de cycle est vraie, le code est exécuté de manière répétée dans {}. Si la condition de cycle est fausse, le code sort du cycle.
Branche conditionnelle
if (判断条件){
// 执行代码
} else {
// 执行代码
}
C’est très simple, la traduction est si (true) (exécuter ce code) et si (exécuter ce code)
Attribuer une valeur
Une seule.=Le nombre est une attribution, par exemple.
name = “张三”;
C’est en donnant un nom à un nom que l’on confond une valeur avec une équivalence.
C’est une comparaison==Deux chiffres égaux.
Des exemples“张三”==“李四”Il est clair que Zhang Tsé n’est pas Li Qi.“张三”==“李四”Pourquoi ?
API liée
Avant de démontrer et d’écrire une stratégie, nous avons examiné les API et les fonctions d’exportation de modèles utilisés dans la stratégie. La documentation de l’API et le code source du modèle sont détaillés dans le document Inventor Quantum.
Le code de la stratégie utilise également les fonctions de bibliothèque et les méthodes d’objets de Javascript.
Vous trouverez plus d’informations à ce sujet sur le site JavaScript Number Objects http://www.w3school.com.cn/jsref/jsref_obj_number.asp
Le schéma du programme est dessiné à la main sans utiliser d’outils, c’est très amateur.

Notre stratégie, pas à pas
Toutes les entrées des programmes de stratégie sont des entrées de type “c’est une erreur”.main()La fonction, c’est-à-dire la stratégie, est exécutée en commençant par la fonction main.





Offre ferme
Nous avons déployé le code sur un robot hôte, nous avons créé un système de gestion de base de données, nous avons créé un système de gestion de base de données, nous avons créé un système de gestion de base de données, nous avons créé un système de gestion de base de données. La stratégie de Running! est en cours d’exécution.

Merci à InventorQuantum pour ce code simple, il y a beaucoup de stratégies open source sur InventorQuantum que vous pouvez apprendre et améliorer, et progresser avec beaucoup d’experts en quantification.
官方QQ群定期更新学习资源,为量化学习者铺平道路,登堂入室。
Accompagnement par des vidéos
http://v.youku.com/v_show/id_XMTUyNDY1NjQ2NA==.html
À lire