C'est vrai! C'est vrai que c'est 30 lignes de code! J'ai l'habitude de lire les articles en 30 lignes seulement pour en avoir une idée macro!
Les paramètres de stratégie sont les suivants:
Paramètres | Décrire | Le type | Par défaut |
---|---|---|---|
Période rapide | Cycle de mise sur le marché | Numéros | 3 |
Période lente | Cycle de mise sur le marché | Numéros | 7 |
EntréePériode | Période d'observation | Numéros | 3 |
Période de sortie | Cycle de vente rapide | Numéros | 3 |
SortiePériode lente | Cycle de démarrage lent | Numéros | 7 |
Période de sortie | Période d'observation | Numéros | 1 |
Ratio de position | Proportion de postes | Numéros | 0.8 |
L'intervalle | Période de consultation ((secondes) | Numéros | 10 |
交易类库
Il est facile d'écrire des stratégies, sans avoir à se soucier de savoir si l'on doit 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 des variables
Le mot clévar
+ Nom de la variable, par exemplevar name = “小明”
Le cycle
while(循环条件){
// 将会重复执行的代码
}
Les conditions de la boucle sont vraies si le code est exécuté à plusieurs reprises dans {}; les conditions de la boucle sont fausses si la boucle est sautée.
Conditions de département
if (判断条件){
// 执行代码
} else {
// 执行代码
}
C'est très simple, la traduction est si (true) {exécute ce code} ce qui signifie que {exécute ce code}
Les valeurs
Une=
Le chiffre est une attribution, par exemple.
name = “张三”;
Il est facile de confondre l'attribution et l'équivalence.
Pour comparer==
Les deux équivalents,
Exemples“张三”==“李四”
C'est clair que le Tchang Tsu n'est pas Li Tsu.“张三”==“李四”
Je suis désolée.
API associée
Avant d'écrire une démo de la stratégie, nous avons analysé les API et les fonctions d'exportation de modèles utilisées dans la stratégie, avec des informations détaillées sur la documentation de l'API et le code source du modèle dans la quantification des inventeurs.
Le code de stratégie utilise également des fonctions de bibliothèque et des méthodes d'objets de JavaScript.
Vous trouverez plus d'informations sur JavaScript ci-dessus à l'adresse suivante:http://www.w3school.com.cn/jsref/jsref_obj_number.aspApprendre
Le schéma du processus est peint à la main, sans outils, comme un amateur.
Nous avons mis en place notre stratégie étape par étape
Toutes les entrées de programmes stratégiques sont des entrées de processus.main()
Une fonction, c'est-à-dire que la stratégie commence à fonctionner à partir de la fonction main.
Disque réel
La stratégie simple de 30 lignes est terminée! La stratégie Running! est en cours d'exécution, achetez l'opération.
Grâce à Inventor Quantitative, qui a fourni un code aussi léger, il y a beaucoup de stratégies open source sur Inventor Quantitative à apprendre et à améliorer avec de nombreux experts en quantification.
官方QQ群定期更新学习资源,为量化学习者铺平道路,登堂入室。
Vidéos d'accompagnement
http://v.youku.com/v_show/id_XMTUyNDY1NjQ2NA==.html
Les sources
FMZ_JHLa fonction $.GetAccount dans l'API a-t-elle été mise à jour en exchange.GetAccount?
Ils ont été tués.Je comprends le code, mais je ne sais pas ce que cette stratégie fait exactement.
:)Merci, petit rêve, ton article est très bien écrit.
Je vous en prie.Le tutoriel du propriétaire est très bien écrit, merci!
le bincoinMerci à mon propriétaire, je vais bien étudier.
Les courts-circuits de Wang Won vendent des stratégies à prix élevéElle est morte il y a longtemps.
L'inventeur de la quantification - un petit rêve$.GetAccount est la fonction d'exportation du modèle FMZ (le modèle est du code réutilisable, voir la description du modèle dans la documentation de l'API). $.GetAccount est la fonction d'exportation du modèle: https://www.fmz.com/strategy/10989. Les stratégies ci-dessus ne sont qu'une partie du code, sans paramètres de stratégie, et les stratégies complètes peuvent être recherchées en ligne droite sur la place des stratégies.
Ils ont été tués.C'est ce qui s'est passé.
L'inventeur de la quantification - un petit rêveIl s'agit de deux lignes horizontales, les lignes rapides traversent généralement des signaux d'achat, avec une plus grande probabilité d'augmentation (opération d'achat automatique du programme); les lignes rapides traversent généralement des signaux de vente, avec une plus grande probabilité de baisse (opération de vente automatique du programme).
L'inventeur de la quantification - un petit rêveJe ne suis pas très gentil, je vais faire plus de matériel d'apprentissage plus tard, merci pour votre soutien!
L'inventeur de la quantification - un petit rêveNous vous invitons à continuer! Merci pour votre soutien.