系统自带RedRover_L策略应该都是开盘时下单的,但有的模拟盘是在下午下单的,这是怎么回事呢?

老师下面系统自带的策略,应该都是开盘时下单的,但有的模拟盘是在下午下单的,这是怎么回事呢?


//------------------------------------------------------------------------

// 简称: RedRover_L

// 名称: 基于K线加权均值的支撑阻力线突破系统多

// 类别: 公式应用

// 类型: 内建应用

// 输出:

//------------------------------------------------------------------------

//----------------------------------------------------------------------//

// 策略说明:

// 本策略是基于K线加权均值的支撑阻力线突破系统

//

// 系统要素:

// 1. K线的加权均值 = (最高价+最低价+2*收盘价)/4

// 2. 支撑线 = K线加权均值 - ( 最高价 - K线加权均值)

// 3. 阻力线 = K线加权均值 + ( K线加权均值 - 最低价)

// 入场条件:

// 1. 当价格向上突破阻力线做多

// 2. 当价格向下突破支撑线做空

// 出场条件:

// 1. 趋势反转即反向突破时出场

// 2. 基于ATR的一定倍数的止盈

//

// 注: 当前策略仅为做多系统, 如需做空, 请参见CL_RedRover_S

//----------------------------------------------------------------------//

Params

Numeric ATRs(3); // 几倍ATR止盈

Numeric ATRLength(10); // ATR周期

Vars

Series<Numeric> WAvgPrice; // K线加权均值

Series<Numeric> Resistance; // 阻力线

Series<Numeric> Support; // 支撑线

Numeric ATRVal; // ATR(平均真实波幅)

Series<Numeric> myExitPrice; // 开仓BAR根据当时的ATR计算出的止盈价

Events

OnBar(ArrayRef<Integer> indexs)

{

// 计算当前K线的加权均值、阻力线和支撑线

WAvgPrice = (High + Low + (Close * 2)) / 4;

Resistance = (WAvgPrice * 2) - Low;

Support = (WAvgPrice * 2) - High;

// 输出指标

PlotNumeric("Resistance",Resistance[1]);

PlotNumeric("Support",Support[1]);

// 计算ATR

ATRVal = AvgTrueRange(ATRLength);

// 开仓

If(MarketPosition == 0 And High >= Resistance[1] + MinMove * PriceScale And Vol > 0)

{

Buy(0, Max(Open,Resistance[1] + MinMove * PriceScale));

}

// 开仓时根据开仓BAR的ATR计算止盈价

If(MarketPosition == 1 And BarsSinceEntry == 0)

{

myExitPrice = EntryPrice + ATRVal * ATRs;

}

// 平仓

If(MarketPosition == 1 And BarsSinceEntry > 0 And Vol > 0)

{

// 止盈出场

If(High >= myExitPrice)

{

Sell(0, Max(Open,myExitPrice));

Commentary("止盈出场");

}

// 反向突破止损出场

Else If(Low <= Support[1] - MinMove * PriceScale)

{

Sell(0, Min(Open,Support[1] - MinMove * PriceScale));

Commentary("反转出场");

}

}

}

//------------------------------------------------------------------------

// 编译版本 GS2014.10.25

// 版权所有 TradeBlazer Software 2003-2025

// 更改声明 TradeBlazer Software保留对TradeBlazer平

// 台每一版本的TradeBlazer公式修改和重写的权利


//------------------------------------------------------------------------








在开盘一瞬间下单的问题
开盘延迟下单
buy/sell下单返回ture,但实际下单失败
策略实盘模拟中,平仓时自动下单错误,应该平仓结果又做多
盘口下单
模拟账户的下单笔数上限
策略交易在没有信号的情况下发生委托交易是怎么回事呢
模拟账户的“下单笔数上限”
A_GetCommissionRate模拟实盘时获取失败是正常的吗?A_GetMarginRate模拟实盘时可以
为什么开盘时会闪烁的呢,我用的是A函数

如需做空, 请参见CL_RedRover_S,能否给个CL_RedRover_S,源码?多谢!

平台里有

你是怎么得出这个策略是开盘时下单这个结论的?

Buy(0, Max(Open,Resistance[1] + MinMove * PriceScale));

Sell(0, Min(Open,Support[1] - MinMove * PriceScale));

老师,这两句都有open

这里的open这是代表当根bar的开盘价

......