Des exemples d'analyse de plusieurs indicateurs courants écrits et de modèles inter-indicateurs dans My Language

Auteur:La bonté, Créé: 2019-07-08 10:01:48, Mis à jour: 2019-07-16 15:38:53

Le langage My de la plate-forme de quantification des inventeurs est un langage de programmation quantifiée hautement intégré et fonctionnel, conçu pour les débutants en quantification. Bien qu'il soit populaire auprès des débutants, il est légèrement inférieur aux autres langages de programmation en termes de fonctionnalités. En ce qui concerne la personnalisation en profondeur de certaines stratégies complexes, il est très puissant en raison de la bibliothèque de fonctions déjà personnalisée, ainsi que la plate-forme de quantification des inventeurs elle-même pour les interfaces API des principaux échanges.

Mon langage ne s'applique pas seulement aux contrats à terme sur les produits nationaux, il est également compatible avec les transactions liées aux monnaies numériques sans différence de fonctionnement.

Cet article présente la rédaction de plusieurs indicateurs courants et l'analyse de cas de plusieurs modèles inter-indicateurs.

Classification et rédaction de plusieurs indicateurs couramment utilisés

  • Les formes traditionnelles de la ligne K classique comprennent: la corbeille à trois pattes, l'étoile croisée, la tête brisée, un pilier, le doigt du Sénateur, le fond de l'aiguille, etc.

  • En ce qui concerne les indicateurs, les indicateurs de tendance sont divisés en: MA (composition de ligne moyenne), BOLL, PUBU (ligne de chute), SAR (point de rupture) et ainsi de suite.

  • Les indicateurs de type oscillant: ATR (largeur d'onde réelle), KDJ (indicateur aléatoire), MACD, WR (indicateur William) etc.

  • L'indicateur d'analyse de la quantité de stockage CJL (volume de livraison) ∆ DUALVOL (proportion de quantité d'espace libre) ∆ OBV (volume d'énergie)

Ensuite, nous allons réaliser les formes et les indicateurs classiques ci-dessus individuellement sur la plate-forme de quantification des inventeurs de My Language, non pas pour que le lecteur utilise ces indicateurs directement (bien sûr, il n'y a pas de problème à les utiliser directement dans certaines conditions), mais pour que le lecteur puisse examiner les tendances actuelles en fonction de ces indicateurs et les améliorer en fonction de la situation du marché et de sa propre gestion des fonds.

La ligne du soleil: le prix d'ouverture est le prix le plus bas, le prix de clôture est le prix le plus élevé, la ligne K a augmenté de plus de 4%

AA:=OPEN=LOW; 
BB:=CLOSE=HIGH; 
CC :=CLOSE/OPEN>1.04; 

Les conditions de jugement logiques sont: AA&&BB&&CC

La ligne K est composée de deux lignes K, ce qui indique que le marché va se tourner, et que la ligne K actuelle a une déviation d'au moins 4% en termes d'ouverture. Si c'est le type de ligne K qui se déplace vers le haut, la ligne K devrait être ensoleillée, tandis que le prix le plus élevé et le prix le plus bas de la ligne K actuelle couvrent la première ligne K.

A1:=REF(CLOSE,1); 
A2:=REF(OPEN,1); 
BB:C/O>1.04;
B1:=OPEN<A1; 
B2:=CLOSE>A2;

Les conditions de jugement logiques ici sont: BB&&B1&&B2.

Indicateurs de tendance

  • Croisée de la ligne moyenne: 5 jours de ligne moyenne en amont à travers la ligne moyenne de 10 jours (Golden Fork); 5 jours de ligne moyenne en bas à travers la ligne moyenne de 10 jours (Dead Fork)
MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10);
金叉 CROSSUP(MA5,MA10);
死叉 CROSSDOWN(MA5,MA10);

Comme vous pouvez le voir, les fonctions de My sont très intégrées, une fonction qui juge le croisement de l'équation, que l'utilisateur doit simplement appeler, sans avoir à construire chaque fonction à partir de la nouvelle logique sous-jacente, ce qui est beaucoup plus pratique pour les modifications ultérieures.

De même, pour la logique stratégique des trois moyennes, en supposant qu'il y ait plusieurs moyennes de 5 jours, moyennes de 10 jours, moyennes de 30 jours, et que cela dure 3 jours, nous pouvons écrire ceci:

MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10); 
MA30:=MA(CLOSE,30); 
CC:=MA5>MA30 AND MA10>MA30;
  • BOLL: le BOLL est constitué de trois canaux: Bottom, Top et Mid. Lorsque le canal s'élargit et monte, le prix est au-dessus de la trajectoire et une tendance multi-tête se produit.

Le code My peut s'écrire comme ceci:

MID:MA(CLOSE,26);//求N个周期的收盘价均线,称为布林通道中轨
TMP2:=STD(CLOSE,26);//求M个周期内的收盘价的标准差
TOP:MID+2*TMP2;//布林通道上轨
BOTTOM:MID-2*TMP2;//布林通道下轨
AA:=TOP>REF(TOP,1)&&BOTTOM<REF(BOTTOM,1)&&MID>REF(MID,1);
BB:=C>TOP;

Les critères de jugement pour cette tendance sont: AA&&BB

  • Indicateur SAR (point de rupture): SAR à la hausse à travers 0, tendance à la hausse; SAR à la baisse à travers 0, tendance à la baisse;

Tout d'abord, nous avons défini les paramètres suivants dans la bibliothèque de négociation de la langue Mac sous l'interface d'écriture de code de la stratégie de quantification des inventeurs:

img img

N 1 100 4 Étape 1 20 2 VALEUR 1 10 2

STEP1:=STEP/100;
MVALUE1:=MVALUE/10;
SARLINE:SAR(N,STEP1,MVALUE1),CIRCLEDOT;
//N个周期的抛物转向,步长为STEP1,极限值为MVALUE1.
CROSS(SARLINE,0),BPK;//抛物转向值上穿0,做多。
CROSS(0,SARLINE),SPK;//抛物转向值下穿0,作空。
AUTOFILTER;

Indicateurs de catégorie oscillant

Ceux qui ont de l'expérience dans le trading savent que, quel que soit le marché, les prix sont volatiles 80% du temps et que les prix évoluent de manière tendance seulement 20% du temps.

Les indicateurs de tendance sont donc plus importants que les indicateurs de tendance et ont une plus grande influence sur les résultats des transactions, et dans la plupart des marchés volatiles, les indicateurs de tendance sont pratiquement tous inefficaces. Les indicateurs de tendance peuvent varier en fonction des fluctuations des prix, les indicateurs de tendance peuvent également être appelés indicateurs aléatoires.

Caractéristiques de l'indicateur de type oscillant: la variation de la valeur de l'indicateur oscillant a une valeur médiane qui peut être divisée en zones horizontales supérieures et inférieures, généralement sensibles aux changements de prix.

Il est préférable de déterminer la tendance à l'arrivée avec un indicateur de la catégorie des tendances, et de déterminer la tendance à la fin avec un indicateur de la catégorie des oscillations.

  • L'indicateur aléatoire KDJ est composé de trois lignes K, D et J, qui varient entre 0 et 100, la ligne J est inférieure à 20, entre dans la zone d'excédent, la ligne J est supérieure à 80 et entre dans la zone d'excédent.
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值。
K:SMA(RSV,M1,1);//RSV的移动平均值
D:SMA(K,M2,1);//K的移动平均值
J:3*K-2*D;
BACKGROUNDSTYLE(1);
CROSS(K,D),BPK;//KD金叉,做多。
CROSS(J,20),BP;//J值上穿20
CROSS(D,K),SPK;//KD死叉,做空。
CROSS(80,J),SP;// J值下穿80
AUTOFILTER;
  • L'indice MACD est une moyenne asymétrique lisse, qui a été développée à partir d'une moyenne mobile binaire, avec une moyenne mobile rapide moins une moyenne mobile lente.
DIFF:EMA(CLOSE,12) - EMA(CLOSE,26);
//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA:EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均
2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线
CROSS(DIFF,DEA),BPK;//DIFF上穿DEA,做多。
CROSS(DEA,DIFF),SPK;//DIFF下穿DEA,做空。
AUTOFILTER;

Modèle de cas

Pourquoi nous dépasser les indices?

  • La première raison: les indicateurs croisés dans le modèle sont une idée de négociation en résonance avec des éléments techniques internes, qui combine plusieurs idées de négociation d'indicateurs de catégories différentes pour faire des transactions.

  • La deuxième raison: les indicateurs de tendance ne fonctionnent pas dans l'ensemble du marché, les indicateurs d'oscillation ne peuvent pas être utilisés seuls pour déterminer l'état actuel du marché et nécessitent une analyse combinée de plusieurs indicateurs.

Je pense souvent

  • Les tendances sont jugées avec une analyse minutieuse.
  • Le multi-conditionnement est synonyme de jugement.

Exemple de modèle de choc

  • Indice des marées
ABS(CLOSE-REF(CLOSE,29))/(HHV(HIGH,30)-LLV(LOW,30))*100

Mesure des fluctuations des prix sur une certaine période: les fluctuations successives de l'indice dans une petite plage indiquent qu'il est dans un marché en pleine croissance ou dans un marché tendance.

Idées de trading sur les modèles de turbulences: évaluation de l'indice des marées, indice de l'oscillation KDJ pour trouver les points d'entrée et de sortie

Le modèle peut être écrit comme ceci:

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,M1,1);//RSV的移动平均值
D:SMA(K,M2,1);//K的移动平均值
J:3*K-2*D;
CMIVAL:ABS(CLOSE-REF(CLOSE,29))/(HHV(HIGH,30)-LLV(LOW,30))*100,NODRAW;
BACKGROUNDSTYLE(1);
K>D&&EVERY(CMIVAL<20,2),BPK;//盘整行情,KD金叉,做多。
CROSS(J,10)||CROSS(K,D),BP;// J值上穿10超卖或者KD金叉,平仓
D>K&&EVERY(CMIVAL<20,2),SPK;//盘整行情,KD死叉,做空。
CROSS(90,J)||CROSS(D,K),SP;// J值下穿90超买或者KD死叉,平仓
AUTOFILTER;

img

Exemples de modèles de tendance

Modèle de tendance: l'EMA détermine la tendance haussière ou la tendance baissière; l'indice ADX reflète le degré de variation de la tendance, une forte entrée de tendance et une faible observation de tendance.

L'EMA est en train d'évaluer le système de négociation:

UPPERMA:EMA(HIGH,30);//计算30根K线最高价的EMA
LOWERMA:EMA(LOW,30);//计算30根K线最低价的EMA
CROSSUP(C,UPPERMA),BPK;//收盘价上穿EMA,做多
CROSSDOWN(C,LOWERMA),SPK;//收盘价下穿EMA,做空
AUTOFILTER;

img

L'EMA ne peut juger que de la tendance à la hausse et à la baisse, mais pas de la tendance à la faiblesse. L'EMA est donc inefficace dans le regroupement du marché, nous devons donc rechercher un indicateur qui reflète la tendance à la hausse: l'indice ADX.

Le code est le suivant:

TR:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);
HD:=HIGH-REF(HIGH,1);//最高价与前一周期最高价做差
LD:=REF(LOW,1)-LOW;//前一周期最低价与最低价做差
DMP:=SUM(IFELSE(HD>0 && HD>LD,HD,0),14);
//如果HD>0并且HD>LD,取HD否则取0,对取值做N周期累加求和。
DMM:=SUM(IFELSE(LD>0 && LD>HD,LD,0),14);
//如果LD>0并且LD>HD,取LD否则取0,对取值做N周期累加求和。
PDI:=DMP*100/TR;
MDI:=DMM*100/TR;
ADX:=MA(ABS(MDI-PDI)/(MDI+PDI)*100,6);

L'ADX indique une forte tendance à la hausse et l'ADX une faible tendance à la baisse.

img

Nous avons ensuite combiné les deux pour créer un système de trading basé sur ADX et EMA.

Le code est le suivant:

TR:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);
HD:=HIGH-REF(HIGH,1);
LD:=REF(LOW,1)-LOW;
DMP:=SUM(IFELSE(HD>0 && HD>LD,HD,0),14);
DMM:=SUM(IFELSE(LD>0 && LD>HD,LD,0),14);
PDI:=DMP*100/TR;
MDI:=DMM*100/TR;
ADX:=MA(ABS(MDI-PDI)/(MDI+PDI)*100,6);
UPPERMA:=EMA(HIGH,30);
LOWERMA:=EMA(LOW,30);
CROSSUP(C,UPPERMA)&&EVERY(ADX>REF(ADX,1),2),BPK;
//当ADX连续两周期向上且当前价大于30根K线最高价的EMA满足买入条件
CROSSDOWN(C,LOWERMA)&&EVERY(ADX>REF(ADX,1),2),SPK;
//当ADX连续两周期向上且当前价下于30根K线最低价的EMA满足卖出条件
AUTOFILTER;

Plusieurs indicateurs similaires sont jugés dans le même sens Des analyses précises pour améliorer les chances de gagner

La recherche de plusieurs indicateurs de tendance: le canal de Boll (BOLL), le canal de Dongch'an, le système de rupture dynamique homogène est un système de rupture basé sur le canal de Boll et le canal de Dongch'an.

Le canal de Donchian: inventé par le physicien américain Richard Dennis, légendaire du marché des contrats à terme, est le précurseur de la loi de la tempête. Il est composé de prix les plus élevés et les plus bas sur une certaine période (généralement 20, dans certains cas, il est configuré pour être modifiable) qui forment une trajectoire ascendante et descendante.

Le modèle multi-indicateur:

  • Hier, le prix était supérieur à celui du tunnel de Bryn, et le prix du cycle était supérieur à celui du tunnel de Dongcheng ce jour-là.

  • Hier, le prix était inférieur à celui du tunnel de Brin, et le prix du cycle était inférieur à celui du tunnel de Dongcheon, ouvrant un compte vide.

  • Le prix est inférieur à la ligne moyenne de sortie d'adaptation, le prix est plus bas.

  • Le prix est supérieur à la ligne moyenne de sortie d'adaptation, le prix est supérieur à la ligne moyenne de sortie, le prix est supérieur à la ligne moyenne de sortie d'adaptation.

Nous pouvons écrire ceci:

//当日市场波动
TODAYVOLATILITY:=STD(CLOSE,30);
//昨日市场波动
YESTERDAYVOLATILITY:=REF(TODAYVOLATILITY,1);
//市场波动的变动率
DELTAVOLATILITY:(TODAYVOLATILITY-YESTERDAYVOLATILITY)/TODAYVOLATILITY;
//计算自适应参数
LOOKBACKDAYS1:=LOOP2(BARPOS=30,20,REF(LOOKBACKDAYS1,1)*(1+DELTAVOLATILITY));
LOOKBACKDAYS2:=ROUND(LOOKBACKDAYS1,0);
LOOKBACKDAYS3:=MIN(LOOKBACKDAYS2,60);//60自适应参数的上限
LOOKBACKDAYS:=MAX(LOOKBACKDAYS3,20);//20自适应参数的下限
//自适应布林通道中轨
MIDLINE:=MA(CLOSE,LOOKBACKDAYS);
BAND:=STD(CLOSE,LOOKBACKDAYS); 
//自适应布林通道上轨
UPBAND:=MIDLINE+2*BAND;
//自适应布林通道下轨
DNBAND:=MIDLINE-2*BAND; 
//自适应唐奇安通道上轨
BUYPOINT:=HHV(HIGH,LOOKBACKDAYS);
//自适应唐奇安通道下轨
SELLPOINT:=LLV(LOW,LOOKBACKDAYS);
//自适应出场均线
LIQPOINT:=MIDLINE;
//昨日价格大于布林通道上轨,并且当日价格大于唐奇安通道上轨,开多单
REF(C,1)>REF(UPBAND,1)&&HIGH>=REF(BUYPOINT,1),BK;
//持有多单时,昨日价格小于布林通道下轨,并且当日价格小于唐奇安通道下轨,平多单
REF(C,1)<REF(DNBAND,1)&&LOW<=REF(SELLPOINT,1),SP;
//持有多单时,价格小于自适应出场均线,平多单
BARSBK>=1&&LOW<=REF(LIQPOINT,1),SP;
//持有空单时,昨日价格大于布林通道上轨,并且当日价格大于唐奇安通道上轨,平空单
REF(C,1)>REF(UPBAND,1)&&H>=REF(BUYPOINT,1),BP;
//昨日价格小于布林通道下轨,并且当日价格小于唐奇安通道下轨,开空单
REF(CLOSE,1)<REF(DNBAND,1)&&LOW<=REF(SELLPOINT,1),SK;
//持有空单时,价格大于自适应出场均线,平空单
BARSSK>=1&&HIGH>=REF(LIQPOINT,1),BP;
AUTOFILTER;

Au cours de l'écriture, il est important de noter que dans My, le chrome CROSSUP, le chrome CROSSDOWN et le chrome > chrome, le chrome < chrome différent; ainsi que l'utilisation flexible du chrome AND &&, le chrome ou le chrome OR, les opérateurs de connexion multiconditionnels qui prennent en compte les questions de priorité; et le chrome: chrome et chrome: = chrome différent; enfin, la modification des mêmes variables et paramètres.

En plus de l'expérience d'apprentissage pour débutants, même un expert en quantification peut utiliser ces indicateurs et la grammaire de manière flexible pour créer des stratégies de trading puissantes, avec l'excellente prise en charge de l'interface API de la plate-forme de quantification de l'inventeur, les développeurs de quantification peuvent enfin vraiment mettre toute leur énergie dans la recherche et la rédaction de stratégies, au lieu de mettre toute leur énergie dans l'architecture sous-jacente des systèmes de négociation sans aucune relation avec les transactions quantitatives, en particulier ces dernières années, les restrictions sur les transactions à haute fréquence sont de plus en plus strictes, que ce soit pour les monnaies numériques ou pour la période des marchandises nationales.


Plus de

- Je vous en prie.Je ne sais pas.

le numéro de sérieÇa va.