我写了一一个信号提醒?如果信号发生,下午三点收盘不提醒,提醒要到晚上九点开盘了,请问能如何优化一下?
以下是代码:
// 收盘价下破前低预警指标(带消息提醒)
Params
Numeric AlertSound(1); // 预警声音类型(可选)
Vars
Bool AlertCondition(false); // 预警触发条件
Series<Numeric> PreviousLow(0); // 记录上一根K线的最低价
Events
OnBarclose(ArrayRef<Integer> indexs)
{
// 记录上一根K线的最低价
PreviousLow = Low[1];
// 核心逻辑:判断当前K线的收盘价是否低于上一根K线的最低价
AlertCondition = (Close < PreviousLow);
// 如果预警条件触发
If (AlertCondition)
{
// 1. 在注释框输出详细提示信息
Commentary("【价格下破预警】时间:" + Text(Date) + " " + Text(Time) +
", 当前收盘价:" + Text(Close) +
" < 前一根K线最低价:" + Text(PreviousLow,2));
// 2. 在图表上绘制向下箭头标记,直观显示预警位置
PlotString("S", "↓", High + 1 * MinMove * PriceScale);
// 3. 触发系统声音预警(如果平台支持且用户开启)
//PushStatusMsg("收盘价低于上一根K线的最低价"); // 可根据需要取消注释
Alert(A_GetOrderCreateSource()+":收盘价低于上一根K线的最低价");
}
收盘(特指收盘时刻的BAR)的onbarclose需要设置提前触发
优化就要么不写这个事件域
要么用trigger提前触发close
https://www.bilibili.com/opus/684130132343914535?spm_id_from=333.1387.0.0