文档详情

开盘区间价策略(MC版).docx

发布:2025-02-11约4.43千字共10页下载文档
文本预览下载声明

开盘区间价策略(MC版)

一种基于开盘区间和收盘价交易条件的策略,旨在通过识别开盘区间内的最高价和最低价,并在特定条件下进行买入或卖空操作。

核心逻辑:

开盘区间设定:

开盘区间时间(OpenRangeTime)根据当前交易日的开盘时间和设定的最小区间长度(iRangeLengthMin)计算得出。

在此期间,策略记录并更新开盘区间内的最高价(RangeH)和最低价(RangeL),以及它们对应的时间(TimeH和TimeL)。

交易条件:

如果当前时间是开盘区间结束后且处于入场时间限制(EntryTimeLimit)内,且是首次交易(FirstTrade),则根据收盘价与开盘区间最高价和最低价的比较结果决定交易操作。

如果收盘价大于等于开盘区间最高价,则下一根K线开盘时买入。

如果收盘价小于等于开盘区间最低价,则下一根K线开盘时卖空。

交易执行:

买入或卖空操作均在下一根K线开盘时执行,且交易量为设定的合约数量(iContracts)。

首次交易后,FirstTrade标志设置为false,防止在同一天内重复执行首次交易逻辑。

退出策略:

默认情况下,策略在收盘时退出所有持仓。

其他设置:

策略包含了一些额外的变量和条件(如CustomCond,DateInFromTo等),但在此核心逻辑中未直接使用。

策略可通过设置ShowText参数来显示交易信号和相关信息。

本策略通过识别开盘区间内的价格极值,并结合首次交易条件和入场时间限制,在特定情况下执行买入或卖空操作。其交易执行和退出策略均较为简单直接,旨在捕捉开盘区间后的价格走势机会。

代码解释:

输入参数:

最小区间长度(iRangeLengthMin)为30

制动点数(iBrakePoints)

入场时间限制(iEntryTimeLimit)为-30

合约数量(iContracts)为1

盈利目标(iProfitTarget)为500

价格(Price)为收盘价

长度(Length)为12

是否显示文本(ShowText)为真

Inputs:

iRangeLengthMin(30),

iBrakePoints(1),

iEntryTimeLimit(-30),

iContracts(1),

iProfitTarget(500),

Price(Close),

Length(12),

ShowText(true)

定义变量:

Var:

OpenRangeTime(CalcTime(SessionStartTime(0,1),iRangeLengthMin)),开盘区间时间

EntryTimeLimit(CalcTime(SessionEndTime(0,1),iEntryTimeLimit)),入场时间限制

RangeH(0),RangeL(0),//区间的最高价和最低价

TimeH(0),TimeL(0),//最高价和最低价的时间

RangeHtime(0),RangeLtime(0),

vDollarStop(500),元止损

FirstTrade(true),首次交易标志

CustomCond(true),

Cond4trade(true),

vVolumeLenght(7),

ExpAvg(0),

firstcheck(true),

MaxP(0),

DateInFromTo(false)

新的一天设置

ifDateDate[1]thenbegin#如果当前日期与前一日不同

DateInFromTo=(Date=iFromYYYMMDDandDate=iToYYYMMDD);

FirstTrade=true;重置首次交易标志

RangeH=H;RangeL=L;第一天的最高价和最低价作为区间的初始值

TimeH=Time;TimeL=Time;记录最高价和最低价的时间

end

区间设置

IfLLowD(0)[1]thenTimeL=Time;如果新低,更新最低价的时间

IfHHighD(0)[1]thenTimeH=Time;如果新高,更新最高价的时间

IfTime=OpenRangeTimethenbegin如果达到开盘区间结束时间

RangeH=HighD(0);更新区间最高价

RangeL=LowD(0);更新区间最低价

RangeHtime=TimeH;

显示全部
相似文档