//------------------------------------------------------------------------
// 简称: wgb111
// 名称: wgb111自编策略
// 类别: 策略应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
Numeric ATRLength(14); // ATR周期
Numeric StopLossATRMulti(2.0); // 止损ATR倍数
Numeric TakeProfitATRMulti(2.0); // 止盈ATR倍数
Numeric MinBarsAfterEntry(5); // 开仓后最小K线数
Numeric TradeVolume(1); // 交易手数(可手动调节)
Bool EnableClosePosition(True); // 启用收盘清仓功能
Numeric DayCloseTime(1458); // 日盘收盘时间(14:58)
Numeric NightCloseTime1(2258); // 夜盘收盘时间1(22:58)
Numeric NightCloseTime2(228); // 夜盘收盘时间2(02:28)
Numeric NightCloseTime3(58); // 夜盘收盘时间3(00:58)
Vars
Series<Numeric> SJ; // 日期过滤条件
Series<Numeric> HH1; // 临时高点1
Series<Numeric> LL1; // 临时低点1
Series<Numeric> HH; // 综合高点
Series<Numeric> LL; // 综合低点
Series<Numeric> H1; // 确认高点
Series<Numeric> L1; // 确认低点
Series<Numeric> X0; // 高点信号
Series<Numeric> X00; // 低点信号
Series<Numeric> H2; // 有效高点
Series<Numeric> L2; // 有效低点
Series<Numeric> K1; // 多空状态
Series<Numeric> K2; // 多空状态确认
Series<Numeric> G; // 多空分界线
Series<Numeric> TMP; // 交易信号
Series<Numeric> ATRVal; // ATR值
Series<Numeric> EntryPrice; // 入场价格
Series<Numeric> StopLossPrice; // 止损价格
Series<Numeric> TakeProfitPrice; // 止盈价格
Series<Numeric> MP; // 仓位状态记录
Bool CanTrade(True); // 允许交易标志
Bool BuySignal(False); // 做多信号
Bool SellSignal(False); // 做空信号
Series<Numeric> HighestOpen; // 开盘价最高值
Series<Numeric> LowestOpen; // 开盘价最低值
Series<Numeric> BarsSinceEntry; // 开仓后的K线数
Series<Numeric> PrevTMP; // 上一根K线的TMP值
Bool SignalGenerated(False); // 信号生成标志
Bool ClosePositionSignal(False); // 清仓信号
Bool BuyCondition(False); // 做多条件
Bool SellCondition(False); // 做空条件
Bool TradeExecuted(False); // 交易已执行标志
Numeric LastSignalBar(0); // 上次信号发生的K线
Bool BuyConditionPrev(False); // 上一根K线的做多条件
Bool SellConditionPrev(False); // 上一根K线的做空条件
// ========== 信号变量 ==========
Bool NextBarBuySignal(False); // 下一根K线开盘买入信号
Bool NextBarSellSignal(False); // 下一根K线开盘卖出信号
Bool NextBarCloseSignal(False); // 下一根K线开盘清仓信号
// ========== 新增关键变量 ==========
Bool CrossUpSignal(False); // 上穿信号
Bool CrossDownSignal(False); // 下穿信号
Numeric PrevK2(0); // 上一根K线的K2值
// ========== 新增变量:防信号闪烁 ==========
Bool SignalDetectedThisBar(False); // 本K线已检测到信号
Bool TradeExecutedThisBar(False); // 本K线已执行交易
Series<Numeric> BuySignalPrice; // 买入信号价格标记
Series<Numeric> SellSignalPrice; // 卖出信号价格标记
Series<Numeric> CloseSignalPrice; // 清仓信号价格标记
Bool CurrentBuySignal(False); // 当前K线买入信号
Bool CurrentSellSignal(False); // 当前K线卖出信号
Bool CurrentCloseSignal(False); // 当前K线清仓信号
Events
OnBar(ArrayRef<Integer> indexs)
{
// 初始化
If (BarStatus == 0)
{
MP = 0;
CanTrade = True;
BuySignal = False;
SellSignal = False;
HighestOpen = Open;
LowestOpen = Open;
H2 = 0;
L2 = 0;
K2 = 0;
BarsSinceEntry = 0;
PrevTMP = 0;
SignalGenerated = False;
ClosePositionSignal = False;
BuyCondition = False;
SellCondition = False;
TradeExecuted = False;
TradeExecutedThisBar = False;
LastSignalBar = 0;
BuyConditionPrev = False;
SellConditionPrev = False;
}
// 每根K线开始时重置交易权限
If (BarStatus == 1)
{
CanTrade = True;
TradeExecuted = False;
// 保存上一根K线的信号条件
BuyConditionPrev = BuyCondition;
SellConditionPrev = SellCondition;
}
// 更新开仓后的K线数
If (MarketPosition != 0)
{
BarsSinceEntry = BarsSinceEntry + 1;
}
Else
{
BarsSinceEntry = 0;
}
// 保存上一根K线的TMP值
PrevTMP = TMP[1];
// 更新开盘价最高最低值
HighestOpen = Max(HighestOpen[1], Open);
LowestOpen = Min(LowestOpen[1], Open);
// 计算ATR
ATRVal = AvgTrueRange(ATRLength);
// 计算日期条件
SJ = IIF(Date + 0 < 20991028, 1, 0);
// 计算临时高点和低点
HH1 = IIF(H < Ref(H, 1) && Ref(H, 1) < Ref(H, 2), Ref(H, 2), 0);
LL1 = IIF(L > Ref(L, 1) && Ref(L, 1) > Ref(L, 2), Ref(L, 2), 0);
// 计算综合高点和低点
HH = (Highest(H, 1) * SJ / 10) +
(Highest(H, 2) / 10) +
(Highest(H, 2) / 10) +
(Highest(H, 4) / 10) +
(Highest(H, 4) / 10) +
(Highest(H, 8) / 10) +
(Highest(H, 8) / 10) +
(Highest(H, 13) / 10) +
(Highest(H, 40) / 10) +
(Highest(H, 20) / 10);
LL = (Lowest(L, 1) * SJ / 10) +
(Lowest(L, 2) / 10) +
(Lowest(L, 2) / 10) +
(Lowest(L, 4) / 10) +
(Lowest(L, 4) / 10) +
(Lowest(L, 8) / 10) +
(Lowest(L, 8) / 10) +
(Lowest(L, 13) / 10) +
(Lowest(L, 40) / 10) +
(Lowest(L, 20) / 10);
// 计算确认高点和低点
H1 = IIF(HH < Ref(HH, 1) && LL < Ref(LL, 1) &&
Ref(Open, 1) > Close && Open > Close &&
(HighestOpen - Close) > 0, Ref(HH, 2), 0);
L1 = IIF(LL > Ref(LL, 1) && HH > Ref(HH, 1) &&
Ref(Open, 1) < Close && Open < Close &&
(Close - LowestOpen) > 0, Ref(LL, 2), 0);
// 计算信号
X0 = H1;
X00 = L1;
// 替代VALUEWHEN函数:计算有效高点和低点
// 使用条件判断查找最近一次X0>0的值
If (X0 > 0)
{
H2 = X0;
}
Else
{
H2 = H2[1];
}
// 使用条件判断查找最近一次X00>0的值
If (X00 > 0)
{
L2 = X00;
}
Else
{
L2 = L2[1];
}
// 计算多空状态
K1 = IIF(Close > H2, -3, IIF(Close < L2, 1, 0));
// 替代VALUEWHEN函数:计算K2
If (K1 != 0)
{
K2 = K1;
}
Else
{
K2 = K2[1];
}
G = IIF(K2 == 1, H2, L2);
TMP = K2;
// 检测交易条件 - 使用CrossOver和CrossUnder函数
BuyCondition = CrossUnder(TMP, 0) && Vol > 0;
SellCondition = CrossOver(TMP, 0) && Vol > 0;
// 检测收盘清仓信号 - 增加00:59清仓时间
If (EnableClosePosition)
{
// 日盘收盘时间14:59
If (Time >= DayCloseTime/10000 && Time < (DayCloseTime/10000 + 0.0001))
{
ClosePositionSignal = True;
}
// 夜盘收盘时间22:59
Else If (Time >= NightCloseTime1/10000 && Time < (NightCloseTime1/10000 + 0.0001))
{
ClosePositionSignal = True;
}
// 夜盘收盘时间02:29
Else If (Time >= NightCloseTime2/10000 && Time < (NightCloseTime2/10000 + 0.0001))
{
ClosePositionSignal = True;
}
// 夜盘收盘时间00:59 - 新增时间点
Else If (Time >= NightCloseTime3/10000 && Time < (NightCloseTime3/10000 + 0.0001))
{
ClosePositionSignal = True;
}
// 处理跨天情况:02:29在第二天凌晨
Else If (NightCloseTime2 < 1000 && Time >= (240000 + NightCloseTime2)/10000)
{
ClosePositionSignal = True;
}
// 处理跨天情况:00:59在第二天凌晨 - 新增
Else If (NightCloseTime3 < 1000 && Time >= (240000 + NightCloseTime3)/10000)
{
ClosePositionSignal = True;
}
Else
{
ClosePositionSignal = False;
}
}
// ========== 关键修改:当根K线收盘时判断信号 ==========
If (BarStatus == 2)
{
// 检测交易信号
If (BuyCondition && !BuyConditionPrev && Vol > 0)
{
NextBarBuySignal = True;
NextBarSellSignal = False;
SignalGenerated = True;
LastSignalBar = CurrentBar;
CurrentBuySignal = True;
}
Else If (SellCondition && !SellConditionPrev && Vol > 0)
{
NextBarSellSignal = True;
NextBarBuySignal = False;
SignalGenerated = True;
LastSignalBar = CurrentBar;
CurrentSellSignal = True;
}
}
Else
{
// 如果不是新信号,保持原有状态
SignalGenerated = False;
// 只在K线收盘时重置信号,避免信号丢失
If (BarStatus == 2)
{
BuySignal = False;
SellSignal = False;
SignalGenerated = False;
}
}
// 系统交易逻辑 - 连续反转模式 下一根K线开盘时执行委托
If (BarStatus == 2 && CanTrade && Vol > 0 && !TradeExecutedThisBar)
{
CanTrade = True;
TradeExecuted = False;
// 收盘清仓信号
If (ClosePositionSignal && MarketPosition != 0 && !TradeExecutedThisBar)
{
If (MarketPosition == 1)
Sell(TradeVolume, Open);
Else
BuyToCover(TradeVolume, Open);
CanTrade = False;
TradeExecuted = True;
TradeExecutedThisBar = True; // 标记本K线已执行交易
NextBarCloseSignal = False;
}
// 做多信号处理 - 确保只执行一次
If (NextBarBuySignal && !TradeExecutedThisBar)
{
// 平掉所有现有仓位
If (MarketPosition != 0)
{
If (MarketPosition == 1)
Sell(TradeVolume, Close);
Else
BuyToCover(TradeVolume, Close);
}
// 开立多头仓位
Buy(TradeVolume, Close);
EntryPrice = Close;
StopLossPrice = EntryPrice - StopLossATRMulti * ATRVal[1];
TakeProfitPrice = EntryPrice + TakeProfitATRMulti * ATRVal[1];
CanTrade = False;
BarsSinceEntry = 0;
TradeExecuted = True;
NextBarBuySignal = False;
TradeExecutedThisBar = True; // 标记本K线已执行交易
// 重置信号
SellSignal = False;
SignalGenerated = False;
}
// 做空信号处理 - 确保只执行一次
If (NextBarSellSignal && !TradeExecutedThisBar)
{
// 平掉所有现有仓位
If (MarketPosition != 0)
{
If (MarketPosition == 1)
Sell(TradeVolume, Close);
Else
BuyToCover(TradeVolume, Close);
}
// 开立空头仓位
SellShort(TradeVolume, Close);
EntryPrice = Close;
StopLossPrice = EntryPrice + StopLossATRMulti * ATRVal[1];
TakeProfitPrice = EntryPrice - TakeProfitATRMulti * ATRVal[1];
CanTrade = False;
BarsSinceEntry = 0;
TradeExecuted = True;
NextBarSellSignal = False;
TradeExecutedThisBar = True; // 标记本K线已执行交易
// 重置信号
SellSignal = False;
SignalGenerated = False;
}
}
// 记录仓位状态
MP = MarketPosition;
}
//------------------------------------------------------------------------
// 编译版本 2025/9/27 42927
// 版权所有 wgb13568805968
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TradeBlazer策略修改和重写的权利
//------------------------------------------------------------------------
策略可以的,你这是 破解的通达信策略,可以改简单点有的是无效代码://Numeric ATRLength(14); // ATR周期
//Numeric StopLossATRMulti(2.0); // 止损ATR倍数
//Numeric TakeProfitATRMulti(2.0); // 止盈ATR倍数
//Numeric MinBarsAfterEntry(5); // 开仓后最小K线数
这是锁对你没用 SJ = IIF(Date + 0 < 20991028, 1, 0);//SJ=1;

还有什么地方改动 删除了 编一个完整的 不会信号闪烁的
// 计算多空状态
K1 = IIF(Close[1] > H2, -3, IIF(Close[1] < L2, 1, 0));
谢谢
Params
Numeric TradeVolume(1); // 交易手数(可手动调节)
Bool EnableClosePosition(True); // 启用收盘清仓功能
Numeric DayCloseTime(1458); // 日盘收盘时间(14:58)
Numeric NightCloseTime1(2258); // 夜盘收盘时间1(22:58)
Numeric NightCloseTime2(0228); // 夜盘收盘时间2(02:28)
Numeric NightCloseTime3(0058); // 夜盘收盘时间3(00:58)
Vars
Series<Numeric> SJ; // 日期过滤条件
Series<Numeric> HH1; // 临时高点1
Series<Numeric> LL1; // 临时低点1
Series<Numeric> HH; // 综合高点
Series<Numeric> LL; // 综合低点
Series<Numeric> H1; // 确认高点
Series<Numeric> L1; // 确认低点
Series<Numeric> X0; // 高点信号
Series<Numeric> X00; // 低点信号
Series<Numeric> H2; // 有效高点
Series<Numeric> L2; // 有效低点
Series<Numeric> K1; // 多空状态
Series<Numeric> K2; // 多空状态确认
Series<Numeric> G; // 多空分界线
Series<Numeric> TMP; // 交易信号
Series<Numeric> ATRVal; // ATR值
Series<Numeric> MyEntryPrice; // 入场价格
Series<Numeric> StopLossPrice; // 止损价格
Series<Numeric> TakeProfitPrice; // 止盈价格
Series<Numeric> MP; // 仓位状态记录
Bool MyCanTrade(True); // 允许交易标志
Bool BuySignal(False); // 做多信号
Bool SellSignal(False); // 做空信号
Series<Numeric> HighestOpen; // 开盘价最高值
Series<Numeric> LowestOpen; // 开盘价最低值
Series<Numeric> myBarsSinceEntry; // 开仓后的K线数
Series<Numeric> PrevTMP; // 上一根K线的TMP值
Bool SignalGenerated(False); // 信号生成标志
Bool ClosePositionSignal(False); // 清仓信号
Bool BuyCondition(False); // 做多条件
Bool SellCondition(False); // 做空条件
Bool TradeExecuted(False); // 交易已执行标志
Numeric LastSignalBar(0); // 上次信号发生的K线
Bool BuyConditionPrev(False); // 上一根K线的做多条件
Bool SellConditionPrev(False); // 上一根K线的做空条件
// ========== 信号变量 ==========
Bool NextBarBuySignal(False); // 下一根K线开盘买入信号
Bool NextBarSellSignal(False); // 下一根K线开盘卖出信号
Bool NextBarCloseSignal(False); // 下一根K线开盘清仓信号
// ========== 新增关键变量 ==========
Bool CrossUpSignal(False); // 上穿信号
Bool CrossDownSignal(False); // 下穿信号
Numeric PrevK2(0); // 上一根K线的K2值
// ========== 新增变量:防信号闪烁 ==========
Bool SignalDetectedThisBar(False); // 本K线已检测到信号
Bool TradeExecutedThisBar(False); // 本K线已执行交易
Series<Numeric> BuySignalPrice; // 买入信号价格标记
Series<Numeric> SellSignalPrice; // 卖出信号价格标记
Series<Numeric> CloseSignalPrice; // 清仓信号价格标记
Bool CurrentBuySignal(False); // 当前K线买入信号
Bool CurrentSellSignal(False); // 当前K线卖出信号
Bool CurrentCloseSignal(False); // 当前K线清仓信号
Events
OnBar(ArrayRef<Integer> indexs)
{
// 每根K线开始时重置交易权限
If (BarStatus == 1) //值0第一个Bar,1中间的普通Bar,2最后一个Bar
{
MyCanTrade = True;
TradeExecuted = False;
// 保存上一根K线的信号条件
BuyConditionPrev = BuyCondition;//上一根开多
SellConditionPrev = SellCondition;//上一根一空
}
// 更新开仓后的K线数
If (MarketPosition != 0)
{
MyBarsSinceEntry = BarsSinceEntry + 1;
}
Else
{
MyBarsSinceEntry = 0;
}
// 保存上一根K线的TMP值
PrevTMP = TMP[1];
// 更新开盘价最高最低值
HighestOpen = Max(HighestOpen[1], Open);
LowestOpen = Min(LowestOpen[1], Open);
// 计算日期条件
SJ = IIF(Date + 0 < 20991028, 1, 0);//SJ=1;
// 计算临时高点和低点
HH1 = IIF(High < Ref(High, 1) && Ref(High, 1) < Ref(High, 2), Ref(High, 2), 0);
LL1 = IIF(Low > Ref(Low, 1) && Ref(Low, 1) > Ref(Low, 2), Ref(Low, 1), 2);
// 计算综合高点和低点
HH = (Highest(High, 1) * SJ / 10) +
(Highest(High, 2) / 10) +
(Highest(High, 2) / 10) +
(Highest(High, 4) / 10) +
(Highest(High, 4) / 10) +
(Highest(High, 8) / 10) +
(Highest(High, 8) / 10) +
(Highest(High, 13) / 10) +
(Highest(High, 40) / 10) +
(Highest(High, 20) / 10);
LL = (Lowest(Low, 1) * SJ / 10) +
(Lowest(Low, 2) / 10) +
(Lowest(Low, 2) / 10) +
(Lowest(Low, 4) / 10) +
(Lowest(Low, 4) / 10) +
(Lowest(Low, 8) / 10) +
(Lowest(Low, 8) / 10) +
(Lowest(Low, 13) / 10) +
(Lowest(Low, 40) / 10) +
(Lowest(Low, 20) / 10);
// 计算确认高点和低点
H1 = IIF(HH < Ref(HH, 1) && LL < Ref(LL, 1) &&
Ref(Open, 1) > Close && Open > Close &&
(HighestOpen - Close) > 0, Ref(HH, 2), 0);
L1 = IIF(LL > Ref(LL, 1) && HH > Ref(HH, 1) &&
Ref(Open, 1) < Close && Open < Close &&
(Close - LowestOpen) > 0, Ref(LL, 2), 0);
// 计算信号
X0 = H1;
X00 = L1;
// 计算有效高点和低点
// 使用条件判断查找最近一次X0>0的值
If (X0 > 0)
{
H2 = X0;
}
Else
{
H2 = H2[1];
}
// 使用条件判断查找最近一次X00>0的值
If (X00 > 0)
{
L2 = X00;
}
Else
{
L2 = L2[1];
}
// 计算多空状态
K1 = IIF(Close[1] > H2, -3, IIF(Close[1] < L2, 1, 0));
// 计算K2
If (K1 != 0)
{
K2 = K1;
}
Else
{
K2 = K2[1];
}
G = IIF(K2 == 1, H2, L2);
TMP = K2;
IF(TMP>0)
{
PlotNumeric("G",G,G,DarkGreen);
}
IF(TMP<0)
{
PlotNumeric("G",G,G,DarkRed);
}
// 检测交易条件 - 使用CrossOver和CrossUnder函数
BuyCondition = CrossUnder(TMP, 0) && Vol > 0;//开多信号
SellCondition = CrossOver(TMP, 0) && Vol > 0;//开空信号
// 检测收盘清仓信号 - 增加00:59清仓时间
If (EnableClosePosition)
{
// 日盘收盘时间14:59
If (Time >= DayCloseTime/10000 && Time < (DayCloseTime/10000 + 0.0001))
{
ClosePositionSignal = True;
}
// 夜盘收盘时间22:59
Else
If (Time >= NightCloseTime1/10000 && Time < (NightCloseTime1/10000 + 0.0001))
{
ClosePositionSignal = True;
}
// 夜盘收盘时间02:29
Else
If (Time >= NightCloseTime2/10000 && Time < (NightCloseTime2/10000 + 0.0001))
{
ClosePositionSignal = True;
}
// 夜盘收盘时间00:59 - 新增时间点
Else
If (Time >= NightCloseTime3/10000 && Time < (NightCloseTime3/10000 + 0.0001))
{
ClosePositionSignal = True;
}
// 处理跨天情况:02:29在第二天凌晨
Else
If (NightCloseTime2 < 1000 && Time >= (240000 + NightCloseTime2)/10000)
{
ClosePositionSignal = True;
}
// 处理跨天情况:00:59在第二天凌晨 - 新增
Else
If (NightCloseTime3 < 1000 && Time >= (240000 + NightCloseTime3)/10000)
{
ClosePositionSignal = True;
}
Else
{
ClosePositionSignal = False;
}
}
// ========== 关键修改:当根K线收盘时判断信号 ==========
If (BarStatus == 1)//值0第一个Bar,1中间的普通Bar,2最后一个Bar
{
// 检测交易信号
If (BuyCondition && !BuyConditionPrev && Vol > 0)
{
NextBarBuySignal = True;
NextBarSellSignal = False;
SignalGenerated = True;
LastSignalBar = CurrentBar;
CurrentBuySignal = True;
}
Else
If (SellCondition && !SellConditionPrev && Vol > 0)
{
NextBarSellSignal = True;
NextBarBuySignal = False;
SignalGenerated = True;
LastSignalBar = CurrentBar;
CurrentSellSignal = True;
}
}
Else
{
// 如果不是新信号,保持原有状态
SignalGenerated = False;
// 只在K线收盘时重置信号,避免信号丢失
If (BarStatus == 1)//值0第一个Bar,1中间的普通Bar,2最后一个Bar
{
BuySignal = False;
SellSignal = False;
SignalGenerated = False;
}
}
// 系统交易逻辑 - 连续反转模式 下一根K线开盘时执行委托
If (BarStatus == 1&& MyCanTrade && Vol > 0 && !TradeExecutedThisBar)
{
MyCanTrade = True;
TradeExecuted = False;
// 收盘清仓信号
If (ClosePositionSignal && MarketPosition != 0 && !TradeExecutedThisBar)
{
If (MarketPosition == 1)
Sell(TradeVolume, Open);
Else
BuyToCover(TradeVolume, Open);
MyCanTrade = False;
TradeExecuted = True;
TradeExecutedThisBar = True; // 标记本K线已执行交易
NextBarCloseSignal = False;
}
// 做多信号处理 - 确保只执行一次
If (MarketPosition<=0 And NextBarBuySignal And !TradeExecutedThisBar)
{
// 开立多头仓位
Buy(TradeVolume, Close);
MyEntryPrice = Close;
MyCanTrade = False;
MyBarsSinceEntry = 0;
TradeExecuted = True;
NextBarBuySignal = False;
TradeExecutedThisBar = True; // 标记本K线已执行交易
// 重置信号
SellSignal = False;
SignalGenerated = False;
}
// 做空信号处理 - 确保只执行一次
If (MarketPosition >= 0 And NextBarSellSignal And !TradeExecutedThisBar)
{
// 开立空头仓位
SellShort(TradeVolume, G);
MyEntryPrice = Close;
MyCanTrade = False;
MyBarsSinceEntry = 0;
TradeExecuted = True;
NextBarSellSignal = False;
TradeExecutedThisBar = True; // 标记本K线已执行交易
// 重置信号
SellSignal = False;
SignalGenerated = False;
}
}
// 记录仓位状态
MP = MarketPosition;
}
//测试:Commentary("SJ="+text(SJ));
//测试:PlotBool("OPEN > 0",ClosePositionSignal, High);
测试过没发现
谢谢老师编译 你前面说的改成Close[1] 后闪烁也没有了 感谢
这个代码编写后K线图没有了图片里面多空开仓标记和连线 老师在那个地方调出来 我前面一个策略K线图有标记连线 如图

这个策略编的是多空反转 收盘清仓 下一时段开盘后没有仓位, 这个策略只能在下一时段开盘多空出现信号相反时才会开仓 而是同一方向不会继续开仓,这样有时候会失去开盘后同方向的机会,我想把开盘后按照最新信号继续开仓,比如原来收盘前是多头继续开多,实空继续开空。试了机构编译逻辑代码,都还是和原来的多空策略一样开仓,怎么编把下一时段开盘继续开仓加进去呢?
没理解,你把需求写清楚重新发贴吧
就是这个策略是收盘清仓 在期货下一个时段是没有仓位的 开盘后按照盘中新的信号重新开仓