公式类型
公式系统可以编辑七种类型的公式,分别是技术指标,交易系统,条件选股,五彩K线,智能交易,公共函数,优化评价公式。
其中技术指标,交易系统,条件选股和五彩K线可以运行在主图或副图。技术指标可以有逐行和逐根两种运行模式,详见执行模式。
各种类型的公式可以自由叠加在同一个图形上。
智能交易公式,公共函数和优化评价是特殊的公式,只能在逐根模式下运行。智能交易公式在一个图上只能运行一个,而且只能运行在主图。
目录 |
技术指标
技术指标公式是最基本的公式,它用于指标图形的绘制。
技术指标可以通过指标输出来绘制图形, 指标输出可以使用下面的形式
// 经典格式,语法:指标名 冒号 表达式 [逗号 线形描述] 指标名:close; // Plot 函数, 语法:Plot<[Offset]>(X, Name=, Color=DEFAULT, CellBGColor=Default, LineWidth=1, LineType=LINESOLIDT) Plot(close, '指标名');
要叠加指标公式,可以按着Ctrl键拖放公式到图上,下面是运行了抛物转向和之字转向指标公式的例子
技术指标详细请参考指标输出和线形描述
条件选股
技术指标公式结合选股条件逻辑判断表达式,即得到条件选股公式,用于条件选股。
条件选股的公式只需要输出一条0和1的指标线,例如下面的公式:
open > close
你也可以给这条指标线命名
k1:open>close
指标线也不只限于0和1的序列,大于0的都视为真。条件选股公式成立时,将在K线下方标注箭头
交易系统
技术指标公式结合买卖逻辑判断表达式,得到交易系统公式,用于交易系统指示。
交易系统是条件选股的升级,条件选股只有1个信号输出,而交易系统可以有4种信号:
- ENTERLONG 多头开仓
- EXITLONG 多头平仓
- ENTERSHORT 空头开仓
- EXITSHORT 空头平仓
这4种指标必须带有上述的指标名,可以使用 tFilter 线形描述来过滤重复的信号, 例如下面布林线的例子:
MID := MA(CLOSE,m); UPPER:= MID + k*STD(CLOSE,m); LOWER:= MID - k*STD(CLOSE,m); ENTERSHORT:CROSS(CLOSE,LOWER),TFilter; EXITSHORT:CROSS(CLOSE,UPPER),TFilter;
运行时,满足条件时,在K线的上下方标注信号,在K线中间标注信号价位, 价位计算方式目前是 (High+Low+Close)/3;
五彩K线
技术指标公式结合色彩逻辑判断表达式,即得到K线模式公式,用于描述特定的K线模式。
五彩K线与条件选股公式的输出是一样的,都是0和1的一条指标,不同之处是绘制时,
选中的K线变成红色,非选中的变成蓝色,例如下面十字星的例子:
// 收盘价等于开盘价,最高价不等于最低价 p1:CLOSE=OPEN AND HIGH<>LOW
运行结果
智能交易
智能交易公式是交易系统公式的扩展,可以直接操控买卖行为:开平仓的时机和价格,设置止盈止损,
查询账户信息,查询交易绩效等,还可以直接操作真实交易帐号,可以进行交易测评和参数优化。
智能交易公式只能运行在主图上,只能以逐根的模式运行,分为每个Bar执行一遍和每个Tick执行一遍两种类型, 详见执行模式
智能交易公式可以像一般技术指标公式那样输出技术指标,以便核对信号。
以下是一个简单的智能交易公式:
Input://公式参数 A(5,1,30,1), B(15,5,100,4); ma1:MA(CLOSE,A); ma2:MA(CLOSE,B); bEnterLong :=CROSS(MA(CLOSE,A),MA(CLOSE,B)); bExitLong :=CROSS(MA(CLOSE,B),MA(CLOSE,A)); If bEnterLong Then Buy; If bExitLong Then Sell;
公式输出了两条均线,在金叉和死叉信号发出后进出场:
进出场已虚心三角型表示,并用虚线连接,鼠标移动到连线处可以查看开平仓的详细信息。
要了解更多,请查看智能交易公式。
公共函数
公共函数是公式的一种扩展,把常用的逻辑封装成公共函数后,
编写公式时就可以直接引用,这可以加速开发的效率,实现公式的模块化,方便了公式的管理和共享。
以下是对序列求和的一个公共函数:
//////////////////////////////// // 公共函数 Cum //////////////////////////////// // 函数参数,序列类型 input: numericseries PriceValue; // 函数返回值,上一个Bar的和加上当前的PriceValue Cum := Cum[1] + PriceValue ;
公共函数名为 Cum, 对Cum赋值:=表示函数返回,Cum[1]表示引用函数上一个Bar的返回值。
详细请查阅公共函数。
优化评价
在测评智能交易公式时,可以自行定义评价的目标,使用内置的评价函数来计算出用户关心的公式绩效。
评价公式需要在公式头部标明#OPT, 编译指令开关都是以#号开头的。
#OPT
评价公式只能用于智能交易测评,只能使用专门的评价函数,数学函数和四则运算。
评价公式使用第一个指标(表达式)作为公式的输出
例如下面的评价公式使用净利润与总盈利的比率作为衡量交易脚本的指标:
#OPT OPT_NetProfit/OPT_GrossProfit