求修正..32行Then变量没有被声明.需要修正
32行Then变量没有被声明.需要修正//------------------------------------------------------------------------// 简称: MACDPillar_TB_Final// 名称: MACD立柱策略(最终修正版)// 类别: 策略应用// 类型: 用户应用//------------------------------------------------------------------------Params Numeric FastLength(12); // 快线周期 Numeric SlowLength(26); // 慢线周期 Numeric SignalLength(9); // 信号线周期 Numeric MarkOffset(3); // 标记偏移系数 Vars Numeric MACDValue(0); // MACD值 Numeric AvgMACD(0); // 信号线 Numeric MACDDiff(0); // MACD柱状图 Bool BuyCondition(False); // 买入条件 Bool SellCondition(False); // 卖出条件 Numeric BuyMarkPos(0); // 买入标记位置 Numeric SellMarkPos(0); // 卖出标记位置 Numeric TextOffset(0); // 文本偏移量 Numeric i(0); // 循环计数器(备用)Begin // MACD指标计算 MACDValue = XAverage(Close, FastLength) - XAverage(Close, SlowLength); AvgMACD = XAverage(MACDValue, SignalLength); MACDDiff = MACDValue - AvgMACD; // 确保有足够历史数据 If (CurrentBar > SlowLength + SignalLength + 5) Then // Then是关键字,不需要声明 Begin // 买入条件:5>4<3<2<1形态 BuyCondition = (MACDDiff > MACDDiff[1]) And (MACDDiff[1] < MACDDiff[2]) And (MACDDiff[2] < MACDDiff[3]) And (MACDDiff[3] < MACDDiff[4]); // 卖出条件:连续2根递减 SellCondition = (MACDDiff < MACDDiff[1]) And (MACDDiff[1] < MACDDiff[2]); // 交易执行模块 If (MarketPosition <> 1 And BuyCondition) Then // Then是关键字 Begin Buy(1, Open); // 计算标记位置 BuyMarkPos = Low - MarkOffset * MinMove * PriceScale; TextOffset = (MarkOffset + 2) * MinMove * PriceScale; // 绘制买入信号 PlotNumeric("Buy", BuyMarkPos, 0, RGB(255,255,0)); PlotText("B@"+Text(Open,2), CurrentBar, Low - TextOffset, 0, RGB(255,255,0)); End; If (MarketPosition = 1 And SellCondition) Then // Then是关键字 Begin Sell(0, Open); // 计算卖出标记位置 SellMarkPos = High + MarkOffset * MinMove * PriceScale; // 绘制卖出信号 PlotNumeric("Sell", SellMarkPos, 0, RGB(0,255,255)); PlotText("S@"+Text(Open,2), CurrentBar, High + TextOffset, 0, RGB(0,255,255)); End; End;End//------------------------------------------------------------------------// 编译版本 TB5.0// 版权所有 TradeBlazer//--------------------------------