My-Sprache für die Erstellung von mehreren gängigen Indikatoren und für die Analyse von Fallstudien von Cross-Indikator-Modellen

Schriftsteller:Gutes, Erstellt: 2019-07-08 10:01:48, Aktualisiert: 2019-07-16 15:38:53

Die My-Sprache der Erfinder-Quantifizierungsplattform ist eine funktional hochintegrierte und leistungsstarke Quantifizierungsplattform, die speziell für Quantifizierungsanfänger entwickelt wurde. Obwohl sie für viele Anfänger beliebt ist, ist sie in der Funktionalität etwas schlechter als andere Programmiersprachen.

Die My-Sprache ist nicht nur für inländische Commodity-Futures geeignet, sondern auch für digital Währungstransaktionen.

In diesem Artikel werden einige der gängigen Indikatoren erstellt und einige Fallanalysen von mehreren cross-indicator Modellen durchgeführt.

Einige häufig verwendete Indikatoren werden klassifiziert und geschrieben

  • Traditionelle klassische K-Linienformationen umfassen: Dreifüße Krähe, Kreuzstern, Kopfbrecher, eine Himmelspfeiler, Sendai-Zehen, Goldnadel-Boden usw.

  • In Bezug auf die Indikatoren sind die Trendkategorien in folgenden Kategorien unterteilt: MA (Gleichlinienkombination), BOLL, PUBU (Falllinien), SAR (Stopppunkte) usw.

  • Die Schwingungsklasse zeigt: ATR (echte Wellenlänge), KDJ (zufällige Wellenlänge), MACD, WR (William-Wellenlänge) usw.

  • Der Analyseindikator CJL (Versorgungsvolumen), DUALVOL (Versorgungsvolumenverhältnis) und OBV (Versorgungsmenge)

Lassen Sie uns nun die oben genannten klassischen Formen und Indikatoren einzeln auf der Quantifizierungsplattform der Erfinder in My Language realisieren. Der Zweck ist es nicht, den Leser direkt mit diesen Indikatoren zu versorgen (natürlich kann es unter bestimmten Bedingungen auch kein Problem sein, sie direkt zu verwenden), sondern den Lesern die Möglichkeit zu geben, sich auf der Grundlage dieser Indikatoren zu informieren und diese Klassiken entsprechend der Lage der Branche und ihrer eigenen Finanzverwaltung zu verbessern.

Die Sonnenlinie: Der Eröffnungspreis ist der niedrigste Preis, der Abschlusspreis ist der höchste Preis, und die K-Linie ist um mehr als 4% gestiegen.

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

Die logischen Komplettkriterien hier sind: AA&&BB&&CC

Kopf- und Fußbruch: Zwei K-Linien zeigen, dass der Markt sich wenden wird, und die aktuelle K-Line hat einen Ausfall von mindestens 4%. Wenn es sich um den Typ mit dem Kopf- und Fußbruch handelt, sollte die K-Line sonnenuntergehen, wobei der höchste und der niedrigste Preis der aktuellen K-Line die erste K-Line abdecken.

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

Die logischen Urteilsbedingungen hier sind: BB&&B1&B2

Indikatoren der Trendkategorie

  • Durchschnittslinie: 5-tägige Durchschnittslinie nach oben über die 10-tägige Durchschnittslinie (Goldfork); 5-tägige Durchschnittslinie nach unten über die 10-tägige Durchschnittslinie (Todfork)
MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10);
金叉 CROSSUP(MA5,MA10);
死叉 CROSSDOWN(MA5,MA10);

Hier sehen Sie, dass die Funktionsfunktionen der My-Sprache hoch integriert sind, eine Funktion, die eine gleichförmige Kreuzung beurteilt, die der Benutzer einfach anrufen muss, ohne dass er von neuem und von der Grundlogik aus einzelne Funktionen erstellen muss, und die für spätere Modifikationen einfacher ist.

Genauso können wir für die strategische Logik von drei Durchschnittslinien, wenn wir 5-, 10- und 30-Tage-Durchschnittslinien anordnen, die 3 Tage dauern, wie folgt schreiben:

MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10); 
MA30:=MA(CLOSE,30); 
CC:=MA5>MA30 AND MA10>MA30;
  • BOLL-Kanal: BOLL besteht aus Bottom, Top und MID. Wenn der Kanal breiter und höher wird, tritt der Preis über dem Bottom ein.

Die Code in der My-Sprache kann so geschrieben werden:

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;

Die Kriterien für die Bestimmung dieser Trends sind AA&&BB.

  • SAR (Stopp-Point) Indikator: SAR aufwärts durch 0, mehrköpfige Tendenz; SAR nach unten durch 0, leere Tendenz.

Zunächst definieren wir die folgenden Parameter in der MAC-Language-Transaktions-Klassiker unter der Inventor-Quantified-Strategy-Code-Writing-Interface für die Parameter-Klammer und die Retest-Seite:

img img

N 1 100 4 Schritt 1 20 2 Wert 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;

Schwingungsklassenindikatoren

Jeder, der etwas Erfahrung mit dem Handel hat, weiß, dass die Preise in jedem Markt 80 Prozent der Zeit in Erschütterungen sind und nur wenige 20 Prozent der Zeit in Trendläufen laufen.

Daher sind Schwank-Indikatoren wichtiger als Trend-Indikatoren und haben einen größeren Einfluss auf das Ergebnis der Transaktionen, und in den meisten pulsierenden Märkten sind Trend-Indikatoren im Großen und Ganzen fehlerhaft. Während sich Schwank-Indikatoren mit den Preisschwankungen verändern, können Schwank-Indikatoren auch als Zufallsindikatoren bezeichnet werden.

Merkmale der Schwankenden: Die Veränderung des Schwankenden hat einen mittleren Wert, der in die oberen und unteren Hälften des horizontalen Bereichs unterteilt werden kann, der im Allgemeinen auf die Reaktionsempfindlichkeit auf Preisänderungen reagiert.

Es ist eine gute Option, einen Trend mit einem Trendindikator zu beurteilen, der einen Trend mit einem Schwingungsindikator beurteilt.

  • Der KDJ-Zufallsindikator besteht aus drei Linien K, D und J, die zwischen 0 und 100 schwanken, die J-Linie unter 20 und die J-Linie über 80 in die Überverkaufszone gelangen.
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;
  • Der MACD-Index ist eine schlanke Divergenz-Durchschnittslinie, die sich aus einer beidseitigen gleitenden Durchschnittslinie entwickelt hat, die aus einer schnellen gleitenden Durchschnittslinie (EMA) abzüglich einer langsamen gleitenden Durchschnittslinie besteht.
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;

Ein Beispiel für ein Modell mit mehreren Indikatoren

Warum müssen wir die Kennzahlen überschreiten?

  • Der erste Grund: Der Modell-Cross-Indicator ist eine Handelsidee, die sich durch die Resonanz der technischen Elemente zwischen verschiedenen Klassifikationsindizern kombiniert.

  • Der zweite Grund ist, dass Trendindikatoren in der Gesamtmarktwirtschaft nicht funktionieren, und die Verwendung von Schwankungsindikatoren allein kann den aktuellen Marktzustand nicht bestimmen, und mehrere Indikatoren müssen kombiniert analysiert werden.

Ich denke oft

  • Trends werden mit genauer Analyse kombiniert.
  • Mehrbedingtes Urteilen ist gleich.

Ein Beispiel für ein Schockmodell

  • Flutindex
ABS(CLOSE-REF(CLOSE,29))/(HHV(HIGH,30)-LLV(LOW,30))*100

Die Messung der Preisfluktuation innerhalb eines bestimmten Zeitraums: Die kontinuierliche Schwankung des Index in einem kleinen Bereich zeigt, dass sich der Index in einem Aufholmarkt befindet oder ansonsten in einem Trendmarkt ist.

Schwankungsmodell-Trading-Ideen: Flut-Index-Urteilsvergleich, KDJ-Swing-Indikator findet Ein- und Ausstiegspunkte

Das Modell kann so geschrieben werden:

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

Beispiele für Trendmodelle

Trendmodell-Trading: Die EMA entscheidet, ob es sich um einen Aufwärtstrend oder einen Abwärtstrend handelt; der ADX-Index spiegelt den Grad der Veränderung des Trends, den starken Eintritt des Trends und die schwachen Aussichten des Trends wider.

Die EMA beurteilt Trends in den Handelssystemen:

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

Die EMA kann nur über mehrere Trends und Abwärtstrends entscheiden, aber nicht über die Stärke und Schwäche der Trends, so dass die EMA bei der Marktrechnung fehlschlägt, so dass wir nach einem Indikator suchen müssen, der einen starken und schwachen Trend darstellt: der ADX-Index.

Der Code lautet:

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

Die ADX zeigt einen starken Aufwärtstrend und die ADX zeigt einen schwachen Abwärtstrend.

img

Dann haben wir die beiden zusammengefügt, um ein ADX- und EMA-basiertes Handelssystem zu schaffen.

Der Code lautet:

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;

Mehrere gleichartige Indikatoren sind in gleicher Richtung zu beurteilen Mit genauer Analyse erhöhen Sie Ihre Gewinnchancen

Suche nach mehreren Trendindikatoren: Boll-Kanal (BOLL), Dongjian-Kanal, einheitliche dynamische Durchbruchssysteme basieren auf adaptivem Boll-Kanal und adaptivem Dongjian-Kanal

Donchian-Kanal: Erfunden von US-amerikanischem Futures-Markt-Legende-Physiker Richard Dennis, Vorläufer des Flutgesetzes. Es besteht aus einem Höchst- und einem Mindestpreis in einem bestimmten Zyklus (in der Regel 20, in Fällen als veränderbar eingestellt), der sich auf und ab bewegt.

Das ist ein Beispiel, wie wir das tun können.

  • Gestern waren die Preise höher als im Brin Tunnel, und an diesem Tag waren die Zykluspreise höher als im Dongch'an Tunnel.

  • Gestern waren die Preise niedriger als bei Brin Tunnel, und an diesem Tag waren die Zykluspreise niedriger als bei Dongch'an Tunnel.

  • Bei mehreren Bestellungen ist der Preis niedriger als der durchschnittliche Anpassungssatz und die Bestellung ist preiswert.

  • Bei Haltung von leeren Aufträgen ist der Preis größer als die Anpassung an die Ausgangsgleichung, ebenen leeren Aufträgen

Wir können es so schreiben:

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

Während des Schreibprozesses ist zu beachten, dass in der My-Sprache die CROSSUP-Klammern, die CROSSDOWN-Klammern und die CROSS>Klammern, die Unterschiede zwischen den Klammern und den Unterschieden zwischen den Klammern und den Unterschieden zwischen den Unterschieden zwischen den Klammern und den Unterschieden zwischen den Unterschieden zwischen den Klammern und den Unterschieden zwischen den Unterschieden zwischen den Klammern und den Unterschieden zwischen den Unterschieden zwischen den Klammern und den Unterschieden zwischen den Unterschieden zwischen den Klammern und den Unterschieden zwischen den Unterschieden zwischen den Klammern und den Unterschieden zwischen den Klammern.

Wie Sie sehen können, ist My Language eine sehr leistungsstarke Skriptsprache, die neben einer anfängerfreundlichen Lernerfahrung auch für einen Quantitativ-Fachmann eine flexible Kombination aus diesen Indikatoren und der Grammatik nutzen kann, um eine leistungsstarke Handelsstrategie zu erstellen, die mit der hervorragenden Unterstützung der API-Schnittstelle der Quantitationsplattform der Erfinder unterstützt wird. Die Quantitationsentwickler können endlich ihre Energie auf die Forschung und Erstellung von Strategien konzentrieren, anstatt sich auf die Basisstrukturen der Handelssysteme zu konzentrieren, die nichts mit Quantitationshandel zu tun haben.


Mehr

Gyp9Das ist Mark.

WWQ4817Das ist gut.