Análisis de casos de varios indicadores comunes escritos en My Language y modelos entre indicadores

El autor:La bondad, Creado: 2019-07-08 10:01:48, Actualizado: 2019-07-16 15:38:53

El lenguaje My de Inventor's Quantified Platform es un lenguaje de programación cuantitativa altamente integrado y con fuertes funciones, diseñado para los principiantes de la cuantificación. Aunque es popular entre los principiantes, no es un poco inferior en función a otros lenguajes de programación. En cuanto a la personalización profunda de algunas estrategias complejas, la base de funciones ya personalizada es muy potente, junto con el soporte excelente de la plataforma de Inventor's Quantified Platform para las interfaces API de los principales intercambios, lo que no solo te permite ahorrar mucho tiempo en escribir código, sino que también puede centrarse principalmente en el diseño de la lógica estratégica, y el costo extremadamente bajo (precio de hasta 3 yuan por día), lo que te deja sin preocupaciones.

My language no solo es para futuros de productos domésticos, sino también para transacciones relacionadas con monedas digitales sin diferencias de función.

En este artículo se presentará la redacción de algunos indicadores comunes y el análisis de casos de varios modelos trans-indicadores.

Clasificación y redacción de algunos indicadores comunes

  • Las formas tradicionales de la línea K clásica incluyen: tortuga de tres patas, estrella cruzada, cabeza rota, un pilar del cielo, el camino de los sánscritos, el fondo de la aguja de oro, etc.

  • En cuanto a los indicadores, los indicadores de tendencia se dividen en: MA (combinación de línea media), BOLL, PUBU (línea de caída), SAR (punto de parada), etc.

  • Indicadores de tipo oscilante: ATR (amplitud real), KDJ (indicador aleatorio), MACD, WR (indicador de William), etc.

  • Indicadores de análisis de almacenes CJL (volumen de transacción), DUALVOL (proporción de espacio libre), OBV (volumen de energía)

A continuación, vamos a implementar las formas y indicadores clásicos anteriores en la plataforma de cuantificación de los inventores en My Language, no para que el lector los use directamente (por supuesto, en ciertas condiciones, el uso directo también puede no ser un problema), sino para que el lector pueda evaluar las tendencias de tiempo en función de estos indicadores y mejorarlos en función de la situación del mercado y su propia gestión de fondos.

Línea de Sol: el precio de apertura es el precio más bajo, el precio de cierre es el precio más alto, el aumento de la línea K es mayor al 4%.

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

La lógica de la combinación de criterios es AA&&BB&&CC.

Pérdida de cabeza: dos líneas de K se componen, lo que indica que el mercado va a cambiar, y el valor de apertura de la línea de K actual es de al menos un 4%. Si es el tipo de cabeza que se rompe hacia arriba, entonces la línea de K debe salir al sol, mientras que el precio más alto y el precio más bajo de la línea de K actual deben cubrir la primera línea de K.

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

La lógica de la sentencia aquí es: BB&&B1&B2

Indicadores de tendencia

  • Cruce de la línea media: 5 días de la línea media hacia arriba a través de la línea media de 10 días (forceta de oro); 5 días de la línea media hacia abajo a través de la línea media de 10 días (forceta muerta)
MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10);
金叉 CROSSUP(MA5,MA10);
死叉 CROSSDOWN(MA5,MA10);

Aquí se puede ver que las funciones de My son altamente integradas, una función que juzga el cruce lineal, lo que el usuario tiene que hacer es llamar, no tiene que construir una función de nuevo y desde la lógica subyacente, y es mucho más fácil de modificar más adelante.

De la misma manera, para la lógica estratégica de las tres medias, suponiendo que las medias de 5 días, 10 días y 30 días están en varias filas y duran 3 días, podemos escribir:

MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10); 
MA30:=MA(CLOSE,30); 
CC:=MA5>MA30 AND MA10>MA30;
  • Canal BOLL: BOLL está compuesto por tres canales: Bottom, Top y Mid. Cuando el canal se ensancha y sube, el precio está por encima de la línea superior, y la tendencia es de varios puntos.

El código en mi lenguaje se puede escribir así:

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;

La mayoría de las tendencias son AA&&BB.

  • Indicador SAR (punto de parada): SAR hacia arriba a través de 0, tendencia de cabeza; SAR hacia abajo a través de 0, tendencia de cabeza vacía.

Primero definimos los siguientes parámetros en la librería de transacciones de Mac en la página de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros de parámetros.

img img

N 1 100 4 Paso 1 20 2 VALOR VALOR 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;

Indicadores de clase oscilante

Cualquiera que tenga alguna experiencia en el comercio sabe que, en cualquier mercado, los precios son inestables el 80% de las veces y que los precios tratan de forma trending solo el 20% de las veces.

Por lo tanto, los indicadores oscilantes son más importantes que los indicadores tendenciales y influyen más en el resultado de las transacciones, y en la mayoría de los mercados turbulentos, los indicadores tendenciales son prácticamente inactivos. Mientras que los indicadores oscilantes pueden variar con los cambios en los precios, los indicadores oscilantes también se pueden llamar indicadores aleatorios.

Características de los indicadores oscilantes: el cambio en el valor del indicador oscilante tiene un valor medio que puede dividirse en la mitad superior y la mitad inferior del área horizontal, generalmente sensible a los cambios de precio.

Para juzgar la tendencia, se utiliza un indicador de tendencia, y para juzgar la tendencia, se utiliza un indicador de oscilación.

  • El indicador aleatorio KDJ se compone de tres líneas K, D y J, que varían entre 0 y 100, la línea J es inferior a 20, entra en la zona de superventa, la línea J es superior a 80 y entra en la zona de supercompra.
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;
  • El MACD es una media heterogénea plana, que se desarrolla a partir de una media móvil de dos índices y que se reduce a una media móvil de índices rápidos (EMA) menos una media móvil de índices lentos.
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;

Modelo de casos de indicadores

¿Por qué hemos de cruzar los indicadores?

  • La primera razón: el indicador cruzado en el modelo, es una idea de negociación con resonancia de elementos técnicos internos, que combina varias ideas de negociación de indicadores de diferentes categorías para hacer un balance.

  • La segunda razón es que los indicadores de tendencia no funcionan en el mercado entero, los indicadores de oscilación por sí solos no pueden determinar el estado actual del mercado y requieren un análisis combinado de varios indicadores.

El pensamiento común

  • El análisis de tendencias se combina con un análisis minucioso.
  • La mayoría de las condiciones son idénticas.

Ejemplos de modelos de conmoción

  • Indice de las mareas
ABS(CLOSE-REF(CLOSE,29))/(HHV(HIGH,30)-LLV(LOW,30))*100

Mide la fluctuación de los precios en un determinado ciclo: la fluctuación del índice en un pequeño intervalo indica que el índice está en el mercado de balance o en el mercado de tendencia.

Ideas de negociación de modelos de oscilación: el índice de fluctuación determina el balance, el índice de oscilación KDJ busca puntos de entrada y puntos de salida

Este modelo se puede escribir así:

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

Ejemplos de modelos de tendencia

El EMA determina si la tendencia es alcista o decreciente; el índice ADX refleja el grado de variación de la tendencia, una fuerte entrada de tendencia y una tendencia débil.

El EMA está evaluando las tendencias del sistema de negociación:

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

La EMA solo puede juzgar las tendencias multitendencias y de baja, pero no puede juzgar la fortaleza de la tendencia, por lo que la EMA falla en el balance del mercado, por lo que necesitamos buscar un indicador que pueda reflejar una tendencia fuerte y débil: el índice ADX.

El código es el siguiente:

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);

El ADX indica una tendencia fuerte hacia arriba y el ADX indica una tendencia débil hacia abajo.

img

Y luego las combinamos para formar un sistema basado en ADX y EMA.

El código es el siguiente:

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;

Muchos de los mismos indicadores para la misma dirección Mejorar las probabilidades de ganar con análisis precisos

Busque varios indicadores de tendencia: el canal de Boll, el canal de Dongchian, el sistema de ruptura dinámica lineal es un sistema de ruptura basado en el canal de Boll y el canal de Dongchian.

El canal de Donchian: fue inventado por el físico estadounidense Richard Dennis, un legendario del mercado de futuros, y es el precursor de la ley de las tortugas. Está compuesto por precios máximos y mínimos en un ciclo determinado (generalmente 20, en los casos establecidos como variables) que se forman en el tren ascendente y descendente, cuando el precio rompe la trayectoria ascendente y descendente, el tren ascendente es una señal de compra posible; por el contrario, el tren descendente es una señal de venta posible.

La idea de un modelo de negociación multiindicador:

  • Ayer el precio fue más alto que el de Brin, y el precio del ciclo de ese día fue más alto que el de Dongguan.

  • Ayer el precio fue menor que el tren de Brin, y el precio del ciclo del día fue menor que el tren de Dongcheon.

  • Cuando se mantienen múltiples órdenes, el precio es menor que la línea media de salida de adaptación, el precio es más bajo.

  • Cuando se mantiene un billete vacío, el precio es mayor que la línea media de salida adaptada, el billete vacío plano.

En el caso de los bloggers, el nombre de los bloggers puede ser:

//当日市场波动
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;

En el proceso de escritura, hay que tener en cuenta que en el lenguaje My, el símbolo CROSSUP, el símbolo CROSSDOWN y el símbolo > y, la diferencia entre el símbolo < y, y el uso flexible del símbolo AND &, el símbolo OR o el símbolo OR, los operadores de conexión multicondicional prestan atención a la cuestión de la prioridad. También hay símbolos: símbolo y símbolo: = símbolo. Finalmente, hay una modificación de las mismas variables y parámetros.

Aparte de una experiencia de aprendizaje amigable para principiantes, incluso un experto en cuantificación puede usar la combinación flexible de estos indicadores y la gramática para crear estrategias de negociación poderosas, con el excelente apoyo de la interfaz API de la plataforma de cuantificación de los inventores, los desarrolladores de cuantificación finalmente pueden poner realmente toda su energía en la investigación y la redacción de estrategias, en lugar de en la arquitectura subyacente de los sistemas de negociación que no tienen nada que ver con las transacciones cuantitativas, especialmente en estos años. Las restricciones a las transacciones de alta frecuencia son cada vez más estrictas, ya sea en monedas digitales o en el período de carga de productos domésticos.


Más.

el giso9¿Qué es eso?

¿Qué es esto?Está bien.