Inventor Quantified Mylang ドキュメント

作成日:: 2018-11-30 13:29:33, 更新日:: 2022-12-09 17:46:10
comments   24
hits   35602

有效周期开始计算,到现在为止的周期数。 2、条件第一次成立的当根k线上BARSCOUNT(COND)的返回值为0。

例:
BARSCOUNT(MA(C,4));                       // 计算MA(C,4)第一次有返回值到当前的周期数
```
  • BARSLAST

    前回の条件が成立した場所

    BARSLAST(COND),上一次条件COND成立到当前的周期数。
    
    
    注:
    1、条件成立的当根k线上BARSLAST(COND)的返回值为0。
    
    
    例1:
    BARSLAST(OPEN>CLOSE);                     // 上一根阴线到现在的周期数
    例2:
    N:=BARSLAST(DATE<>REF(DATE,1))+1;         // 分钟周期,当日k线数
    // 由于条件成立的当根k线上BARSLAST(COND)的返回值为0,所以“+1”才是当日k线根数
    

    例示するBARSLAST関数:

    • 1 ⇒ 現在のK線条件が成立する場合は 0 を返します.
    • 2. 成立しない場合は,条件が成立したK線が見つけるまで,ずっと前へ遡り,遡った周期数返します.
    • 3 条件が成立するK行が,その末端まで遡って見つからない場合は, null を返します.
  • BARSSINCE

    最初の条件は,現在の周期数まで成立する.

    BARSSINCE(COND)第一个条件成立到当前的周期数。
    
    
    注:
    1、返回值为COND第一次成立到当前的周期数。
    2、条件第一次成立的当根k线上BARSSINCE(COND)的返回值为0。
    
    
    例:
    BARSSINCE(CLOSE>OPEN);                    // 统计第一次满足阳线这个条件的K线到现在的周期数
    
  • BARSSINCEN

    統計のN周期の中で最初の条件が成立して現在の周期の数である。

    BARSSINCEN(COND,N)统计N周期内第一次条件成立到当前的周期数。
    
    
    注:
    1、N包含当前k线。
    2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算。
    3、若N为0返回无效值。
    4、N可以为变量。
    
    
    例:
    N:=BARSLAST(DATE<>REF(DATE,1))+1;        // 分钟周期,当日K线数
    BARSSINCEN(ISUP,N);                      // 统计N周期内第一次满足阳线到当前的周期数
    
  • CONDBARS

    条件A,Bを満たした最近のK線間周期の数を得る.

    CONDBARS(A,B);取得最近的满足A、B条件的k线间周期数。
    
    
    注意:
    1、该函数返回周期数不包含最后满足条件的K线。
    2、距离当前K线最近的满足的条件为B条件,则该函数返回值为最后一次满足A条件的K线到满足B条件的K线的周期数(A条件满足后的第一次满足B条件的K线)。
    距离当前K线最近的满足的条件为A条件,则该函数返回值为最后一次满足B条件的K线到满足A条件的K线的周期数(B条件满足后的第一次满足A条件的K线)。
    
    
    例1:
    MA5:=MA(C,5);                                        // 5周期均线
    MA10:=MA(C,10);                                      // 10周期均线
    CONDBARS(CROSSUP(MA5,MA10),CROSSDOWN(MA5,MA10));     // 最近一次满足5周期均线上穿10周期均线与5周期均线下穿10周期均线之间的周期数
    
  • COUNT

    統計総数

    COUNT(COND,N),统计N周期中满足COND条件的周期数。
    
    
    注:
    1、N包含当前k线。
    2、若N为0则从第一个有效值算起。
    3、当N为有效值,但当前的k线数不足N根,从第一根统计到当前周期。
    4、N 为空值时返回值为空值 。
    5、N可以为变量。
    
    
    例1:
    N:=BARSLAST(DATE<>REF(DATE,1))+1;                   // 分钟周期,当日k线数
    M:=COUNT(ISUP,N);                                   // 统计分钟周期上开盘以来阳线的根数
    例2:
    MA5:=MA(C,5);                                       // 定义5周期均线
    MA10:=MA(C,10);                                     // 定义10周期均线
    M:=COUNT(CROSSUP(MA5,MA10),0);                      // 统计从申请到的行情数据以来到当前这段时间内,5周期均线上穿10周期均线的次数
    
  • DMA

    移動平均は

    DMA(X,A):求X的动态移动平均,其中A必须小于1大于0。
    注:
    1、A可以为变量。
    2、如果A<=0或者A>=1,返回无效值。
    
    
    计算公式:DMA(X,A)=REF(DMA(X,A),1)*(1-A)+X*A
    
    
    例1:
    DMA3:=DMA(C,0.3);                                   // 计算结果为REF(DMA3,1)*(1-0.3)+C*0.3
    
  • EMA

    指数加重移動平均について

    EMA(X,N):求N周期X值的指数加权移动平均(平滑移动平均)。
    
    
    注:
    1、N包含当前k线。
    2、对距离当前较近的k线赋予了较大的权重。
    3、当N为有效值,但当前的k线数不足N根,按实际根数计算。
    4、N为0或空值时返回值为空值。
    5、N可以为变量。
    
    
    EMA(X,N)=2*X/(N+1)+(N-1)*REF(EMA(X,N),1)/(N+1)
    
    
    例1:
    EMA10:=EMA(C,10);                                  // 求收盘价10周期指数加权移动平均值
    
  • EMA2

    線形加重移動平均

    EMA2(X,N);                                        // 求N周期X值的线性加权移动平均(也称WMA)
    
    
    EMA2(X,N)=[N*X0+(N-1)*X1+(N-2)*X2+...+1*X(N-1)]/[N+(N-1)+(N-2)+...+1],X0表示本周期值,X1表示上一周期值
    
    
    注:
    1、N包含当前k线。
    2、当N为有效值,但当前的k线数不足N根,返回值为空值。
    3、N为0或空值时返回值为空值。
    4、N可以为变量。
    
    
    例1:
    EMA2(H,5);                                       // 求最高价在5个周期的线性加权移动平均值
    
  • EMAWH

    指数加重移動平均について

    EMAWH(C,N),指数加权移动平均,也叫平滑移动平均,采用指数加权方法,对距离当前较近的K线赋予了较大的权重。
    注:
    1、当N为有效值,当前的k线数不足N根时,或者前面周期的取值仍作用于当前周期时,EMAWH返回值为空值。
    因为EMAWH计算公式中着重考虑了当周期的权重,所以当周期较长,前面的周期取值对当前的影响越小,EMAWH从前面数据对当前周期不再影响时的取值开始显示,所以即使选择的数据起始时间不同,当前已经显示的K线的EMAWH的取值也不会发生变化。
    2、当N为0或空值时返回值均为空值。
    3、N不能为变量。
    
    
    EMAWH(C,N)=2*C/(N+1)+(N-1)*REF(EMAWH(C,N),1)/(N+1)
    
    
    注:
    EMAWH用法同EMA(C,N)
    
  • HARMEAN

    調整平均値について

    HARMEAN(X,N),求X在N个周期内的调和平均值。
    
    
    算法举例:HARMEAN(X,5)=1/[(1/X1+1/X2+1/X3+1/X4+1/X5)/5]
    
    
    注:
    1、N包含当前k线。
    2、调和平均值与倒数的简单平均值互为倒数。
    3、当N为有效值,但当前的k线数不足N根,函数返回空值。
    4、N为0或空值的情况下,函数返回空值。
    5、X为0或空值的情况下,函数返回空值。
    6、N可以为变量。
    
    
    例:
    HM5:=HARMEAN(C,5);                              // 求5周期收盘价的调和平均值
    
  • HHV

    最高値

    HHV(X,N):求X在N个周期内的最高值。
    
    
    注:
    1、N包含当前k线。
    2、若N为0则从第一个有效值开始算起。
    3、当N为有效值,但当前的k线数不足N根,按照实际的根数计算。
    4、N为空值时,返回空值。
    5、N可以是变量。
    
    
    例1:
    HH:=HHV(H,4);                                  // 求4个周期最高价的最大值,即4周期高点(包含当前k线)
    例2:
    N:=BARSLAST(DATE<>REF(DATE,1))+1;              // 分钟周期,日内k线根数
    HH1:=HHV(H,N);                                 // 在分钟周期上,日内高点
    
  • HV

    現在K線以外の最高値である.

    HV(X,N),求X在N个周期内(不包含当前k线)的最高值。
    
    
    注:
    1、若N为0则从第一个有效值开始算起(不包含当前K线)。
    2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算,第一根k线返回空值。
    3、N为空值时,返回空值。
    4、N可以是变量。
    
    
    例1:
    HH:=HV(H,10);                                 // 求前10根k线的最高点
    例2:
    N:=BARSLAST(DATE<>REF(DATE,1))+1;
    NN:=REF(N,N);
    ZH:=VALUEWHEN(DATE<>REF(DATE,1),HV(H,NN));    // 在分钟周期上,求昨天最高价
    例3:
    HV(H,5)和REF(HHV(H,5),1)的结果是一样的,用HV编写更加方便。
    
  • HHVBARS

    前の最も高い点の位置

    HHVBARS(X,N),求N周期内X最高值到当前周期数。
    
    
    注:
    1、若N为0则从第一个有效值开始算起(不包含当前K线)。
    2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算,第一根k线返回空值。
    3、N为空值时,返回空值。
    4、N可以是变量。
    
    
    例1:
    HHVBARS(VOL,0);                           // 求历史成交量最大的周期到当前的周期数(最大值那根k线上HHVBARS(VOL,0);的返回值为0,最大值后的第一根k线返回值为1,依次类推)
    例2:
    N:=BARSLAST(DATE<>REF(DATE,1))+1;         // 分钟周期,日内k线根数
    ZHBARS:=REF(HHVBARS(H,N),N)+N;            // 在分钟周期上,求昨天最高价所在的k线到当前k线之间的周期数
    
  • LLV

    最低値

    LLV(X,N),求X在N个周期内的最小值。
    
    
    注:
    1、N包含当前k线。
    2、若N为0则从第一个有效值开始算起。
    3、当N为有效值,但当前的k线数不足N根,按照实际的根数计算。
    4、N为空值时,返回空值。
    5、N可以是变量。
    
    
    例1:
    LL:=LLV(L,5);                            // 求5根k线最低点(包含当前k线)
    例2:
    N:=BARSLAST(DATE<>REF(DATE,1))+1;        // 分钟周期,日内k线根数
    LL1:=LLV(L,N);                           // 在分钟周期上,求当天第一根k线到当前周期内所有k线最低价的最小值
    
  • LV

    このK線以外での最小値.

    LV(X,N),求X在N个周期内的最小值(不包含当前k线)。
    
    
    注:
    1、若N为0则从第一个有效值开始算起。
    2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算。
    3、N为空值时,返回空值。
    4、N可以是变量。
    
    
    例1:
    LL:=LV(L,10);                               // 求前面10根k线的最低点(不包含当前k线)
    例2:
    N:=BARSLAST(DATE<>REF(DATE,1))+1;           // 分钟周期,日内k线根数
    NN:=REF(N,N);
    ZL:=VALUEWHEN(DATE<>REF(DATE,1),LV(L,NN));  // 在分钟周期上,求昨天最低价
    例3:
    LV(L,5)和REF(LLV(L,5),1)的结果是一样的,用LV编写更加方便。
    
  • LLVBARS

    前最低点の位置について

    LLVBARS(X,N),求N周期内X最低值到当前周期数。
    
    
    注:
    1、若N为0则从第一个有效值开始算起(不包含当前K线)。
    2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算,第一根k线返回空值。
    3、N为空值时,返回空值。
    4、N可以是变量。
    
    
    例1:
    LLVBARS(VOL,0);                       // 求历史成交量最小的周期到当前的周期数(最小值那根k线上LLVBARS(VOL,0);的返回值为0,最小值后的第一根k线返回值为1,依次类推)
    例2:
    N:=BARSLAST(DATE<>REF(DATE,1))+1;     // 分钟周期,日内k线根数
    ZLBARS:=REF(LLVBARS(L,N),N)+N;        // 在分钟周期上,求昨天最低价所在的k线到当前k线之间的周期数
    
  • MA

    算数移動平均は

    MA(X,N),求X在N个周期内的简单移动平均。
    
    
    算法:MA(X,5)=(X1+X2+X3+X4+X5)/5
    注:
    1、N包含当前k线。
    2、简单移动平均线沿用最简单的统计学方式,将过去某特定时间内的价格取其平均值。
    3、当N为有效值,但当前的k线数不足N根,函数返回空值。
    4、N为0或空值的情况下,函数返回空值。
    5、N可以为变量。
    
    
    例1:
    MA5:=MA(C,5);                         // 求5周期收盘价的简单移动平均
    例2:
    N:=BARSLAST(DATE<>REF(DATE,1))+1;     // 分钟周期,日内k线根数
    M:=IFELSE(N>10,10,N);                 // k线超过10根,M取10,否则M取实际根数
    MA10:=MA(C,M);                        // 在分钟周期上,当天k线不足10根,按照实际根数计算MA10,超过10根按照10周期计算MA10
    
  • MV

    平均値を取ると

    MV(A,...P),取A到P的均值。
    
    
    注:
    1、支持取2-16个数值的均值。
    2、A...P可以为数字也可以为变量。
    
    
    例1:
    MV(CLOSE,OPEN);                      // 取收盘价和开盘价的平均值
    
  • NUMPOW

    自然数の平方根と

    NUMPOW(X,N,M),自然数幂方和。
    算法:
    NUMPOW(x,n,m)=n^m*x+(n-1)^m*ref(x,1)+(n-2)^m*ref(x,2)+...+2^m*ref(x,n-2)+1^m*ref(x,n-1)
    
    
    注意:
    1、N为自然数,M为实数;且N与M不能为变量。
    2、X为基础变量。
    
    
    例:
    JZ:=NUMPOW(C,5,2);
    
  • SAR

    パラダイブ・ターン

    SAR(N,STEP,MAX),返回抛物转向值。
    
    
    根据公式SAR(n)=SAR(n-1)+AF*(EP(n-1)-SAR(n-1))计算。
    
    
    其中:
    SAR(n-1):上根K线SAR的绝对值。
    AF:加速因子,当AF小于MAX时,逐根的通过AF+STEP累加,涨跌发生转换时,AF重新计算。
    EP:一个涨跌内的极值,在上涨行情中为上根K线的最高价;下跌行情中为上根K线的最低价。
    
    
    注:
    1、参数N,Step,Max均不支持变量。
    
    
    例1:
    SAR(17,0.03,0.3);                  // 表示计算17个周期抛物转向,步长为3%,极限值为30%
    
  • SMA

    拡大指数加重移動平均

    SMA(X,N,M) 求X的N个周期内的扩展指数加权移动平均,M为权重。
    
    
    计算公式:SMA(X,N,M)=REF(SMA(X,N,M),1)*(N-M)/N+X(N)*M/N
    注:
    1、当N为有效值,但当前的k线数不足N根,按实际根数计算。
    2、 N为0或空值的情况下,函数返回空值。
    
    
    例1:
    SMA10:=SMA(C,10,3);               // 求的10周期收盘价的扩展指数加权移动平均,权重为3
    
  • SMMA

    移動平均は

    SMMA(X,N),X为变量,N为周期,SMMA(X,N)表示当前K线上X在N个周期的通畅移动平均线
    算法:SMMA(X,N)=(SUM1-MMA+X)/N
    其中SUM1=X1+X2+.....+XN
    MMA=SUM1/N
    例1:
    SMMA(C,5);                       // 收盘价的5周期通畅移动平均线
    
  • SORT

    適切な位置で並べ替える

    SORT(Type,POS,N1,N2,...,N16);按升(降)序排列,取第POS个参数对应的值。
    
    
    注:
    1、当Type为0按升序排列,当Type为1按降序排列。
    2、TYPE,POS,不支持变量。
    3、N1,...,N16为参数,支持常量、变量,最多支持16个参数。
    
    
    例:
    SORT(0,3,2,1,5,3);              // 2、1、5、3按升序排列,取排列第三的数字3
    
  • SUM

    祈りを捧げる

    SUM(X,N),求X在N个周期内的总和。
    
    
    注:
    1、N包含当前k线。
    2、若N为0则从第一个有效值开始算起。
    3、当N为有效值,但当前的k线数不足N根,按照实际的根数计算。
    4、N为空值时,返回空值。
    5、N可以为变量。
    
    
    例1:
    SUM(VOL,25);表示统计25周期内的成交量总和。
    例2:
    N:=BARSLAST(DATE<>REF(DATE,1))+1;            // 分钟周期,日内k线根数
    SUM(VOL,N);                                  // 分钟周期上,取当天成交量总和
    
  • SUMBARS

    指定された値に周期数を累積する.

    SUMBARS(X,A),求累加到指定值的周期数。
    
    
    注:
    参数A支持变量。
    
    
    例1:
    SUMBARS(VOL,20000);将成交量向前累加直到大于等于20000,返回这个区间的周期数。
    
  • TRMA

    三角移動平均は

    TRMA(X,N),求X在N个周期的三角移动平均值。
    
    
    算法:三角移动平均线公式,是采用算数移动平均,并且对第一个移动平均线再一次应用算数移动平均。
    TRMA(X,N)算法如下:
    ma_half= MA(X,N/2)
    trma=MA(ma_half,N/2)
    
    
    注:
    1、N包含当前k线。
    2、当N为有效值,但当前的k线数不足N根,函数返回空值。
    3、N为0或空值的情况下,函数返回空值。
    4、N支持使用变量。
    
    
    例1:
    TRMA5:=TRMA(CLOSE,5);                        // 计算5个周期内收盘价的三角移动平均。(N不能被2整除)
                                                 // TRMA(CLOSE,5)=MA(MA(CLOSE,(5+1)/2)),(5+1)/2);
    例2:
    TRMA10:=TRMA(CLOSE,10);                      // 计算10个周期内收盘价的三角移动平均。(N能被2整除)
                                                 // TRMA(CLOSE,10)=MA(MA(CLOSE,10/2),(10/2)+1));
    
  • TSMA

    移動平均の時間序列

    TSMA(X,N),求X在N个周期内的时间序列三角移动平均。
    TSMA(a,n) 算法如下:
    ysum=a[i]+a[i-1]+...+a[i-n+1]
    xsum=i+i-1+..+i-n+1
    xxsum=i*i+(i-1)*(i-1)+...+(i-n+1)*(i-n+1)
    xysum=i*a[i]+(i-1)*a[i-1]+...+(i-n+1)*a[i-n+1]
    k=(xysum -(ysum/n)*xsum)/(xxsum- xsum/n * xsum) // 斜率
    b= ysum/n - k*xsum/n
    forcast[i]=k*i+b                                // 线性回归
    tsma[i] = forcast[i]+k                          // 线性回归+斜率
    
    
    注:
    1、当N为有效值,但当前的k线数不足N根,函数返回空值。
    2、N为0或空值的情况下,函数返回空值。
    3、N支持使用变量。
    例1:
    TSMA5:=TSMA(CLOSE,5);                           // 计算5个周期内收盘价的序列三角移动平均
    
  • 数学統計関数

    • ## AVEDEV

    平均絶対偏差

    AVEDEV(X,N),返回X在N周期内的平均绝对偏差。
    
    
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值。
    3、N为0时,该函数返回空值。
    4、N为空值,该函数返回空值。
    5、N不能为变量。
    
    
    算法举例:计算AVEDEV(C,3);在最近一根K线上的值。
    
    
    用麦语言函数可以表示如下:
    (ABS(C-(C+REF(C,1)+REF(C,2))/3)+ABS(REF(C,1)-(C+REF(C,1)+REF(C,2))/3)+ABS(REF(C,2)-(C+REF(C,1)+REF(C,2))/3))/3;
    
    
    例:
    AVEDEV(C,5);                       // 返回收盘价在5周期内的平均绝对偏差
                                       // 表示5个周期内每个周期的收盘价与5周期收盘价的平均值的差的绝对值的平均值,判断收盘价与其均值的偏离程度
    
    • ## COEFFICIENTR

    ピアソン関連係数

    COEFFICIENTR(X,Y,N),求X、Y在N个周期内的皮尔森相关系数。
    
    
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值。
    3、N为0时,该函数返回空值。
    4、N为空值,该函数返回空值。
    5、N可以为变量。
    
    
    算法举例:计算COEFFICIENTR(O,C,3);在最近一根K线上的值。
    用麦语言函数可以表示如下:
    (((O-MA(O,3))*(C-MA(C,3))+(REF(O,1)-MA(O,3))*(REF(C,1)-MA(C,3))+(REF(O,2)-MA(O,3))*(REF(C,2)-MA(C,3))) /(STD(O,3)*STD(C,3)))/(3-1);
    
    
    例:
    COEFFICIENTR(C,O,10);   //求在10个周期内的皮尔森相关系数
                            //皮尔森相关系数是衡量两个随机变量之间的相关程度的指标
    
    • ## CORRELATION

    関連系数

    CORRELATION(X,Y,N),求X、Y在N个周期内的相关系数。
    
    
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值。
    3、N为0时,该函数返回空值。
    4、N为空值,该函数返回空值。
    5、N可以为变量。
    
    
    算法举例:计算CORRELATION(O,C,3);在最近一根K线上的值。
    用麦语言函数可以表示如下:
    (((O-MA(O,3))*(C-MA(C,3))+(REF(O,1)-MA(O,3))*(REF(C,1)-MA(C,3))+(REF(O,2)-MA(O,3))*(REF(C,2)-MA(C,3))))/SQRT((SQUARE(O-MA(O,3))+SQUARE(REF(O,1)-MA(O,3))+SQUARE(REF(O,2)-MA(O,3)))*(SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3))));
    
    
    例:
    CORRELATION(C,O,10);    // 求在10个周期内的相关系数
                            // 相关系数是衡量两个随机变量之间的相关程度的指标
    
    • ## COVAR

    方程式差がある

    COVAR(X,Y,N) 求X、Y在N个周期内的协方差。
    
    
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值。
    3、N为0时,该函数返回空值。
    4、N为空值,该函数返回空值。
    5、N可以为变量。
    
    
    算法举例:计算COVAR(O,C,3);在最近一根K线上的值。
    用麦语言函数可以表示如下:
    (((O-MA(O,3))*(C-MA(C,3))+(REF(O,1)-MA(O,3))*(REF(C,1)-MA(C,3))+(REF(O,2)-MA(O,3))*(REF(C,2)-MA(C,3))) )/3;
    
    
    例:
    COVAR(C,O,10);          // 求在10个周期内的协方差
                            // 两个不同变量之间的方差就是协方差,如果两个变量的变化趋势一致,那么两个变量之间的协方差就是正值;如果两个变量的变化趋势相反,那么两个变量之间的协方差就是负值
    
    • ## DEVSQ

    データの偏差平方と △ を取得します.

    DEVSQ(X,N):计算数据X的N个周期的数据偏差平方和。
    
    
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值。
    3、N为0时,该函数返回空值。
    4、N为空值,该函数返回空值。
    5、N不支持为变量。
    
    
    算法举例:计算DEVSQ(C,3);在最近一根K线上的值。
    
    
    用麦语言函数可以表示如下:
    SQUARE(C-(C+REF(C,1)+REF(C,2))/3)+SQUARE(REF(C,1)-(C+REF(C,1)+REF(C,2))/3)+SQUARE(REF(C,2)-(C+REF(C,1)+REF(C,2))/3);
    
    
    例:
    DEVSQ(C,5);            // 计算数据收盘价5个周期的数据偏差平方和
                           // 表示收盘价与收盘价均值偏差分别平方之后求和,DEVSQ(C,5)表示5个周期的收盘价与收盘价均值偏差分别平方之后求和
    
    • ## FORCAST

    線形帰帰帰値は

    FORCAST(X,N),为X的N周期线性回归预测值。
    
    
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值。
    3、N为0时,该函数返回空值。
    4、N为空值,该函数返回空值。
    5、N可以是变量。
    
    
    算法举例:用最小平方法计算FORCAST(C,3)在最近一根K线上的值。
    1、建立一元线性方程:y=a+b*i+m
    2、y的估计值:y(i)^=a+b*i
    3、求残差:m^=y(i)-y(i)^=y(i)-a-b*i
    4、误差平方和:
    Q=m(1)*m(1)+...+m(3)*m(3)=[y(1)-a-b*1]*[y(1)-a-b*1]+...+[y(3)-a-b*3]*[y(3)-a-b*3]
    5、对线性方程中的参数a,b求一阶偏导:
    2*{[y(1)-a-b*1]+...+[y(3)-a-b*3]}*(-1)=0
    2*[y(1)-a-b*1]*(-1)+...+[y(3)-a-b*3]*(-3)=0
    6、联立以上两个公式,解出a,b的值:
    a=(y(1)+y(2)+y(3))/3-b(i(1)+i(2)+i(3))/3
    b=(y(1)*i(1)+y(2)*i(2)+y(3)*i(3)-(3*((i(1)+i(2)+i(3))/3)*((y(1)+y(2)+y(3))/3))/((i(1)^2+i(2)^2+i(3)^2)-3*((i(1)+i(2)+i(3))/3)^2)
    7、将a,b,i值带入1,求出y值。
    
    
    以上公式用麦语言函数可以表示如下:
    BB:=(3*C+2*REF(C,1)+REF(C,2)-(3*((1+2+3)/3)*MA(C,3)))/((SQUARE(1)+SQUARE(2)+SQUARE(3))-3*SQUARE((1+2+3)/3));
    AA:=MA(C,3)-BB*(1+2+3)/3;
    YY:=AA+BB*3;
    
    
    例:
    FORCAST(CLOSE,5);      // 表示求5周期线性回归预测值
    
    • ## KURTOSIS

    ピーク度係数

    KURTOSIS(X,N),求X在N个周期内的峰度系数。
    
    
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值。
    3、N为0时,该函数返回空值。
    4、N为空值,该函数返回空值。
    5、N可以为变量。
    6、N至少为4,少于4返回空值。
    
    
    算法举例:计算KURTOSIS(C,4);在最近一根K线上的值。
    用麦语言函数可以表示如下:
    ((POW(C-MA(C,4),4)+POW(REF(C,1)-MA(C,4),4)+POW(REF(C,2)-MA(C,4),4)+POW(REF(C,3)-MA(C,4),4)) /POW(STD(C,4),4))*(4*(4+1)/((4-1)*(4-2)*(4-3)))-3*SQUARE(4-1)/((4-2)*(4-3));
    
    
    例:
    KURTOSIS(C,10);       // 表示收盘价的10周期峰值。峰值反映与正态分布相比某一分布的尖锐度或平坦度。正峰值表示相对尖锐的分布。负峰值表示相对平坦的分布
    
    • ## NORMPDF

    正規分布の確率密度

    NORMPDF(X,MU,SIGMA),返回参数为MU和SIGMA的正态分布密度函数在X处的值。
    
    
    注:
    1、MU或SIGMA为空值,该函数返回空值。
    2、MU和SIGMA支持变量。
    
    
    算法举例:随机变量X服从一个位置参数为MU、尺度参数为SIGMA的概率分布,其概率密度为NORMPDF(X,MU,SIGMA)。
    
    
    用麦语言函数可以近似的表示如下:
    (1/(SQRT(2*3.14)*SIGMA))*EXP((-SQUARE(X-MU))/(2*SQUARE(SIGMA)));
    
    
    例:
    TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
    ATR:=MA(TR,26);                          // 求26个周期内的TR的简单移动平均
    ZZ..NORMPDF(ATR,0,1);                    // 定义变量ZZ,返回ATR服从标准正态分布的概率密度
    
    • ## SKEWNESS

    偏り係数

    SKEWNESS(X,N),求X在N个周期内的偏度系数。
    
    
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值。
    3、N为0时,该函数返回空值。
    4、N为空值,该函数返回空值。
    5、N可以为变量。
    6、N至少为3,少于3返回空值。
    
    
    算法举例:计算SKEWNESS(C,3);在最近一根K线上的值。
    用麦语言函数可以表示如下:
    ((POW(C-MA(C,3),3)+POW(REF(C,1)-MA(C,3),3)+POW(REF(C,2)-MA(C,3),3)) /POW(STD(C,3),3))*3/((3-1)*(3-2));
    
    
    例:
    SKEWNESS(C,10);                         // 表示收盘价的10周期偏度,偏度反映分布的不对称度,不对称度反映以平均值为中心的分布的不对称程度。正不对称度表示不对称部分的分布更趋向正值,负不对称度表示不对称部分的分布更趋向负值
    
    • ## SLOPE

    線形回帰の斜率

    SLOPE(X,N),得到X的N周期的线型回归的斜率。
    
    
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值。
    3、N为0时,该函数返回空值。
    4、N为空值,该函数返回空值。
    5、N可以为变量。
    
    
    举例:
    用最小平方法计算SLOPE(CLOSE,5)在最近一根K线上的的值:
    1、建立一元线性方程:close=a+slope*i+m
    2、close的估计值:close(i)^=a+slope*i
    3、求残差:m^=close(i)-close(i)^=close(i)-a-slope*i
    4、误差平方和:
    Q=m(1)*m(1)+...+m(5)*m(5)=[close(1)-a-slope*1]*[close(1)-a-slope*1]+...+[close(5)-a-slope*5]*[close(5)-a-slope*5]
    5、对线性方程中的参数a,slope求一阶偏导:
    2*{[close(1)-a-slope*1]+...+[close(5)-a-slope*5]}*(-1)=0
    2*{[close(1)-a-slope*1]+...+[close(5)-a-slope*5]}*(-5)=0
    6、联立以上两个公式,反解出slope的值:
    slope={[5*close(1))+...+1*close(5)]-[close(1)+...+close(5)]*(1+2+3+4+5)/5}/[(1*1+...+5*5)-(1+...+5)(1+...+5)/5]
    
    
    以上公式用麦语言函数可以表示如下:
    ((5*C+4*REF(C,1)+3*REF(C,2)+2*REF(C,3)+1*REF(C,4))-SUM(C,5)*(1+2+3+4+5)/5)/((SQUARE(1)+SQUARE(2)+SQUARE(3)+SQUARE(4)+SQUARE(5))-SQUARE(1+2+3+4+5)/5);
    
    
    例:
    SLOPE(CLOSE,5);                        // 表示求收盘价5个周期线性回归线的斜率
    
    • ## STD

    テストの基準は悪かった.

    STD(X,N),求X在N个周期内的样本标准差。
    
    
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值。
    3、N为0时,该函数返回空值。
    4、N为空值,该函数返回空值。
    5、N可以为变量。
    
    
    算法举例:计算STD(C,3);在最近一根K线上的值。
    
    
    用麦语言函数可以表示如下:
    SQRT((SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3)))/2);
    
    
    例:
    STD(C,10);    // 求收盘价在10个周期内的样本标准差
                  // 标准差表示总体各单位标准值与其平均数离差平方的算术平均数的平方根,它反映一个数据集的离散程度。STD(C,10)表示收盘价与收盘价的10周期均线之差的平方和的平均数的算术平方根。样本标准差是样本方差的平方根
    
    • ## STDP

    全体の基準は低い.

    STDP(X,N),为X的N周期总体标准差。
    
    
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值。
    3、N为0时,该函数返回空值。
    4、N为空值,该函数返回空值。
    5、N可以为变量。
    
    
    算法举例:计算STDP(C,3);在最近一根K线上的值。
    
    
    用麦语言函数可以表示如下:
    SQRT((SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3)))/3);
    
    
    例:
    STDP(C,10);        // 为收盘价的10周期总体标准差
                       // 总体标准差是反映研究总体内个体之间差异程度的一种统计指标,总体方差是一组资料中各数值与其算术平均数离差平方和的平均数,总体标准差则是总体方差的平方根
    
    • ## VAR

    試料の種類が違います

    VAR(X,N),求X在N周期内的样本方差。
    
    
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值。
    3、N为0时,该函数返回空值。
    4、N为空值,该函数返回空值。
    5、N支持使用变量。
    
    
    算法举例:计算VAR(C,3);在最近一根K线上的值。
    用麦语言函数可以表示如下:
    
    
    (SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3)))/(3-1);
    
    
    例:
    VAR(C,5);     // 求收盘价在5周期内的样本方差
                  // 表示总体方差的N/(N-1)倍,VAR(C,5)表示收盘价的5周期总体样本方差的5/4倍
    
    • ## VARP

    全体の差は

    VARP(X,N),为X的N周期总体方差。
    
    
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值。
    3、N为0时,该函数返回空值。
    4、N为空值,该函数返回空值。
    5、N支持使用变量。
    
    
    算法举例:计算VARP(C,3);在最近一根K线上的值。
    用麦语言函数可以表示如下:
    (SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3)))/3;
    
    
    例:
    VARP(C,5);   // 为收盘价的5周期总体方差
                 // 表示数据偏差平方和除以总周期数N,VARP(C,5)表示收盘价5个周期的数据偏差平方和除以5
    
  • 数学的関数

    • ## ABS

    絶対値について

    ABS(X),取的X的绝对值。
    
    
    注:
    1、正数的绝对值是它本身。
    2、负数的绝对值是它的相反数。
    3、0的绝对值还是0。
    
    
    例1:
    ABS(-10);          // 返回10
    例2:
    ABS(CLOSE-10);     // 返回收盘价和的10价差的绝对值
    例3:
    ABS(C-O);          // 当前K线实体长度
    
    • ## ACOS

    逆余弦値

    ACOS(X),返回X的反余弦值。
    
    
    注:
    1、X取值范围[-1,1]。
    2、若X不在取值范围,返回值为空值。
    
    
    例1:
    ACOS(-1);         // 求-1的反余弦值
    例2:
    ACOS(1);          // 求1的反余弦值
    
    • ## ASIN

    逆正弦値について

    ASIN(X),返回X的反正弦值。
    
    
    注:
    1、X取值范围[-1,1]。
    2、若X不在取值范围,返回值为空值。
    
    
    例1:
    ASIN(-1);        // 求-1的反正弦值
    例2:
    ASIN(1);         // 求1的反正弦值
    
    • ## ATAN

    逆の切符だ

    ATAN(X),返回X的反正切值。
    
    
    注:X的取值为R(实数集)。
    
    
    例1:
    ATAN(-1.75);    // 求-1.75的反正切值
    例2:
    ATAN(1.75);     // 求1.75的反正切值
    
    • ## CEILING

    縦に丸めると

    CEILING(X,Y),返回指定实数(X)在沿绝对值增大的方向上第一个能整除基数(Y)的值。
    
    
    注:
    1、如果X和Y符号相同,则对值按远离0的方向进行舍入。
    2、X和Y符号不同的情况下:
    (1)如果X为负,Y为正,则对值按朝向0的方向进行向上舍入。
    (2)如果X为正,Y为负,CEILING返回无效值。
    3、X、Y均可以为变量。
    4、若X、Y中任意一个为空值,则该函数返回空值。
    
    
    例1:
    CEILING(2.1,1);        // 求得3
    例2:
    CEILING(-8.8,-2);      // 求得-10
    例3:
    CEILING(CLOSE*1.01,1); // 求收盘价的1.01倍向上取整
    例4:
    CEILING(-7,2);         // 求得-6
    例5:
    CEILING(8,-2);         // 返回无效值
    
    • ## COS

    COS(X),返回X的余弦值。
    
    
    注:
    1、X的取值为R(实数集)。
    2、值域为[-1,1]。
    
    
    例1:
    COS(-1.57);      // 返回-1.57的余弦值
    例2:
    COS(1.57);       // 返回1.57的余弦值
    
    • ## CUBE

    立方関数

    CUBE(X),返回X的三次方。
    
    
    例1:
    CUBE(4);        // 求4的立方
    
    • ## EXP

    指数について

    EXP(X),求e的X次幂。
    
    
    例1:
    C*EXP(0.01);    // 求收盘价乘以e的0.01次幂
    
    • ## FLOOR

    横に横に転がって

    FLOOR(A),向数值减小方向舍入。
    
    
    注:
    FLOOR(A)返回沿A数值减小方向最接近的整数,若A为整数,则返回值为A。
    
    
    例1:
    FLOOR(2.1);    // 返回值为2
    例2:
    FLOOR(-8.8);   // 返回值为-9
    例3:
    FLOOR(5);      // 返回值为5
    例4:
    IFELSE(C-INTPART(C)>=0.5,CEILING(C),FLOOR(C));    // 对收盘价四舍五入后取整数部分
    
    • ## INTPART

    編集する

    INTPART(X),取X的整数部分。
    
    
    例1:
    INTPART(12.3);      // 返回值为12
    例2:
    INTPART(-3.5);      // 返回值为-3
    例3:
    INTPART(10);        // 返回值为10
    例4:
    INTPART(C);         // 求收盘价的整数部分
    
    • ## LN

    自然対数

    LN(X),求X的自然对数。
    注:
    1、X取值范围为非0自然数,即1、2、3、4、5 ...
    2、若X取值为0或负数,返回值为空值。
    
    
    例:
    LN(OPEN);           // 求开盘价的对数
    
    • ## LOG

    常用対数

    LOG(X),求X的常用对数值。
    
    
    注:
    1、该函数中X的取值范围为X>0。
    2、0和负数没有对数,X为0或负数时返回值为空值。
    
    
    例1:
    LOG(100);  // 返回2
    例2:
    LOG(0);    // 返回空值
    
    • ## MAX

    最大値

    MAX(A,B),取最大值。取A,B中较大者。
    
    
    注:
    若A=B,返回值为A或者B的值。
    
    
    例1:
    MAX(CLOSE,OPEN);        // 表示取开盘价和收盘价中较大者
    例2:
    MAX(CLOSE-OPEN,0);      // 表示若收盘价大于开盘价返回它们的差值,否则返回0
    例3:
    MAX(A,MAX(B,MAX(C,D))); // 求 A、B、C、D四者中的最大值
    
    • ## MAX1

    ビデオをダウンロードする

    MAX1(A...P),在A到P中取最大值。
    
    
    注:
    1、支持2-16个数值进行比较。
    2、A...P可以为数字也可以为变量。
    
    
    例1:
    MAX1(CLOSE,OPEN);                                 // 表示取开盘价和收盘价中较大者
    
    
    例2:
    MAX1(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);     // 表示取数字1-16中的最大值
    
    • ## MEDIAN

    中位数を求めます.

    MEDIAN(X,N) 求X在N个周期内居于中间的数值。
    
    
    注:
    1、N个周期内所有X排序后,若N为奇数,则选择第(N+1)/2个为中位数,若N为偶数,则中位数是(N/2以及N/2+1)的平均数。
    2、N可以为变量。
    
    
    例1:
    豆粕1509最近3日的收盘价为2727、2754、2748,那么当前MEDIAN(C,3)的返回值是2748。
    例2:
    豆粕1509最近4日的开盘价为2752、2743、2730、2728,那么当前MEDIAN(O,4)的返回值是2736.5。
    
    • ## MEDIAN1

    中位数を求めます.

    MEDIAN1(A,...,P),求A到P内居于中间的数值。
    
    
    注:
    1、支持最多16个参数进行计算。
    2、A...P可以为数值也可以为变量。
    3、若参数个数为N,对N个参数排序后,N为奇数,则选择第(N+1)/2个为中位数,若N为偶数,则中位数是(N/2以及N/2+1)的平均数。
    
    
    例1:
    AA:=MEDIAN1(O,C,H);                                        // 开盘价、收盘价、最高价按数值排序,取居中的数值
    例2:
    BB:=MEDIAN1(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);       // 表示取数字1-16的中位数,BB返回8.5
    
    • ## MIN

    最低値

    MIN(A,B),取最小值。取A,B中较小者。
    
    
    注:
    若A=B,返回值为A或者B的值。
    
    
    例1:
    MIN(OPEN,CLOSE);            // 表示取开盘价和收盘价中的较小者
    例2:
    MIN(C,MIN(O,REF(C,1)));     // 求当前周期的开盘价,收盘价,以及上周期的收盘价间最小的数值
    
    • ## MIN1

    最小値を取る

    MIN1(A...P),在A到P中取最小值。
    
    
    注:
    1、支持2-16个数值进行比较。
    2、A...P可以为数字也可以为变量。
    
    
    例1:
    MIN1(CLOSE,OPEN);                                 // 表示取开盘价和收盘价中较小者
    
    
    例2:
    MIN1(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);     // 表示取数字1-16中的最小值
    
    • ## MOD

    模倣する

    MOD(A,B),取模。返回A对B求模。
    
    
    例1:
    MOD(26,10);          // 返回6,26除以10所得余数为6,即26对10的模为6
    例2:
    MOD(A,2)=0;          // 判断A为偶数
    
    • ## MODE

    投票番号をクリックしてください.

    MODE(X,N),求X在N个周期内最常出现的值。
    
    
    注:
    1、如果N个周期内不含有重复的数值,则函数返回空值。
    2、N可以为变量。
    
    • ## POW

    ほら

    POW(X,Y),求X的Y次幂。
    
    
    注:
    1、当X为负数时,Y必须为整数,因为底数为负时,不能进行开方运算,返回值为空值。
    2、X,Y可以为数值,也可以为变量。
    
    
    例1:
    POW(CLOSE,2);      // 求得收盘价的2次方
    例2:
    POW(10,2);         // 返回值为100
    例3:
    POW(1/2,-2);       // 返回值为4
    例4:
    POW(100,O-C);      // 返回100的O-C次方
    
    • ## RAND

    ランダムな数を生成するランダム関数。

    RAND(X,Y),产生随机数的随机函数,返回范围在X到Y之间的随机数。
    
    
    注:
    1、X、Y参数均支持设置为变量。
    2、该函数仅支持返回整数。
    3、当X>Y时,函数返回空值。
    4、当X与Y的范围小于1时,函数返回无效值。
    
    
    例1:
    RAND(1,60);      // 返回1到60之间的随机数值
    例2:
    RAND(C,O);       // 返回收盘价到开盘价之间的随机数值
    
    • ## RANGE

    範囲

    RANGE(X,Y,Z):介于某个范围之内。表示X大于Y同时小于Z时返回1,否则返回0
    例1:
    RANGE(5,4,6);              // 返回值为1
    例2:
    RANGE(8,3,6);              // 返回值为0
    例3:
    MA5:=MA(C,5);
    MA10:=MA(C,10);
    MA20:=MA(C,20);
    RANGE(MA10,MA20,MA5),BK;   // 10周期均线在5周期均线与20周期均线之间买开仓
                               // RANGE(MA10,MA20,MA5)=1,BK;与RANGE(MA10,MA20,MA5),BK;表达同等意义
    
    • ## REVERSE

    逆の値を取った.

    REVERSE(X),取相反值。返回-X。
    
    
    例1:
    REVERSE(LOW);              // 返回-LOW
    例2:
    REVERSE(-55);              // 返回值为55
    例3:
    REVERSE(0);                // 返回值为0
    
    • ## ROUND

    指定位数四周五入

    ROUND(N,M),对数字N进行位数为M的四舍五入。
    
    
    注:
    1、N支持写为变量和参数;M不支持写为变量,可以写为参数。
    2、M>0,则对数字N小数点后M位小数进行四舍五入。
    3、M=0,则将数字N四舍五入为整数。
    4、M<0,则在数字N小数点左侧前M位进行四舍五入。
    
    
    例1:
    ROUND(125.345,2);         // 返回125.35
    例2:
    ROUND(125.345,0);         // 返回125
    例3:
    ROUND(125.345,-1);        // 返回130
    
    • ## SGN

    記号を入れます

    SGN(X),取符号。若X>0返回1,若X<0返回-1,否则返回0。
    
    
    例1:
    SGN(5);                  // 返回值为1
    例2:
    SGN(-5);                 // 返回值为-1
    例3:
    SGN(0);                  // 返回值为0
    
    • ## SIN

    弦を求めている

    SIN(X),求X的正弦值。
    
    
    注:
    1、X的取值为R(实数集)。
    2、值域为(-1,1)。
    
    
    例1:
    SIN(-1.57);             // 返回-1.57的正弦值
    例2:
    SIN(1.57);              // 返回1.57的正弦值
    
    • ## SQRT

    平方根は

    SQRT(X),求X的平方根。
    
    
    注:
    X的取值为正数,X为负数时返回空值。
    
    
    例1:
    SQRT(CLOSE);           // 收盘价的平方根
    
    • ## SQUARE

    平方

    SQUARE(X)求X的平方。
    
    
    例1:
    SQUARE(C);            // 收盘价的平方
    例2:
    SQUARE(2);            // 2的平方
    
    • ## TAN

    正確に

    TAN(X),返回X的正切值。
    例1:
    TAN(0);              // 返回0的正切值
    例2:
    TAN(-3.14);          // 返回-3.14的正切值
    
  • 取引指令

    • ## BK

    BK倉庫を買った.

    • ## BP

    BP持株を買った

    • ## SK

    SK売り切った.

    • ## SP

    SPポジションを平らにする.

    • ## BPK

    BPK購入後,新しい倉庫を購入する.

    • ## SPK

    SPK売り切った後,新しい店を開店する.

    • ## CLOSEOUT

    CLOSEOUT清算命令は,すべての方向に持っていた資産を清算する.

    • ## SELECT

    SELECT条件を満たすK線上に図型を識別する.一般的には形状識別に使用する。

    • ## TRADE_AGAIN

    TRADE_AGAIN(N),この関数を含む加減ハージモデルでは,同じ命令行からN個の信号が連続して出せます.

    • ## AUTOFILTER

    AUTOFILTERフィルタリング機能が起動する.

    • ## MULTSIG

    MULTSIG(Sec1, Sec2, N), k 線複数の信号の指令価格方式を設定する ((TICK 単筆反測,反測精度を設定できる) 。

    开仓信号出信号Sec1秒下单,不复核。
    平仓信号出信号Sec2秒下单,不复核。
    
  • 制御関数を計算する

    • ## FILTER

    FILTER ((COND,N)),連続して現れる信号をフィルターする. COND条件が成立すると,その後のN周期間のデータが0を返します.

    例えば:

    a:=FILTER(CLOSE>OPEN, 3)     // 查找阳线,3个周期内再次出现的阳线不被记录在内
    

    注意: BKPRICE,BARSBK,SKPRICE,BARSSKと併用して使用することはできません.

    • ## AUTOFILTER

    信号フィルタリングを起動する.

    AUTOFILTER启用一开一平信号过滤机制。
    
    
    用法:
    模型中含有AUTOFILTER函数,则启用一开一平信号过滤机制。
    模型中不写入该函数,则每个指令都有效,支持加减仓。
    
    
    模型的过滤规则:
    1、连续的同方向指令只有第一个有效,其他的将被过滤;
    2、交易指令必须先开仓后平仓,一开一平配对出现:
    出现BK指令,下一个指令只允许出现SP\SPK指令;
    出现SK指令,下一个指令只允许出现BP\BPK指令;
    出现SP/BP/CLOSEOUT等平仓指令,下一个可以是BK/SK/SPK/BPK指令任一个;
    反手指令SPK和BPK交叉出现。
    
    
    例:
    CLOSE>OPEN,BK;
    CLOSE<OPEN,SP;
    AUTOFILTER;                  // 启用一开一平信号过滤机制
    
    • ## TRADE_AGAIN

    制限信号関数

    TRADE_AGAIN(N),同一指令行可以连续出N个信号。
    
    
    用法:
    TRADE_AGAIN(N)含有该函数的加减仓模型中,同一指令行可以连续出N个信号。
    
    
    注:
    1、该函数只适用于加减仓模型。
    2、模型中写入该函数,一根K线只支持一个信号。不可以和 MULTSIG 函数同时使用。
    3、N个信号必须连续执行,如果期间出现其他信号,则N从新计算。
    4、N不可以写为变量。
    
    
    例:
    C>O,BK(1);                   // K线为阳线,买开1手
    C<O,SP(BKVOL);               // K线为阴线,卖平多头持仓
    TRADE_AGAIN(3);              // 同一指令行可以连续执行3次(如果连续三根阳线,则连续三次买开仓)
    
  • 信号記録関数

    • ## BKPRICE

    返信データ契約の最終回購入価格について.

    BKPRICE返回数据合约最近一次买开信号价位。
    
    
    用法:
    BKPRICE返回数据合约最近一次买开信号发出时的行情的最新价。
    
    
    注:
    1、当数据合约和交易合约相同时BKPRICE值和BKPRICE1值相等。
    2、当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最近一次开仓信号的价格,而不是开仓均价。
    3、不同信号执行方式,其返回值分别为:
    (1)信号执行方式为不进行信号复核
        历史回测:BKPRICE返回信号发出时的数据合约行情最新价。
    (2)信号执行方式选择K线走完确认信号下单
        历史回测:BKPRICE返回信号发出时数据合约当根K线的收盘价。
    (3)信号执行方式设置为K线走完进行信号复核
        历史回测:BKPRICE返回信号发出时数据合约当根K线的收盘价。
    
    
    例:
    BKPRICE-CLOSE>60 && BKPRICE>0 && BKVOL>0, SP;         // 如果买开价位比当前价位高出60,且多头持仓存在,卖平仓
    
    • ## BKPRICEAV

    返却データ契約の多頭開設平均価格

    BKPRICEAV返回数据合约多头开仓均价。
    
    
    用法:
    BKPRICEAV返回数据合约多头开仓均价。
    
    
    注:
    1、一开一平信号过滤模型:
    (1)开仓信号后,未出平仓信号时:BKPRICEAV取值和BKPRICE取值相同。
    (2)平仓信号后:BKPRICEAV返回值为0。
    2、加减仓模型:
    (1)持仓不为0时:BKPRICEAV返回数据合约持仓的开仓均价。
    (2)加减仓模型持仓为0时:BKPRICEAV返回值为0。
    
    
    注:
    该函数的计算考虑滑点。
    
    
    例:
    CLOSE-BKPRICEAV>60,SP(BKVOL);                        // 当前价位比多头开仓均价高出60,平掉所有多头持仓
    
    • ## BKVOL

    信号の電話番号を買って

    买开信号手数。
    用法:
    BKVOL返回模型当前的多头持仓。
    1、加载运行:
    (1)回测系统运行中,BKVOL不受资金情况的限制,按照信号显示开仓手数。
    2、回测运行中:
    (1)如果资金不够开仓,开仓手数为0,BKVOL返回值为0。
    (2)BK(BPK)信号出现并且确认固定后,BKVOL的取值增加开仓手数的数值;SP(SPK)信号出现并且确认固定后,BKVOL的取值减少平仓手数的数值。
    
    
    例:
    BKVOL=0&&C>O,BK(1);                   // 多头持仓为0并且收盘价大于开盘价时,买开一手
    BKVOL>=1&&H>HV(H,5),BK(2);            // 多头持仓大于等于1,并且当根K线的最高价大于前面5个周期中最高价中最大值时,加仓2手
    BKVOL>0&&L<REF(L,5),SP(BKVOL);        // 多头持仓大于0,并且当根K线的最低价小于5个周期前K线的最低价时,卖平所有多头持仓
    
    • ## BKHIGH

    返還データ契約の購入以来の最高値である.

    返回数据合约买开仓以来的最高价。
    用法:
    BKHIGH返回数据合约最近一次模型买开位置到当前的最高价。
    1、不同信号执行方式,其返回值分别为:
    (1)信号执行方式为K线走完确认信号下单。
    a.历史信号计算中,BK(BPK)信号之后的K线返回委托以来的数据合约行情的最高价。
    b.加载运行过程中,BK(BPK)信号当根K线返回的为信号发出时数据合约行情的最新价,BK之后的K线返回委托以来的数据合约行情最高价。
    
    
    从BK(BPK)信号发出时开始统计数据合约行情的最高价;信号消失,返回上次买开以来的数据合约行情的最高价,信号确认存在,返回当根K线记录的数据合约行情的最高价。
    注:BK信号发出后,中间出了信号消失,从最后一次信号出现开始统计数据合约最高价。
    (3)信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG)。
    BK(BPK)信号的当根K线返回从信号发出到K线走完时数据合约行情的最高价;BK(BPK)信号之后的K线返回信号发出以来数据合约行情的最高价。
    
    
    例:
    C>O,BK;
    C>BKPRICE&&C<BKHIGH-5,SP;
    AUTOFILTER;                            // 最新价低于买开仓以来的数据合约最高价5个点,止盈平仓
    
    • ## BKLOW

    取引開始以来の最低値に戻った.

    ”` 返回数据合约买开仓以来的最低价。 用法: BKLOW返回数据合约最近一次模型买开位置到当前的最低价。 1、不同信号执行方式,其返回值分别为: (1)K线走完确认信号下单 a.历史信号计算中,BK(BPK)信号之后的K线返回委托以来的数据合约行情的最低价。 b.加载运行过程中,BK(BPK)信号当根K线返回的为信号发出时数据合约行情的最新价,BK之后的K线返回委托以来的数据合约行情最低价。

    从BK(BPK)信号发出时行情时开始统计数据合约行情的最低价;信号消失,返回上次买开以来的数据合约行情的最低价,信号确认存在