第2章 Alert警报 15
第2章 Alert警报
在多商品或多策略同时交易时,如果有提示信息,将会更方便我们对策略的跟踪并及时作出反应。MultiCharts为用户提供了方便的Alert警报提示功能,如下图在设置指标时,可启用警报。
图2.1 Alert警报设定
分有音频、弹出框、电子邮件,警报条件根据需要可选每根bar收盘时或每笔成交资料(即依Tick计算)发出警报。在选择每笔成交资料到来发出警报时,为保证信号的计算和指标一致,实时资料下建议信号开启bar内交易(在回测状态下,另需使用精细逐笔tick)。
MC7版本只针对指标提供警报功能,后续的MC8.5版将会对信
| 第2章 Alert警报
15
16 第2章 Alert警报
号策略也提供相同的Alert功能。
Alert 弹出一个包含必要文本的警示窗口。文本可以是动态的,静态的或无文本。 语法 Alert *如果Alert中不设文本,则弹出包含来源,商品,周期,价格的警报窗口。 注意 *Alerts 只在最后一根Bar显示。 *Alerts 设定的详细信息参考设置指标》警报 弹出一个没有文本信息的警报窗口: Alert; 弹出一个包含动态文本的警报窗口并显示星期日期: Alert(Text(\, DayOfWeek(Date))); 当收盘价大于前根K线的收盘价时,弹出包含静态文本的警报窗口: 范例 If Close > Close[1] Then Alert(Text(\)); 说明 AlertEnabled 说明 语法 注意 如果启用警报则AlertEnabled返回值为True。此信息可以让程式代码运算执行更加高效。 此功能也可用来在用户忘记开启警报时发出通知。 AlertEnabled *警报只在最后一根Bar产生。 *AlertEnabled 和 CheckAlert的不同: AlertEnabled在每一个Bar都会执行,CheckAlert只会在最最后一根Bar执行。 *若启用警报,则AlertEnabled返回True。 下例说明了如何在用户忘记开启警报时发出通知: Variable: ID(-1); If AlertEnabled=False And LastBarOnChart_S=True Then ID = Text_New_S(Date, Time_S, Low, \第2章 Alert警报
范例 16
第2章 Alert警报 17
Format Study > Properties >Alerts\); Cancel Alert 说明 语法 注意 取消警报。用于脚本中警报过多时在某些条件下关闭一些警报。 Cancel Alert Alerts只在最后一根Bar产生。 下例说明了如何根据时间关闭所有警报。在10:00pm之后,警报不会显示: If Close > Close[1] Then Alert(\); If Volume > Volume[1] Then Alert(\); If Volatility(5) > Volatility(5)[1] Then Alert(\); If OpenInt > OpenInt[1] Then Alert(\); If Time >= 2200 Then Cancel Alert; 范例 CheckAlert 说明 语法 注意 如果在设置指标》警报中设置启用警报,则CheckAlert返回true。 True/false 只在最后一根Bar返回。 CheckAlert *AlertEnabled 和 CheckAlert的不同:AlertEnabled在每一个Bar都会执行,CheckAlert只会在最后一根Bar执行。 *警报只在最后一根Bar产生。 下例表示当警报未开启时,避免历史数据计算冗余。 当警报启用时,对警报条件进行计算: If CheckAlert Then Begin If Volume >= 2 * Average(Volume, 10) Then Alert (\going up\); End; 范例
| 第2章 Alert警报
17
18 第3章 Arrow drawing画箭头
第3章 Arrow drawing画箭头
对于特定的行情趋势或反转点等其他情形,我们希望能够在图上有特别的标识,方便观看和判断。那么,在MultiCharts图表窗口中,使用绘图工具可以增加向上或向下的箭,而此功能也可以用策略程序来实现,本章则详细说明了程序实现画箭头的方法。
Arw_Delete 说明 语法 参数 范例 删除图表上指定编号的箭头。删除成功返回0,如果指定编号无效则返回-2。 Arw_Delete(ObjectID) ObjectID——数值表达式,箭头物件的编号。 删除编号为3的箭头物件: Value1=Arw_Delete(3); Arw_GetActive 说明 语法 注意 返回目前选取的箭头物件的编号。返回-1为当前未选取任何箭头物件。 Arw_GetActive *箭头编号是在箭头物件被创建时Arw_New对应的返回值。 *测试此关键字,不管当前箭头是否被选中,每根Bar都会运算,print值会随新Bar的到来而改变。 将目前选取的箭头物件编号存入变量Value1: If c > c[1] then Value1=Arw_New_s(Date,Time_s,High,False); Value2=Arw_GetActive; Print(Value2,” “,time_s); 范例 Arw_GetColor 说明 语法 参数 返回 注意 18
取得箭头物件的颜色(RGB色码或传统色码)。 Arw_GetColor(ObjectID) ObjectID——数值表达式,箭头物件的编号。 数值——箭头颜色编码; -2——无效的箭头物件编号。 ObjectID是在箭头物件被创建时Arw_New对应的返回值。 第3章 Arrow drawing画箭头
第3章 Arrow drawing画箭头 19
取得编号为3的箭头物件的颜色值(RGB色码表示): Value1=Arw_GetColor(3); 取得编号为3的箭头物件的颜色值(传统色码表示): [LegacyColorValue=True]; Value1=Arw_GetColor(3); 范例 Arw_GetDate 说明 语法 参数 返回 注意 范例 取得箭头物件所在Bar的日期。 日期显示为YYYMMdd格式,YYY表示自1900至今的年份,MM表示月,dd表示日。 Arw_GetDate(ObjectID) ObjectID——数值表达式,箭头物件的编号。 数值——箭头所在日期; -2——无效的箭头物件编号。 ObjectID是在箭头物件被创建时Arw_New对应的返回值。 取得编号为3的箭头物件所在的Bar的日期: Value1=Arw_GetDate(3); Arw_GetDirection 说明 语法 参数 返回 注意 范例 取得箭头物件的方向(垂直位置)。 Arw_GetDirection(ObjectID) ObjectID——数值表达式,箭头物件的编号。 True——向下箭头; False——向上箭头或无效的物件编号。 ObjectID是在箭头物件被创建时Arw_New对应的返回值。 取得编号为3的箭头物件的方向,将返回值赋给变量DownArrow : Variable:DownArrow(False); DownArrow=Arw_GetDirection(3); Arw_GetFirst 说明 语法 参数 取得指定条件下最先新增在图表上的箭头物件编号。 Arw_GetFirst(Origin) Origin——数值表达式,指定箭头物件产生条件,范围为1~7: 1 — 目前公式所新增的箭头物件 | 第3章 Arrow drawing画箭头
19