MultiCharts编程-PowerLanguage-Alert警报
- UID
- 2
- 积分
- 2892847
- 威望
- 1396455 布
- 龙e币
- 1496392 刀
- 在线时间
- 13326 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-12-26
|
MultiCharts编程-PowerLanguage-Alert警报
在多商品或多策略同时交易时,如果有提示信息,将会更方便我们对策略的跟踪并及时作出反应。MultiCharts为用户提供了方便的Alert警报提示功能,如下图在设置指标时,可启用警报。
图2.1 Alert警报设定
分有音频、弹出框、电子邮件,警报条件根据需要可选每根bar收盘时或每笔成交资料(即依Tick计算)发出警报。在选择每笔成交资料到来发出警报时,为保证信号的计算和指标一致,实时资料下建议信号开启bar内交易(在回测状态下,另需使用精细逐笔tick)。
MC7版本只针对指标提供警报功能,后续的MC8.5版将会对信号策略也提供相同的Alert功能。
Alert
| 说明 | 弹出一个包含必要文本的警示窗口。文本可以是动态的,静态的或无文本。 | 语法 | Alert | 注意 | *如果Alert中不设文本,则弹出包含来源,商品,周期,价格的警报窗口。 *Alerts 只在最后一根Bar显示。 *Alerts 设定的详细信息参考设置指标》警报 | 范例 | 弹出一个没有文本信息的警报窗口: Alert; 弹出一个包含动态文本的警报窗口并显示星期日期: Alert(Text("Day of week is ", DayOfWeek(Date))); 当收盘价大于前根K线的收盘价时,弹出包含静态文本的警报窗口: If Close > Close[1] Then Alert(Text("Price turning up")); |
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, "Alerts are disabled. See Format Study > Properties >Alerts"); |
|
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|
|
|
|
|
|
- UID
- 2
- 积分
- 2892847
- 威望
- 1396455 布
- 龙e币
- 1496392 刀
- 在线时间
- 13326 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-12-26
|
Cancel Alert | 说明 | 取消警报。用于脚本中警报过多时在某些条件下关闭一些警报。 | 语法 | Cancel Alert | 注意 | Alerts只在最后一根Bar产生。 | 范例 | 下例说明了如何根据时间关闭所有警报。在10:00pm之后,警报不会显示: If Close > Close[1] Then Alert("Price is going up"); If Volume > Volume[1] Then Alert("Volume is increasing"); If Volatility(5) > Volatility(5)[1] Then Alert("Volatility is rising"); If OpenInt > OpenInt[1] Then Alert("Open interest is growing"); 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 ("Volume is going up"); End; |
|
|
|
|
|
|
|