使用说明

快速开始

使用本程序的指标公式语法。每条语句以半角分号 ; 结束;周期参数直接在公式开头赋值;尚不支持 INPUT / PARAM 参数声明。

NAME = "我的均线";
N=20;
MID:MA(CLOSE,N),COLORYELLOW,LINETHICK2;

FAST=12; 定义常量或内部变量,不绘图

TEMP:=(OPEN+CLOSE)/2; 定义内部计算序列,不绘图

MID:MA(CLOSE,20); 定义输出序列并在图表绘制

语句与运算

写法

用途

SYMBOL="rb2701";

指定整个指标的数据合约,不写则跟随图表主合约,周期仍跟随图表。 合约简写须唯一匹配,找不到或匹配不唯一时检查/保存失败;不自动猜选。 行情、成交量、持仓量和 UNIT、MINPRICE、PRICEPRECISION 等合约属性均取指定合约,按时间对齐,缺失位置为空值。 保存、重启后保留;SYMBOL 仅可声明一次,值为双引号合约代码或 UNDERLYING;组合图表可用 LEG1/LEG2 引用两腿。

NAME ="我的指标";

展示名称 NAME(有输出标题时可选),显示在各输出之前; 各输出保留自己的名称和数值。 不写则只显示各输出,单输出通常不必设置。 支持中文,最多 128 个字符,去除首尾空白后不能为空,不参与计算; 与顶部指标名称独立。

OFFSET =10;

仅叠加主图时整体上移 10 个价格单位; 负数向下,支持小数,默认 0,副图忽略。 仅影响绘图和标题数值,柱体基线同步移动,不改变内部计算。 OFFSET=AUTO 按可见区首根K线收盘价自动对齐,拖动和缩放后更新;锚点缺失时按零偏移。 只能声明一次,支持有限数值、AUTO 或 -STRIKEPRICE。

XOFFSET =5;

仅主图生效,向右平移 5 根 K 线,负数向左,默认 0。 只接受 -10000 到 10000 的整数,只能声明一次,可与 OFFSET 组合。 标题与十字光标按平移后的显示位置取值,不改变内部计算或生成未来行情。

PLACEMENT = MAIN ;

可选位置声明, AUTO 自动判断、 MAIN 主图、 SUB 副图,只能声明一次,源码优先。不写时新建默认自动判断,已有指标保留当前位置。

N =表达式;

定义常量或内部变量。

TEMP :=表达式;

定义内部序列,不作为绘图输出。

#VOL / #CLOSE

Q73N 扩展:只读引用原始系统字段,不允许定义、赋值或引用自定义变量。 VOL : MA ( #VOL ,5); 定义后,后续 VOL 使用自定义输出; #VOL 始终为原始成交量,其他别名不受影响。

VALUE :表达式,样式;

定义绘图输出;多个样式使用逗号分隔。

// 注释

从双斜杠到当前行末均为注释。

运算符

+ - * / 算术; > >= < <= = == != <> 比较; AND / && 逻辑与, OR / || 逻辑或。表达式中单等号和双等号都表示相等,语句开头的 N=20; 仍表示赋值。比较结果为 1 或 0,可继续参与公式计算。

指标位置、名称与坐标

指标位置

显示与坐标

自动判断

新建自编指标的默认选项。所有可见输出都随价格整体平移时放入主图;无法判断或混合了非价格输出时放入副图。

副图指标

显示在独立副图,使用独立坐标,并根据当前可见数据自动缩放。

K 线附属指标

叠加到主图,与 K 线共用价格坐标。

指标位置通过 PLACEMENT = AUTO / MAIN / SUB; 声明。不写时,新建默认自动判断,已有指标保留当前位置。编辑器顶部指标名称用于列表与保存,可直接修改,允许重名;去除首尾空白后不能为空,最多 128 个字符。指标按独立 ID 保存。源码中的 NAME = "我的展示名称"; 仅控制展示名称,不修改顶部指标名称;不写则只显示各输出。只有绘图/声音语句,或所有输出均为 NOTEXT 且没有 NAME 时,检查及保存会提示补充展示名称 NAME="展示名称"; 。 NODRAW 仍保留标题数值;条件 TEXT / NOTEXT 至少有一个 TEXT 分支即可。校验不依赖当前行情值,已有公式加载不受影响。保存时检查公式,也可按 Ctrl+Enter 主动检查。新建时顶部指标名称留空,请填写指标名称;添加菜单仅显示指标名称。当前不支持 AA^^表达式 和 AA..表达式 这两种输出操作符,请使用 PLACEMENT 声明指标位置。

内置行情数据

名称

别名

含义

OPEN

O

开盘价

HIGH

H

最高价

LOW

L

最低价

CLOSE

C

收盘价

VOLUME

VOL / V

成交量

OI

OPI

持仓量

DRAWNULL

NULL

空值;用于条件不成立时不绘制

DATE

-

YYMMDD 自然日期;夜盘不是下一交易日日期

BARID

-

当前 K 线绝对 ID;显式 SYMBOL 时为原始合约 ID

VIEWLEFTID / VIEWRIGHTID

-

可见首末实际 K 线 ID,排除空白;拖动、缩放后自动重算

DAYSTARTID

-

当前 K 线所属交易日起始 ID;夜盘合并,起点未知或缺失时为空;日线及以上为自身 ID

DAYBARPOS

-

交易日内从 1 开始的位置;首段开盘不明时为空

ISLASTBAR

-

实际行情最后一根为 1,其余为 0

PERIOD

-

  • 分钟周期: 1=1 分钟,2=3 分钟,3=5 分钟,4=10 分钟,5=15 分钟,6=30 分钟

  • 小时周期: 7=1 小时,12=2 小时,13=3 小时,14=4 小时

  • 日、周周期: 8=日线,9=周线

  • Tick / 秒周期: 16=Tick,17=5 秒,18=10 秒,19=15 秒,20=30 秒

  • 其他周期: 21=其他整分钟,22=其他整小时,23=其他整日

BARTYPE / BARINTERVAL

-

周期类型及单位数量。 日/分/时/周/秒/Tick 类型为 0/1/2/4/8/10; 例如 5 分钟为 (1,5),2 小时为 (2,2)。 不是 PERIOD 编号; 月、季、年尚无数据源

PRICEPRECISION

-

当前合约价格小数位数,直接读取合约元数据;缺失为空, #PRICEPRECISION 为只读系统引用。

UNIT / MINPRICE

-

当前合约乘数及最小价格变动;缺失或非正数时为空

检查与自动位置推断默认采用 1 分钟上下文,实际运行采用当前图表周期。交易日边界沿用现有夜盘和周末规则,尚未接入完整节假日日历。标题数值默认固定显示两位小数并保留末尾 0;显式 PRECIS 、百分比格式及 DRAWNUMBER 仍按指定规则显示。

输出样式

类型

可用写法

颜色

COLORRED 、 COLORGREEN 、 COLORBLUE 、 COLORYELLOW 、 COLORMAGENTA 、 COLORCYAN 、 COLORWHITE 、 COLORBLACK 、 COLORGRAY 、 RGB (r,g,b)、 COLORRRGGBB (六位十六进制) 命名颜色及默认配色随背景适配,深色背景按原色 85%、背景色 15% 混合,浅色背景使用深色版本,白色显示为深灰;RGB 和六位十六进制保留原色。线条、条件颜色、绘图文字、标题数值及水平线价格标签同步更新。

跟随 K 线颜色

COLORUP 使用当前 K 线上涨边框色, COLORDOWN 使用下跌边框色; 绘图和标题随配色变化。 可用于数值输出及绘图语句的条件颜色后缀,与固定颜色、彼此及 COLORSTICK 互斥; 与 STICK 组合仍为实心柱,不使用 K 线空心填充背景色。

条件颜色

IF (条件,颜色,颜色) / IFELSE :逐根选择固定色或 COLORUP / COLORDOWN 。 可引用前面变量和当前输出,不增加数值输出; 与其他颜色样式及 COLORSTICK 互斥。 条件缺失时不绘该点,标题保留真实数值。 也支持逐根柱宽、线宽、线型、显示和标题显隐; 文字绘图支持字号及对齐。 两个分支必须同类,同类固定样式与条件样式不能重复。

条件属性示例

VOL:#VOL,IF(#C>=#O,COLORUP,COLORDOWN),IF(#C>=#O,STICK1,STICK4);

线型: IF (条件, SOLIDLINE , DOT );显隐: IF (条件, DRAW , NODRAW );标题: IF (条件, TEXT , NOTEXT )。 DRAWTEXT / DRAWNUMBER 的逗号后可使用 IF (条件, FONTSIZE18 , FONTSIZE12 )、 IF (条件, ALIGN0 , ALIGN2 )、 IF (条件, VALIGN0 , VALIGN2 )。不同属性可并列;空值不绘对应点,隐藏不影响原始数值。名称、主副图位置和独立缩放为整体属性。

百分比显示(扩展)

PRECIS0 %~ PRECIS6 %:仅标题及十字光标对应标题显示时乘以 100、保留对应位数并追加 %; 0.0223 使用 PRECIS2 % 显示为 2.23%。 计算、引用、绘图和缩放保持原值。 与普通 PRECIS 互斥,不支持 % PRECIS2 或条件切换, DRAWNUMBER 精度不变。

示例

涨幅:CLOSE/REF(CLOSE,1)-1,NODRAW,PRECIS2%;

公式内不必再乘以100。

表达式精度

PRECISION ( PRICEPRECISION +1):引用当前合约价格小数位数和此前公式常量,四舍五入取整数并限制在 0~6 位,随合约切换更新; 元数据缺失或上下文无法求值时默认两位。 只控制标题,不改变计算和绘图。 不能引用行情序列,不能重复精度属性,不支持 PRECISION (表达式)%。

示例

N=1;
均线:MA(CLOSE,20),PRECISION(PRICEPRECISION+N);

显示精度

PRECIS0 ~ PRECIS6 :标题及十字光标对应标题固定显示 0~6 位小数,保留末尾零,只显示时四舍五入; 不影响计算、后续引用、曲线和坐标范围。 未指定时固定两位小数、保留末尾零。 每项只能指定一次,不支持条件切换。 DRAWNUMBER 仍由自身精度参数控制。

示例

CJL:VOL,VOLSTICK,PRECIS0;
MAVOL5:MA(VOL,5),COLORWHITE,PRECIS2;
CCLOPI:OPI,NODRAW,PRECIS0;

线宽

LINETHICK1 到 LINETHICK7

涨跌柱线

COLORSTICK (正值红色、负值绿色)

成交量柱

VOLSTICK :正常宽度实心柱,阳线和平盘使用 K 线上涨边框色,阴线使用下跌边框色; 切换配色同步生效。 开收盘价有效时等价于 STICK , IF ( #CLOSE >= #OPEN , COLORUP , COLORDOWN ),不能叠加其他颜色或形状,可组合 NOTEXT 、 INDEPENDENTSCALE 。 开收盘价缺失时不绘该点。

示例

MA5=5;
CJL:VOL,VOLSTICK;
MAVOL5:MA(VOL,MA5),COLORWHITE;
CCLOPI:OPI,NODRAW;
CCLOPI_CHG:OPI-REF(OPI,1),NODRAW,COLORYELLOW;

固定色柱体

STICK 保持正常宽度; STICK0 到 STICK4 越来越细, STICK4 为 1 像素。可与颜色及独立缩放样式组合。

点状输出

POINTDOT

虚线输出

LINEDASH ; DOT 为点状虚线,与 POINTDOT 独立圆点不同; SOLIDLINE 为实线

独立缩放

INDEPENDENTSCALE :主图和副图均按当前可见区间映射到坐标范围内侧 10%~90%,不参与主坐标范围计算; 常量位于中间,空值断开,隐藏点不参与缩放。 仅改变绘图,标题和十字光标保留真实值; 副图只有独立缩放输出时使用 0~1 归一化坐标。 可与线、点、柱样式组合。

隐藏

NODRAW (保留计算和标题数值,但不绘图); NOTEXT (隐藏该项标题名称及数值,可与 NODRAW 组合)

MID:MA(CLOSE,20),COLORYELLOW,LINETHICK2;
MACD:2*(DIF-DEA),COLORSTICK;
UPVOL:IFELSE(CLOSE>=OPEN,VOLUME,DRAWNULL),COLORRED,STICK;
REFLINE:CLOSE,NODRAW;

声音提醒

CROSS(M1,M2),SOUND('A');
PLAYSOUND(CROSS(M2,M1),'B');

默认声音 A 为 voice_market_reached.wav ,播报“行情到达”。客户已保存的声音设置继续优先,不强制覆盖。

默认声音映射

编号

内容

类型

文件

A

行情到达

女声

voice_market_reached.wav

B

指标触发

女声

voice_indicator_triggered.wav

C

行情下跌

女声

voice_market_falling.wav

D

行情上涨

女声

voice_market_rising.wav

E

行情到达

男声

voice_market_reached_male.wav

F

指标触发

男声

voice_indicator_triggered_male.wav

G

行情下跌

男声

voice_market_falling_male.wav

H

行情上涨

男声

voice_market_rising_male.wav

I

success2.wav

提示音

success2.wav

J

success3.wav

提示音

success3.wav

客户已保存的映射仍优先;以上为未自定义时的默认值。

可选人声资源

播报内容

女声

男声

报单已成交

voice_order_traded.wav

voice_order_traded_male.wav

下单成功

voice_order_success.wav

voice_order_success_male.wav

下单失败

voice_order_failed.wav

voice_order_failed_male.wav

行情到达

voice_market_reached.wav

voice_market_reached_male.wav

指标触发

voice_indicator_triggered.wav

voice_indicator_triggered_male.wav

行情下跌

voice_market_falling.wav

voice_market_falling_male.wav

行情上涨

voice_market_rising.wav

voice_market_rising_male.wav

男女声资源并存,可在声音设置中选择。更换声音需在声音设置中选择并保存。

支持 A 到 J 。公式中包含发声语句即启用提醒,不需要额外开关;以前保存的声音开关不再限制发声。在本章节的“声音设置”中选择 WAV 音频并试听,确认后保存音效映射。

最新 K 线刷新时条件满足即可提醒,不要求成交量增加;最新 K 线的价格修正也可触发。首次加载、仅历史 K 线重算、拖动图表和公式检查保持静默。同一条语句在同根 K 线最多提醒一次,新 K 线可再次提醒。多个指标同时触发时合并播放,间隔至少 500 毫秒,不排队。

常见错误

错误片段

检查方向

绘图语句

DRAWLINE 同根 K 线连接两个价格; STICKLINE 画空心或实心柱,第四参数可为颜色或常量柱宽(颜色用尾缀); DRAWSL 画斜线/水平线。 DRAWTEXT 、 DRAWNUMBER 显示文字和数字,支持 FONTSIZE8 ..72。 日内图支持直接引用 " DAY $1$ H "/" DAY $1$ L " 上一交易日日线高低点; DATE 为 YYMMDD 自然日期, ISLASTBAR 标记实际行情最后一根。 所有绘图函数直接作为独立语句,不能赋值; REF / HV / LV / HHV / LLV 支持动态周期; DAYBARPOS 返回交易日内位置, SUMBARS 支持累计定位; DRAWCOLORKLINE 重绘整根 K 线(0 实心、非零空心); HV / LV 不含当前 K 线; IF / NULL / ISNULL 、 BARSLAST 以及 ALIGN0 ..2、 VALIGN0 ..2 已支持。 详细参数见函数清单。

账户实际持仓

POSLONGPRICE() / POSSHORTPRICE() :多空开仓均价; POSLONGVOL() / POSSHORTVOL() :多空总手数。均为无参函数,取当前账户、图表合约,包含手动持仓;主连取当前主力,SYMBOL/LEG 不改变对象。账户未就绪为空,无仓时手数为 0、均价为空。持仓回报触发重算,历史 K 线也返回当前快照,不能还原历史持仓;断线保留本地快照。

SuperTrend

SUPERTREND(H,L,C,N,M) 返回趋势价格线, SUPERTREND_DIR(H,L,C,N,M) 返回方向(1 上涨、-1 下跌)。Wilder ATR,N 为整数常量、M 为正数常量;第 N 根起输出,初始下跌,收盘严格突破才反转;缺口后重新预热。内置 SuperTrend 示例包含线条配色和买卖文字,不自动下单。

半透明矩形

DRAWRECT(COND,LEFTID,TOP,RIGHTID,BOTTOM,COLOR) :ID 使用 BARID 坐标,价格为上下沿,反向端点自动归一化,空值或零面积不绘制。 ALPHA(0..255) 为不透明度(默认64), BORDER 加同色实线边框, LINETHICK1..7 控制边框宽度;支持条件颜色、线宽、显隐及 NOAUTOSCALE ,不支持 DOT 或条件透明度。先裁剪至可见区,再混合填充;固定复用一只画刷和一支画笔,跨合约投影保留真实边界,裁剪处不画额外边框。条件每根成立会生成多个矩形并叠色;最多前后各搜索10000根触发历史。

DRAWRECT(ISLASTBAR,BARID-9,HHV(HIGH,10),BARID,LLV(LOW,10),COLORGREEN),ALPHA(48),BORDER,NOAUTOSCALE;

线段和区域标签

DRAWSEG 连接两个指定的 K 线 ID 和价格。 DRAWZONE 保留未击穿区域, KEEP 控制显示数量,也支持 ALPHA 和 BORDER 。两者均可加 LABEL 、 LABELPOS(0/1/2) 和 FONTSIZE(字号) 。线段的标签位置依次为左端、中点、右端,区域则是右边缘的下端、中点、上端。公式绘图文字默认使用宋体。颜色常量先定义再引用,可用于绘图颜色参数或条件配色的两支。

NAME="区域标注";
区域色=RGB(76,141,255);
字号=10;
DRAWZONE(CLOSE>OPEN,BARID,HIGH,LASTBARID,LOW,LOW,HIGH,1,5,区域色),ALPHA(80),LABEL('区域'),LABELPOS(1),VALIGN1,FONTSIZE(字号),NOAUTOSCALE;

可见区间水平线

RANGEHIGHID(X,L,R) / RANGELOWID(X,L,R) 返回闭区间极值 ID,默认同价取最右,可选第四参数FIRST=1取最左(须为整数常量),空区间或超出计算窗口为空;可读取右侧数据。独立绘图尾缀 NOAUTOSCALE 保持真实价格但不参与坐标自动缩放。 DRAWSL 可加 SHOWPRICE 为水平线在图内右侧显示价格,颜色随线、格式随价格轴。内置“两高两低 (示例)”可直接使用。

unknown series

变量不存在,或变量名称大小写不一致。

period must be an integer

周期不是公式中可确定的有效整数。

formula has no output series

公式中没有单冒号数值输出或独立绘图语句。

duplicate series

同一变量被重复定义。

未来函数支持 BACKSET,以及可读取右侧数据的 RANGEHIGHID / RANGELOWID;其他未来函数和交易指令暂不支持。可用 SYMBOL 整体指定合约,组合图表可用 LEG1/LEG2 引用两腿,其他任意多合约混合引用暂不支持。日内图支持上一交易日日线高低点引用, REF / HV / LV / HHV / LLV 支持动态整数周期, SUMBARS 支持动态阈值。 N =0 的累计函数在连续有效计算区段内累计;最多额外回溯 10000 根,单次图表计算最多 40000 根。

组合行情的两腿引用

LEG1(X) 、 LEG2(X) 分别读取当前组合定义的第一腿、第二腿,周期跟随图表,单腿身份按当前图表的组合定义,不随 SYMBOL 改变。支持交易所组合和自定义组合,返回原始单腿数据,不自动乘价格系数或手数比例。

先在单腿原始 K 线序列计算,再按时间绑定对齐: LEG1(MA(CLOSE,5)) 是第一腿自身的 5 周期均线; MA(LEG1(CLOSE),5) 按对齐后的图表序列计算。

参数可使用该腿的行情字段、数值函数和前面定义的数值常量,不引用组合图表自定义序列、不嵌套单腿函数、不引用其他周期。UNIT、MINPRICE、PRICEPRECISION 等属性取该腿。两腿之间的运算放在函数外。

非组合图表、数据未加载或没有时间匹配时返回空值,不沿用旧行情。两腿行情更新、历史修正、绑定调整及切换组合后更新结果,只准备公式实际用到的单腿数据。

PLACEMENT=SUB;
N=5;
第一腿:=LEG1(CLOSE);
第二腿:=LEG2(CLOSE);
价差:第一腿-第二腿,COLORYELLOW;
第一腿均线:LEG1(MA(CLOSE,N)),COLORWHITE;
量比:LEG1(VOL)/LEG2(VOL),NODRAW;

可见区自动对齐 OFFSET=AUTO

仅在主图生效,按当前可见区域首根 K 线的收盘价减去对应位置指标原始值,得到整组输出及绘图的平移量。拖动、缩放或历史修正后重新对齐。数值计算、后续引用和声音条件保持原始值。

按源码顺序选择该位置第一个有效、可绘制且非独立缩放的输出为锚点。NODRAW、条件隐藏及独立缩放输出不作为锚点。收盘价或候选指标值不可用时暂按零偏移,不借用后续柱子;仅有绘图而没有数值输出时也按零偏移。与 XOFFSET 同用时取水平平移后显示在该位置的样本。

SYMBOL=UNDERLYING;
PLACEMENT=MAIN;
OFFSET=AUTO;
标的价格:IF(ISCALL OR ISPUT,IF(ISPUT,STRIKEPRICE-CLOSE,CLOSE-STRIKEPRICE),NULL),COLORYELLOW;

对齐目标来自当前图表合约的收盘价,标的计算仍使用源合约数据。期权方向由 ISPUT 判断控制。

期权标的走势

SYMBOL 先在指定合约的完整 K 线序列上计算,再按时间对齐到主图。MA、REF 等使用源合约柱子计数;中间柱子的历史修正也会更新结果。缺少对齐数据时曲线留空、绘图分段,并保留展示名称 NAME(未声明时使用指标名称)作为编辑、删除入口。

ISCALL :当前图表为看涨期权时为1,否则为0。 ISPUT :当前图表为看跌期权时为1,否则为0。 STRIKEPRICE :当前图表期权行权价,非期权或不可用时为空值。设置 SYMBOL 后仍读取当前图表期权信息,行情变量则读取指定合约。

SYMBOL=UNDERLYING;
PLACEMENT=MAIN;
标的价格:IF(ISCALL OR ISPUT,IF(ISPUT,STRIKEPRICE-CLOSE,CLOSE-STRIKEPRICE),NULL),COLORYELLOW;

直接计算价差,无需 OFFSET。输出和后续引用均为价差。非期权图表静默跳过,仅保留标题供编辑、删除;切换到期权后正常计算。