文档详情

EMA糸统交易策略(TS版).docx

发布:2025-02-18约1.94千字共5页下载文档
文本预览下载声明

EMA糸统交易策略(TS版)

本策略是一个基于EMA的交易策略,主要使用了EMA(指数移动平均线)来识别交易信号,并定义了买入和卖出的条件。

策略概述:

该策略通过计算23日和30日的EMA(指数移动平均线)来识别市场趋势,并基于这些趋势生成买入(做多)和卖出(做空)信号。

策略中定义了一系列变量来跟踪EMA值、当前价格与EMA的关系、以及确定起始交易柱的最高价和最低价。

关键变量:

Length1(23):计算EMA1的时间周期。

Length2(30):计算EMA2的时间周期。

Lots(1):每次交易的手数。

EMA1、EMA2:分别为23日和30日的EMA值。StartBarHigh、StartBarLow:起始交易柱的最高价和最低价。

StartBarHighSet、StartBarLowSet:标记是否已设置起始交易柱的最高价和最低价。

策略逻辑:

计算EMA:使用XAverage函数计算23日和30日的EMA值(EMA1和EMA2)。

设置起始交易柱:

当当前收盘价高于两个EMA值时,如果尚未设置起始交易柱的最高价,则记录当前最高价为起始交易柱的最高价,并标记为已设置。类似地,

当当前收盘价低于两个EMA值时,如果尚未设置起始交易柱的最低价,则记录当前最低价为起始交易柱的最低价,并标记为已设置。

生成交易信号:

如果起始交易柱的最高价已设置且当前最高价高于起始价,则生成买入(做多)信号,并重置起始交易柱最高价标记。

如果起始交易柱的最低价已设置且当前最低价低于起始价,则生成卖出(做空)信号,并重置起始交易柱最低价标记。

交易执行:

买入和卖出操作均以市价单执行,交易手数由Lots变量指定。

绘制EMA线:

将计算出的EMA1和EMA2绘制在图表上,以便交易者观察趋势。

这个策略的核心是利用EMA指标来识别市场趋势的变化,并基于这些变化生成交易信号。

通过设定起始交易柱的最高价和最低价,策略能够更精确地捕捉价格突破的时刻,从而进行买入或卖出操作。

策略代码:

Vars:

intLength1(23);

Vars:

intLength2(30);

Vars:

intLots(1);

Vars:

doubleEMA1(0);

Vars:

doubleEMA2(0);

Vars:

doubleStartBarHigh(0);

Vars:

doubleStartBarLow(0);

Vars:

boolStartBarHighSet(false);

Vars:

boolStartBarLowSet(false);

//计算23日和30日的EMA

EMA1=XAverage(Close,Length1);

EMA2=XAverage(Close,Length2);

//检查是否为起始柱,并设置起始柱的最高价和最低价

ifCloseEMA1andCloseEMA2andnotStartBarHighSetthen

begin

StartBarHigh=High[1];

StartBarHighSet=true;

end

else

ifCloseEMA1andCloseEMA2andnotStartBarLowSetthen

begin

StartBarLow=Low[1];

StartBarLowSet=true;

end;

//检查是否满足做多条件

ifStartBarHighSetandHighStartBarHighthen

begin

//产生做多信号

Buy(LongEntry,Lots,MarketOrder,Close);

StartBarHighSet=false;//重置起始柱最高价标记

end;

//检查是否满足做空条件

ifStartBarLowSetandLowStartBarLowthen

begin

//产生做空信号

SellShort(ShortEntry,Lots,MarketOrder,Close);

StartBarLowSet=false;//重置起始柱最低价标记

end;

//绘制EMA线

Plot1(EMA1,EMA1);

Plot1(EMA2,EMA2);

●借鉴学习使用,请勿实盘。应充分验证!

显示全部
相似文档