My 언어의 몇 가지 일반적인 지표 작성 및 크로스 지표 모델의 사례 분석

저자:선함, 2019-07-08 10:01:48, 업데이트: 2019-07-16 15:38:53

발명자 양자 플랫폼의 My 언어는 기능이 매우 통합되고 기능이 강력한 양자 프로그래밍 언어이며, 양자 초보자를 위해 고안되었습니다. 비록 많은 초보자들에 의해 인기가 있지만 기능적으로 다른 프로그래밍 언어보다 약간 열등합니다. 깊이 사용자 지정하는 측면에서 일부 복잡한 전략은 이미 사용자 정의 된 함수库로 인해 매우 강력하며, 발명자 양자 플랫폼 자체와 함께 주요 거래소의 API 인터페이스에 대한 우수한 지원으로 인해 많은 코드를 작성하는 시간을 절약 할 수있을뿐만 아니라 전략 논리 설계에 집중 할 수 있습니다. 또한 매우 낮은 비용으로 (매일 3원 이하의 가격) 걱정할 필요가 없습니다.

My 언어는 국내 상품 선물뿐만 아니라 디지털 통화 관련 거래에도 기능 차이 없이 지원합니다.

이 문서에서는 몇 가지 일반적인 지표의 작성과 몇 가지 크로스 지표 모델의 사례 분석을 소개합니다.

몇 가지 일반적인 지표 분류와 작성

  • 전통적인 클래식 K 라인 형태는: 삼다공 까마귀, 십자 별, 머리 부러진 다리, 기둥, 신사 지문, 금针探底 등이 있습니다.

  • 지표의 측면에서는, 트렌드 지표가 MA (평선 조합), BOLL, PUBU (폭포 라인), SAR (정지점) 등으로 나다.

  • 오비게이션 클래스 지표: ATR (진실 파장), KDJ (작정 지표), MACD, WR (윌리엄 지표) 등

  • 양조량 분석 지표 CJL (전매량) 、DUALVOL (다중공량 비율) 、OBV (전력량)

다음으로, My Language를 사용하여 발명자의 정량화 플랫폼에서 위의 고전적인 형태와 지표를 개별적으로 구현하도록 합시다. 이러한 목표는 독자가 직접적으로 이러한 지표를 사용할 수 있도록 하는 것이 아니라 (물론, 특정 조건에서 직접적으로 사용하는 것은 문제가 될 수 없습니다), 독자가 이러한 지표에 따라 시기를 검토하고 시장 및 자신의 자금 관리 상황에 따라 고전을 개선 할 수 있도록 하는 것입니다.

대양선: 오픈 가격은 최저 가격, 종료 가격은 최고 가격, K 라인의 상승률은 4% 이상입니다.

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

여기의 논리적인 합성 조건은 AA&&BB&&CC입니다.

헤드 브레이크: 두 개의 K 라인이 구성되어 있으며, 시장이 전환 될 것을 나타냅니다. 현재 K 라인의 오픈 수익은 최소 4%의 차이는 있습니다. 만약 상향 헤드 브레이크의 유형이라면, K 라인은 일출해야하며, 현재 K 라인의 최고 가격과 최저 가격은 첫 번째 K 라인을 덮어야합니다.

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

여기 논리적인 판단 조건은 BB&&B1&B2입니다.

트렌드 지표

  • 평선 교차선: 5일 평선이 10일 평선을 위로 통과한다 (金叉); 5일 평선이 10일 평선을 아래로 통과한다 (死叉)
MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10);
金叉 CROSSUP(MA5,MA10);
死叉 CROSSDOWN(MA5,MA10);

여기서 볼 수 있듯이, My 언어의 함수들은 매우 통합되어 있고, 평면적 교차를 판단하는 함수로서 사용자가 해야 할 일은 단지 호출하는 것뿐이며, 새로운 것부터 기본 논리로부터 각각의 함수를 구성할 필요가 없으며, 나중에 조정할 수 있는 더 편리합니다.

마찬가지로, 3개의 평균선에 대한 전략적 논리에서는, 5일 평균선, 10일 평균선, 30일 평균선, 그리고 3일 지속되는 평균선들이 여러 개 배열되어 있다고 가정하면 다음과 같이 쓸 수 있습니다.

MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10); 
MA30:=MA(CLOSE,30); 
CC:=MA5>MA30 AND MA10>MA30;
  • BOLL 채널: BOLL은 아래쪽 (BOTTOM), 위쪽 (TOP), 중쪽 (MID) 세 개의 채널로 구성됩니다. 채널이 넓어지고 상승할 때 가격이 위쪽 (BOLL) 에 위치하고 있으며, 상위쪽 (BOLT) 이 상위권에 위치하고 있습니다.

My 언어의 코드는 다음과 같이 나타낼 수 있습니다.

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;

이 중 다중 트렌드의 판단 조건은 AA&&BB입니다.

  • SAR (Stop Loss Point) 지표: SAR는 0을 거쳐 상승, 다중 트렌드; SAR는 0을 거쳐 하락, 빈 트렌드.

먼저 우리는 발명자의 양적 전략 코드 작성 인터페이스 아래의 매개 변수 과 재검토 페이지의 마이 언어 거래 클래스 라이브러리에서 다음과 같은 매개 변수를 정의합니다.

img img

N 1 100 4 단계 1 20 2 가치 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;

변동형 지표

어떤 거래 경험을 가진 사람이라면, 어떤 시장이든, 80%의 시간이 불황스러운 가격이며, 20%의 시간이 추세 방식으로 작동한다는 것을 알고 있습니다.

따라서 변동 지표는 유동 지표보다 더 중요하고 거래 결과에 더 큰 영향을 미치며 대부분의 불안정한 시장에서 유동 지표는 거의 모두 실패합니다. 변동 지표는 가격의 변동에 따라 변합니다. 변동 지표는 무작위 지표라고도 할 수 있습니다.

휘날림 지표의 특징: 휘날림 지표 값의 변화에는 중간값이 있으며, 수평 영역을 상반부와 하반부로 나눌 수 있으며, 일반적으로 가격 변화에 반응하는 민감도이다.

트렌드 종목의 지표로 추세를 판단하고, 트렌드 종목의 변동 지표로 추세를 판단하는 것은 좋은 선택이다.

  • KDJ 무작위 지표는 K, D, J 세 줄로 구성되어 있으며 지표선은 0 ~ 100 사이로 변하고, J 라인은 20 이하로, J 라인은 80 이상으로, 오버 세일로 진입한다.
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;
  • MACD 지표의 평평한 이질적 평균은 쌍 지표의 이동 평균에서 발전한 것으로, 빠른 지표의 이동 평균 (EMA) 을 빼어 느린 지표의 이동 평균이다. MACD의 의미는 이중 이동 평균과 거의 동일하다. MACD가 음에서 양으로 전환될 때, 더 많은 신호를 한다.
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;

크로스 인디케이터 모델 사례

왜 우리는 지표를 넘어가야 할까요?

  • 첫 번째 이유는 모델의 크로스 지표, 기술적인 내부 요소가 공감하는 거래 아이디어로서 여러 가지 다른 분류 지표 거래 아이디어를 결합하여 거래 시기를 보는 것입니다.

  • 두 번째 이유는 트렌드 지표가 전체 시장에서 작동하지 않기 때문에, 변동 지표는 개별적으로 현재 시장 상태를 판단할 수 없으며 여러 지표가 결합된 분석이 필요합니다.

자주 생각하는 것

  • 트렌드 판단과 세밀한 분석이 결합되어 있습니다.
  • 여러 조건과 같은 판단이다.

충격 모델의 예

  • 유동 지수
ABS(CLOSE-REF(CLOSE,29))/(HHV(HIGH,30)-LLV(LOW,30))*100

특정 주기의 가격 변동을 측정한다: 지수가 연속적으로 작은 범위 내에서 변동하면 평준화 시장에 있고 그렇지 않으면 트렌드 시장에 있음을 나타냅니다.

소란 모델 거래 아이디어: 유동 지표 판단 정리, KDJ 오징어 지표 입점 및 출점

이 모델은 다음과 같이 쓸 수 있습니다.

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

트렌드 모델의 예

트렌드 모델 거래 생각: EMA는 상승 추세 또는 하락 추세를 판단; ADX 지수는 추세 변화의 정도, 추세 강입, 추세 약한 전망을 반영한다.

EMA는 트렌드를 판단하는 거래 시스템입니다.

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

EMA는 단지 다트렌드와 허리 트렌드를 판단할 수 있지만, 트렌드의 강도를 판단할 수 없습니다. 그래서 EMA는 시장 개척에 효과가 없습니다. 그래서 우리는 강한 트렌드를 나타내는 지표를 찾아야 합니다.

코드는 다음과 같습니다.

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

ADX는 상승 추세를 강하게 나타내고 ADX는 하락 추세를 약하게 나타냅니다.

img

그리고 그 두 가지를 합쳐 ADX와 EMA를 기반으로 한 거래 시스템을 만들었습니다.

코드는 다음과 같습니다.

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;

여러 가지 같은 지표가 같은 방향으로 판단됩니다. 정확한 분석으로 승률을 높여

여러 트렌드 지표를 찾아보기: 브린 통로 (BOLL), 돈치안 통로, 유선 동적 돌파구 시스템은 적응형 브린 통로와 적응형 돈치안 통로의 돌파구 시스템을 기반으로 합니다.

돈치안 통로: 미국 선물 시장의 전설적인 물리학자인 차드 데니스 (Richard Dennis) 가 발명한 것으로 해파리 법칙의 전신이다. 그것은 특정 주기에 (일반적으로 20개 경우에 변경 가능한 것으로 설정) 최고 가격과 최저 가격으로 구성되어 있으며, 가격이 상승 및 하락 궤도를 돌파할 때, 파업은 구매가 가능하다는 신호이며, 반대로 파업은 판매가 가능하다는 신호이다.

이 모든 것이 다른 사람들에게 영향을 미치기 때문입니다.

  • 어제 가격은 브린 통로보다 높았고, 그 날 주기가 도 통로보다 높았고, 더 많은 주문을 받았습니다.

  • 어제 가격은 브린 통로에서 내려갔고 그 날에는 도 통로에서 내려갔고, 빈 주문을 열어

  • 다중 주문을 보유할 때, 가격은 자율 출출 평균선보다 작고, 다중 주문은 저렴하다.

  • 공백화폐를 보유할 때, 가격은 자율 출출 평균선, 평평한 공백화폐보다 높습니다.

우리는 이렇게 쓸 수 있습니다.

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

작성 과정에서 주의해야 할 것은 My 언어에서 CROSSUP 함수, CROSSDOWN 함수와 <> 함수, <> 함수의 차이, 그리고 AND && 함수, OR 또는 OR 함수의 유연한 사용, 다조건 연결 연산자가 우선 순위 문제를 주목하는 것, 그리고 <>: <>와 <=> 함수의 차이, 그리고 마지막으로 동일한 변수와 매개 변수의 수정이다.

위의 몇 가지 일반적인 기술 지표와 그들의 조합 사용은 볼 수 있습니다. My 언어는 매우 강력한 스크립트 언어입니다. 친근한 초보자 학습 경험 외에도, 심지어는 정량화 전문가도이 지표와 문법의 조합을 유연하게 사용할 수 있습니다. 강력한 거래 전략을 만들 수 있습니다. 발명자의 정량화 플랫폼의 API 인터페이스의 우수한 지원과 함께, 정량화 개발자는 마침내 전략의 연구와 작성에 힘을 쏟을 수 있습니다.


더 많은

지프9마크

wwq4817좋아요.