Params
Numeric FastLength(5); // 快速指数移动平均线参数
Vars
Series<Numeric> FastMA; // 记录快速指数移动平均线值的Series
Events
OnBar(ArrayRef<Integer> indexs) // K线新生产时执行交易逻辑
{
FastMA = AverageFC(Close, FastLength); // 计算快速指数移动平均线
PlotNumeric(\"快速均线\", FastMA); // 在图表上显示快速均线
// 判断当前持仓情况并决定是否发出交易信号
// 如果当前持仓为多头仓位(MarketPosition = 1),
// 则不会再次进行买入交易
// 当快速均线上穿慢速均线时,产生买入信号;
if (MarketPosition != 1 && FastMA[0] > FastMA[1])
{
Buy(1, Open); // 买入开仓
}
// 如果当前持仓为空头仓位(MarketPosition = -1),
// 则不会再次进行卖出交易
// 当快速均线下穿慢速均线时,产生卖出信号;
if (MarketPosition != -1 && FastMA[0] < FastMA[1])
{
SellShort(1, Open); // 卖出开仓
}
}
总是信号闪烁,实际不发生交易
换成Close[1],同时写在OnBarOpen事件中
你这个肯定是信号闪烁 没什么好说的 fastma根据close算术平均计算,那么fastma就是close的增函数,那么只要用close是闪烁的,fastma就必定是闪烁的
您好,这个可以帮忙修改一下吗