前辈帮我看看K线没有显示我自写的公式是什么原因
//------------------------------------------------------------------------// 简称: EMA144_20_Strategy// 名称: EMA144和EMA20交易策略// 类别: 公式应用// 类型: 内建应用//------------------------------------------------------------------------Params Numeric EMA144Length(144); // EMA144周期 Numeric EMA20Length(20); // EMA20周期Vars Numeric EMA144; // EMA144值 Numeric EMA20; // EMA20值 Numeric AboveCount(0); // 收盘价连续高于EMA144的K线数量 Bool FirstNegativeBar(false); // 标记第一根阴线 Numeric EMA144Prev; // 前一个EMA144值 Numeric EMA20Prev; // 前一个EMA20值 Numeric multiplier144; // EMA144的平滑系数 Numeric multiplier20; // EMA20的平滑系数 Numeric EMA144PrevPrev; // 前前一个EMA144值Events OnBar(ArrayRef<Integer> indexs) { Range[0:DataSourceSize() - 1] { // 计算EMA平滑系数 multiplier144 = 2 / (EMA144Length + 1); multiplier20 = 2 / (EMA20Length + 1); // 保存前前一个EMA144值 EMA144PrevPrev = EMA144Prev; // 计算EMA144 if (CurrentBar == 0) { EMA144 = Close; } else { EMA144 = Close * multiplier144 + EMA144Prev * (1 - multiplier144); } EMA144Prev = EMA144; // 计算EMA20 if (CurrentBar == 0) { EMA20 = Close; } else { EMA20 = Close * multiplier20 + EMA20Prev * (1 - multiplier20); } EMA20Prev = EMA20; if (Close[1] <= EMA144PrevPrev && Close > EMA144) { // 收盘价突破EMA144,开始计数 AboveCount = 1; FirstNegativeBar = false; } else if (Close > EMA144) { // 收盘价继续高于EMA144,增加计数 AboveCount = AboveCount + 1; } else { // 收盘价跌破EMA144,重置计数 AboveCount = 0; FirstNegativeBar = false; } if (AboveCount == 3 && Close < Open &&!FirstNegativeBar) { // 连续3根K线收盘没跌破EMA144,且第一根收阴线,开仓买入 Buy(1, Close); FirstNegativeBar = true; } if (MarketPosition == 1 && Close < EMA20) { // 持仓状态下,收盘价跌破EMA20,卖出 Sell(1, Close); } } }//------------------------------------------------------------------------// 编译版本 GS2010.12.08// 版权所有 TradeBlazer Software 2003-2025// 更改声明 TradeBlazer Software保留对TradeBlazer平// 台每一版本的TradeBlazer公式修改和重写的权利//------------------------------------------------------------------------