- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
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);
●借鉴学习使用,请勿实盘。应充分验证!
文档评论(0)