20250211直播培训-智大领峰几种预警方式(附带代码)
智大领峰预警函数预警 Params //此处添加参数 Vars //此处添加变量 Natural Integer Kflag(0); Defs //此处添加策略函数 Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { Range[0:DataCount - 1] { if(Open > Open[1] and Kflag == 0) { Alert(Symbol+"开盘价上涨!"); Kflag = Kflag + 1; PlotAuto("符合条件", 1); } Else { PlotAuto("符合条件", 0); } } } OnBarOpen(ArrayRef<Integer> indexes) { Range[0:DataCount - 1] { Kflag = 0; } } 信号预警 Params //此处添加参数 Vars //此处添加变量 Defs //此处添加策略函数 Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { if(Open > Open[1]) buy(0,o); Else SellShort(0,o); } 代码推送到自定义板块请自行修改自定义板块的一二级目录名称 Params //此处添加参数 Vars //此处添加变量 Map<String, String> mySyms; //推送自定义合约的MAP Global String tmpSyms; //自定义合约的股票 Global Integer i; Defs //此处添加策略函数 Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { range[0:0] { if(BarStatus == 2) { for i = 0 to DataSourceSize() - 1 { if(data[i].o > data[i].o[1] ) tmpSyms = tmpSyms + data[i].Symbol + ","; } if( len(tmpSyms) > 0) { mySyms["合约集合"] = tmpSyms; //选股合约 mySyms["板块名称"] = "自选_zizi"; //自定义行情设置,格式是:一级板块_二级板块 mySyms["添加方式"] = "override"; //更新方式:override,append mySyms["策略名称"] = FormulaName(); PublishEvent("系统-选股事件", mySyms, "行情报价"); //发送选股事件到行情报价 tmpSyms = ""; //清空股票池 } } } } 自定义字段输出中文Params Numeric FastLength(12); Numeric SlowLength(26); Numeric MACDLength(9); Vars Numeric MACDDiff; Numeric AvgMACD; Numeric MACDValue; Events OnReady() { Range[0:DataSourceSize() - 1] { setPlotOption("MACDDiff", "begin-bar", SlowLength); setPlotOption("MACDDEA", "begin-bar", SlowLength + MACDLength); setPlotOption("MACD", "begin-bar", SlowLength + MACDLength); } } OnBar(ArrayRef<Integer> indexs) { Range[0:DataSourceSize() - 1] { MACDDiff = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ; AvgMACD = XAverage(MACDDiff, MACDLength); MACDValue = 2 * (MACDDiff - AvgMACD); bool conL; bool cons; conL = CrossOver(MACDDiff, AvgMACD); conS = CrossUnder(MACDDiff, AvgMACD); if(conL) PlotAuto("MACD状态","金叉", 0, Red); else if(cons) PlotAuto("MACD状态","死叉", 0, Green); Else PlotAuto("MACD状态","", Red); } }