Params
Numeric Length_day(30); // 日线均线周期(默认30)
Numeric Length5_min(5); // 5分钟短周期均线(默认5)
Numeric Length30_min(30); // 5分钟长周期均线(默认30)
Vars
// 日线指标
Series<Numeric> ma_day; // 日线均线
Numeric prev_prev_close_day; // 日线前前根收盘价(t-2)
Numeric prev_close_day; // 日线前根收盘价(t-1)
// 5分钟指标
Series<Numeric> ma5_min; // 5分钟短均线
Series<Numeric> ma30_min; // 5分钟长均线
// 信号标志
Bool golden_cross; // 金叉信号
Bool death_cross; // 死叉信号
Events
OnInit()
{
// 订阅5分钟主周期(Data[0])和日线引用周期(Data[1])
SubscribeBar(Symbol, "5m", BeginDateTime);
SubscribeBar(Symbol, "D", BeginDateTime);
}
// 每根K线触发事件(逻辑不变)
OnBar(ArrayRef<Integer> indexs)
{
// 计算日线指标...(同上)
ma_day = Data[1].AverageFC(Data[1].Close, Length_day);
prev_prev_close_day = Data[1].Close[-2];
prev_close_day = Data[1].Close[-1];
// 计算5分钟指标...(同上)
ma5_min = Data[0].AverageFC(Data[0].Close, Length5_min);
ma30_min = Data[0].AverageFC(Data[0].Close, Length30_min);
// 判断金叉/死叉...(同上)
golden_cross = (ma5_min[1] < ma30_min[1]) && (ma5_min > ma30_min);
death_cross = (ma5_min[1] > ma30_min[1]) && (ma5_min < ma30_min);
// 趋势判断与交易逻辑...(同上)
if (prev_prev_close_day < prev_close_day)
{
// 开多和平多逻辑...
}
else if (prev_prev_close_day > prev_close_day)
{
// 开空和平空逻辑...
}
}
SubscribeBar(Symbol, "1D", BeginDateTime);
日线 ,缺个1
此楼为标准答案