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);
}
}