(完整版)外汇均线金叉死叉ea实例
- 格式:doc
- 大小:30.51 KB
- 文档页数:4
(a线)所指的交叉点是5日均价线从下向上穿越10日均价线所形成的结点;(b线)所指的交叉点是5日均价线从下向上穿越20日均价线所形成的结点;(c线)所指的交叉点是10日均价线从下向上穿越20日均价线所形成的结点;由这三个结点组成一个封闭的三角形价托市场意义:当20日均价线在最上方,10日均价线在中间,5日均价线在最下方时,称为“空头排列如图中(d线段)以前的均线就是空头排列,只要均线是空头排列,那么它的下跌行情就还没有结束!只有当股价长期下跌,跌无可跌后,此时空方抛压减轻,多方开始试探性的进场,从而推动股价缓慢回升,随着股价的回升,5日均价线在下跌以来第一次上穿了10日均价线,这说明5日内买入的人愿意用超过10日内的平均价格去追涨,该股的短期需求大于了供给,在盈利示范效应的带动下,又有一批股民进场买入,捂住就能多赚又鼓励持股者继续持股,形势朝有利于多方的方向发展!不久5日均线上穿20日均线,使20日内买进的股票也有盈利,此消息继续鼓动人们买进该股,鼓励持股者继续持股,该股的需求量急增,而供给量却越来越小,终于有一天,10日均线上穿了20日均线,最终三条均线封闭成一个三角形,这使盈利的人扩展到5日持股者、10日持股者、20日持股者,这种循环继续强化的话,三条均线将向上形成多头排列.如图中(e线段)以后的均线就是多头排列,从而展开一轮多头行情!经考证后发现绝大多数个股都有这个规律,而在长期下跌的末端,这种三角形几乎成了底部的代名词由5日、10日、20日均价线组成的参数设置,组合较为敏感,对中长期底部的提示作用较弱,对阶段性短期底部的提示有一定的参考作用往往是用在15分钟、30分钟、60分钟等K线周期上的均线系统,该系统一般用来对被怀疑的股价底部区间进行微观分析,以指导对个股进行精确的瞄准从而进行买卖;由20日、40日、60日均价线组成的参数设置,该组合的稳定度较好,对中长期底部的提示作用较好,但对阶段性短期底部的提示作用稍显迟钝由5日、10日、20日、60日均价线组成,该组合既有一定的稳定度,也有一定的灵敏度请看过此日志的人找出沪深股市中由(5日、10日、20日)均线系统自然形成的底部,请注意这里“自然”两字的涵义,不要找反弹形成的,只有这样才能让你从根本上理解它的形成机理和市场意义,而不是单纯的一个三角形而已!不懂的话说明你没有认真的看上面关于市场意义的阐述,请自己多阅读几遍,反复看双价托图形特征:(1)一轮上升行情的起点往往有一个价托,当上升一定高度后,由于各种原因可能出现再次探底。
一位均线取胜的交易高手:如何有效识别真假金叉、死叉?识别真假金叉、死叉移动平均线“黄金交叉”、“死亡交叉”是均线分析法中最简单的看图技巧。
我们通常认为“黄金交叉”是见底信号、后市看涨,“死亡交叉”是见顶信号、后市看跌。
但是,在实际看盘过程中,由于均线的细微变化,或者均线所在的股价位置不同,有时容易让我们产生混淆和误判。
一、形成黄金交叉的条件是快速移动平均线(或称短期均线)由下向上穿越慢速移动平均线(或称长期均线),同时在形成交叉之前或者形成交叉之时,两条均线必须是同方向运行。
(也就是说,形成黄金交叉的两条均线必须要同时向上倾斜。
)如果只有快速移动平均线向上倾斜,而慢速移动平均线走平、甚至向下倾斜,这只能说快速移动平均线和慢速移动平均线出现了交叉现象,不能算是真正的“黄金交叉”,也不能作为相对可靠的买入信号来进行研判操作。
展开剩余84%同理,对于死亡交叉的研判也是如此。
快速移动平均线和慢速移动平均线出现交叉时,两条均线要同时向下倾斜。
否则,只能看成是两条均线之间的交叉,而不能作为真正的死亡交叉来进行研判和操作。
二、在两根以上的均线系统中,如果短期、中期移动平均线出现黄金交叉,而长期均线反向运行。
【见下图,5日、10日均线出现黄金交叉,30日移动平均线却是向下运行。
】这种情况下,原则上中长线投资者、稳健型投资者保持空头思维,不能盲目看多,持币观望为主。
而短线高手也只能做一把极短的反弹行情,并且要随时做好止损的准备。
理由很简单,长期均线一路向下,表明行情没有真正止跌企稳,短期、中期均线虽然形成黄金交叉,但很容易受到长期均线的压制,形成短暂反弹的走势,一旦触及或接近长期均线,股价重新掉头向下的可能性很大。
金叉可靠性鉴别通常在三根或三根以上的均线系统中出现黄金交叉会有两种情况。
一种是在长期均线的下方出现黄金交叉,表示行情可能会由弱转强。
另一种是在长期均线之上出现黄金交叉,往往是股价继续上涨、加速上涨的信号。
创建一简易的人工智能系统举例说明让我们将MACD指标同获利能力、支撑移动止损位以及操作安全等因素结合起来考虑以创建人工智能系统。
下面的例子是开立和控制一个单独的头寸。
<BR><BR>交易原则:<BR><BR>. 做多(买入)信号——即当MACD 指针是在0轴在以下,为向上的趋势并与向下的信号线相交(金叉) <BR><BR>. 做空(卖出) 信号——即当MACD 指针是在0轴以上,为向下趋势并与向上的信号线相交(死叉) <BR><BR>. 多头平仓信号——即执行限价平仓指令或移动止损指令以获得利润或者在MACD指针与信号线相交(MACD指针在0轴以上且为向下趋势并与向上趋势的信号线相交)时平仓 <BR><BR>. 空头平仓信号——即执行限价平仓指令或移动止损指令以获得利润或者在MACD指针与信号线相交(MACD指针在0轴以下且为向上趋势并与向下趋势的信号线相交)时平仓 <BR><BR>重要提示: <BR><BR> 在我们分析MACD指标时,为了排除MACD指示中一些并不重要的变化情况(即图表中的细微“小丘”),下面我们另外引荐一种控制“小丘”大小的方法: <BR><BR>指示范围至少为5个最小单位(5点,即USD/CHF=0.0005,USD/JPY=0.05) <BR><BR><BR><BR>第一步:撰写人工智能系统说明 <BR><BR><BR>将鼠标指在导航窗口的人工智能系统,点击鼠标右键在弹出的菜单中CREATE A NEW EXPERT(创建一个智能系统)命令. 正在初始化的WISARD OF EXPERT ADVISOR 会问你是否要输入数据.在弹出的窗口中你得写下NAME名字(人工智能系统的名字) 、AUTHOR作者、与你的网址链接、须知—人工智能系统的测试样本.你也可以设定你想要的Lots(交易单位), Stop Loss(止损点), Take Profit(平仓) 和 Trailing Stop(移动止损)的默认值. <BR><BR><BR><BR>第二步:创立程序的初步结构 <BR><BR>测试系统的代码仅仅为几页纸,即使是这几页纸仍然是难以理解的,特别是在我们这些不是专业的程序员的眼里是非常难的.不然,我们也不必写下这段说明,不是吗? <BR><BR>为了了解标准的人工智能系统的结构,我们来看一下下面的解释: <BR><BR>1.初始资料检查 <BR><BR>.检查图表,图表上棍的数量 <BR><BR>.检查外部变数值:LOTS,S/L,T/P,T/S <BR><BR>2.设置为快速数据存取的内部变量 <BR><BR>3检查交易终端—是否有空间?如果有,然后 <BR><BR>.检查账户中的可用资金 <BR><BR>.是否可以做多(买入) <BR><BR>.建仓买入和平仓 <BR><BR>.是否可以做空(卖出) <BR><BR>.建仓卖出和平仓 <BR><BR>4. 定期控制已开立的头寸<BR><BR>..若是多头合约 <BR><BR> .是否要平仓 <BR><BR>.是否要重新设定移动止损点 <BR><BR>..若是空头合约 <BR><BR>.是否要平仓 <BR><BR>.是否要重新设定移动止损点 <BR><BR>这是相对简单的样板,仅仅只有4个主要单元. <BR><BR>现在我们来试着逐渐将结构表中的每一部分的代码做出来: <BR><BR>1.初始资料检查 <BR><BR>这一块的数据通常是经过稍稍修改后从一个系统移至另一系统的—这实际上是一单元检查. <BR><BR>If Bars<200 Then Exit; // the chart has less than 200 bars - exit <BR><BR>If TakeProfit<10 Then Exit; // wrong takeprofit parameters 收益小于10点退出<BR><BR>2设置为快速数据存取的内部变量 <BR><BR>在程序代码中,有的是经常需要存取的指示值和操做的计算值.为了简化译码和加速存取,数据最初便在内部变数中嵌套进去<BR><BR>.MacdCurrent=iMACD(12,26,9,MODE_MAIN,0); // MACD value on the current bar <BR><BR>MacdPrevious=iMACD(12,26,9,MODE_MAIN,1); // MACD value on the previous bar <BR><BR>SignalCurrent=iMACD(12,26,9,MODE_SIGNAL,0); // Signal Line value on the current bar <BR><BR>SignalPrevious=iMACD(12,26,9,MODE_SIGNAL,1);//Signal Line value on the previous bar<BR><BR>MaCurrent=iMA(MATrendPeriod,MODE_EMA,0); // moving average value on the current bar <BR><BR>MaPrevious=iMA(MATrendPeriod,MODE_EMA,1); // moving average value on the previous bar <BR><BR>现在,我们以在程序中简单的写入字符MacdCurrent代替晦涩难懂的iMACD(12,26,9,MODE_MAIN,0).所有的人工智能系统中的变量都依据MQL II语言进行基本的解释. <BR><BR>var: MacdCurrent(0), MacdPrevious(0), SignalCurrent(0), SignalPrevious(0); <BR><BR>var: MaCurrent(0), MaPrevious(0); <BR><BR>MQL II语言还另外推出一种的用户自定义变量,它可以在程序外设定而无须任何系统程序下的源程序正文的参考.这个特点使程序更具灵活性MATrendPeriod变量就是一个这种类型的用户自定义变量,因此,我们在程序的开头加入这段说明. <BR><BR>defines:MATrendPeriod(56); <BR><BR ><BR ><P>3. 检查交易终端是否有空间?如果有,然后 <BR><BR>在我们的人工智能系统中,我们只能使用现时头寸而不能操作延迟的买卖盘.为了安全起见,我们介绍一种核对过去交易终端已下买卖盘的程序. <BR><BR>If TotalTrades<1 then // no opened orders identified <BR><BR>{ <BR><BR>3.检查: 账户的可用资金……. 在分析市场状况之前最好先检查一下你的账户的资金情况, 以确保账户中有开立头寸的资金. <BR><BR>If FreeMargin<1000 then Exit; // no funds – exit <BR><BR><BR>. 是否可以做多(买入) <BR><BR> 买入的条件信号:MACD指标在0轴以下,为向上趋势且与向下趋势的信号线相交。
《短线法宝:神奇N字结构盘口操作法》读书笔记目录一、内容简述 (2)1.1 书籍简介 (2)1.2 研究背景与目的 (3)二、N字结构盘口基本原理 (4)2.1 N字结构的定义 (5)2.2 N字结构盘口的形成机理 (6)2.3 N字结构盘口的市场意义 (8)三、N字结构盘口操作技巧 (9)3.1 识别N字结构的买点 (10)3.1.1 买点特征 (11)3.1.2 买点操作策略 (13)3.2 识别N字结构的卖点 (14)3.2.1 卖点特征 (15)3.2.2 卖点操作策略 (16)3.3 N字结构盘口的变化与应对 (17)3.3.1 形态变化 (18)3.3.2 变化应对策略 (20)四、N字结构盘口与其他技术分析的结合 (21)4.1 与趋势线的结合 (22)4.2 与移动平均线的结合 (24)4.3 与其他技术指标的结合 (25)五、实战案例分析 (26)5.1 成功案例 (27)5.2 失败案例 (28)5.3 案例总结与反思 (30)六、风险控制与资金管理 (31)6.1 风险控制原则 (32)6.2 资金管理策略 (33)6.3 不同市场环境下的操作策略 (34)七、总结与展望 (36)7.1 本书总结 (37)7.2 未来展望 (38)一、内容简述《短线法宝:神奇N字结构盘口操作法》是一本关于股票市场技术分析的书籍,主要介绍了神奇N字结构盘口操作法。
这种方法是作者在多年的实战经验和研究的基础上创立的一种全新的股票分析技巧。
书中首先对N字结构盘口的原理和构成要素进行了详细的阐述,包括N字的定义、特征、作用以及与其他盘口形态的区别等。
作者通过大量的实际案例,详细解析了神奇N字结构盘口操作法的运用方法和注意事项,包括如何识别N字结构、如何把握买入和卖出的时机、如何控制风险等。
书中还强调了心态管理在短线交易中的重要性,提出了“稳定盈利”即通过科学的操作策略和风险管理,实现长期稳定的收益。
指标公式编写宝典----完整篇(一)控盘均线高1MA1:MA(HIGH*1.0618,G1);高2MA2:MA(HIGH*1.0618,G2);收3MA3:MA(CLOSE,S3);收4MA4:MA(CLOSE,S4);低5MA5:MA(LOW/1.0618,D5);低6MA6:MA(LOW/1.0618,D6);常用通式一、放量、缩量(成交量函数为VOL)1、放量:(1).今天成交量较昨天增加了1倍,表示如下:VOL/REF(VOL,1)>2(2).今天成交量较10个交易日平均成交量放大了1倍,表示如下:a:=ma(vol,10);Vol/a>2或者直接用如下公式表示:vol/ma(vol,10)>2;(3).今日的5日均量较10个交易日平均成交量放大了1倍,表示如下:a:=ma(vol,10);b:=ma(vol,5);b/a>2;(4).今日的成交量超过了整个流通盘的5%,表示如下:vol/capital>0.05;其中capital代表流通盘。
2、缩量(1).今日成交量较昨日减少了一半,表示如下:vol/ref(vol,1)<0.5;(2).今日成交量较10个交易日平均成交量减少一倍,表示如下:a:=ma(vol,10);vol/a<2;或者直接用如下公式表示:vol/ma(vol,10)<2;(3).今日的5日均量较10个交易日平均成交量减少1倍,表示如下:a:=ma(vol,10);b:=ref(a,5);a/b<2;(4).今日的成交量低于了整个流通盘的5%,表示如下:vol/capital<0.05;二、上涨、下跌上涨:今天的涨幅达到5%以上,表示如下:close/ref(close,1)>1.05;5日均价连续上涨,表示如下:a:=ma(close,5);b:=ref(a,1);b;下跌:今天的跌幅达到5%以上,表示如下:close/ref(close,1)<0.95;5日均价连续下跌,表示如下:a:=ma(close,5);b:=ref(a,1);a<b;(3)、K线的描述close>open;阳线close<open;阴线open>ref(close,1);高开open<ref(close,1);低开open>ref(high,1);跳空高开(high为最高价)open<ref(low,1);跳空低开(low为最低价)三、走势特征选股公式的编制(1)、n日内创新高hhv(high,n)=hhv(high,0) and barscount(c)>=n;注:n为指标参数,可在参数设定范围内设定参数范围。
火线论坛专题-------交易系统(上)外汇交易系统的发展历史 (3)什么是交易系统? (6)如何建立适合自己的交易系统? (9)建立高胜算交易系统-投机就像山岳那么古老 (13)打造一流的系统交易者的九道工序 (19)交易师与交易系统 (23)个人认为的交易系统 (26)李莜阳的外汇交易系统 (29)No.1ISAKA SⅡ(适用周期:M30) (40)No.2Catfx50(适用周期:M30) (42)No.3ASCTREND(适用周期:M1~W1) (45)No.4TVH V3眼镜蛇系统(适用周期:M1~M5) (48)No.5TSUPER NOVA(适用周期:推荐M15~M1) (51)No.6GOLDEN(适用周期:短线M15激进M30稳健H1) (53)No7.DOLLY(克隆WSS系统适用周期H4) (57)No.8Brian trading(适用日内交易) (61)No.9Woodie-panel-heart (65)No.10Merdeka GP2009 (69)编者语 (70)火线介绍 (71)下期预告 (75)外汇交易系统的发展历史从路透集团推出第一套电子外汇交易系统开始,外汇市场一直由大型银行,及其他有规模的金融机构所独占;而近年来拜网络科技发展之赐,零售外汇交易才真正飞入寻常百姓家。
随着科技的不断发展,传统人工经纪的市场日渐缩小,取而代之的是电子经纪服务。
它极大地增加了市场的透明度,降低了投资门槛及成本,更无须经纪人三餐打电话要您下单,额外付出经纪费用,使个人外汇投资成为简单的创富工具之一。
1981年路透纪路透集团推出路透屏幕交易系统(Reuter Monitor Dealing),交易商可以在视讯终端机上直接完成交易。
该项服务使得从前平均需要40秒时间进行的一笔外汇交易得以在2秒内实现。
八年之后,路透集团推出最新的外汇交易系统Dealing2000,不但交易对象可以在世界上任何角落,也引入了计算机撮合功能,在交易银行间买卖价格相配时自动完成交易。
在股票分析中,EMA(指数移动平均)是一种常用的技术指标。
而"金叉"则是指短期EMA线上穿长期EMA线的情况,这通常被认为是买入的信号。
以下是一个基于EMA金叉的选股公式源码:
```python
# 定义EMA参数
short_window = 12
long_window = 50
# 计算EMA
short_ema = ema(close, short_window)
long_ema = ema(close, long_window)
# 定义金叉条件
golden_cross = cross(short_ema, long_ema)
# 定义选股条件
# 这里我们选择金叉发生后的第一天,且当天收盘价高于短均线的股票
select_stocks = golden_cross & (close > short_ema)
```
需要注意的是,这只是一个基本的选股公式,实际应用中可能需要根据具体的需求进行调整。
例如,你可能需要考虑其他的交易规则,或者添加其他的筛选条件。
同时,也要注意这个公式并不能保证选出的股票一定会有好的表现,因为股市的走势是难以预测的。
外汇技术指标之均线的使用方法外汇技术指标之均线的使用方法什么是均线均线也称移动平均线,是指一定交易时间的算术平均线。
它是将某一段时间的收盘价之和除以该周期。
以10日均线为例,把10天的收盘价依次相加再除以10,就是10日的平均值,把这些平均值在图上连接起来形成的线就是10日均线。
常用的均线有5日、10日、20日、30日、60日、120日、240日均线。
通常把5日和10日均线称为短期均线,用于短线操作的参照。
20日、30日、60日均线称为中期均线,中期均线在K线图中的支撑、阻力力度较短期均线强,均线周期越大支撑、阻力越强。
120日、240日均线是长期均线。
也有人把斐波那契数列中的5、8、13、21、34、55、89、144、233选择性设置为均线参数。
均线的特点1、滞后性。
当市场突然反转的时候,均线不会掉头,等均线发出反转信号的时候,K线掉头的深度已经很大了。
反转是周期越小的均线反应越快,周期越大的均线反应越慢。
2、追踪趋势。
在上升或者下降的趋势中,均线的曲线与趋势线方向一致。
3、稳定性。
一段较大的行情中间会有几波上涨和下跌,短期均线会跟随短期走势相应的波动,长期均线则只会发生小尺度的弯曲,仍然与大方向保持一致。
4、支撑于阻力。
在行情上涨或者下跌的过程中,每一次的调整,短期均线到长期均线会依次对K线支撑。
当K线突破一条均线后,此均线的支撑又会转换为阻力。
周期越大的均线支撑阻力效果越明显。
均线组合常见的短期均线组合有5、10、20日,5、10、30日两组;中期均线组合有10、30、60日,20、40、60日两组;长期均线组合有30、60、120日,60、120、250日两组。
有些投资者擅长使用单均线,例如60日均线,也有些投资擅长双均线,均线组合各有所好,能够驾驭的组合才是最好的组合。
金叉、死叉小周期的均线向上穿过长周期的均线叫做金叉,是买进的信号;小周期的均线向下穿过长周期的均线叫做死叉,是卖出的信号。
如何通过5日均线、10日均线金叉与死叉选股,这篇文章讲得太好了大道至简,简单的才是最有效的简单的才是最有效的,“如果你相信简单具有和成本同等重要的价值,那么你就会愿意付出更多努力追求简单。
简单是一项值得追求的重要价值,我们应养成把简单当成思考时固定的习惯。
”在市场中,为什么简单才是最有效的?因为只有简单才最具有操作性,试想一下,如果你的买入卖出条件中有八个以上的条件,先不说这些交易条件归因之后是否存在重合,随便拿出来八个条件同时满足的机会有多少呢?不可否认,确实存在同时满足的情况,那么你有没有想过在条件同时满足的时候,行情已经走了多少呢?我们应当清楚的认识到一点,即不同的交易机会的成立条件是不同的,任何一个人没有能力,也不可能把握所有的交易机会。
我们能够做到的应该是将交易机会锁定在一两种,如果有方法能够把股票中特定交易机会80%以上抓出来,那真是足够了。
基本面交易者可以专门交易成长股或者再细分为互联网领域的成长股,或者保守的交易者可以专门做蓝筹股,每年都可以有不菲的收益,图形交易者可以专门交易头肩底或者圆底的形态。
其实按照什么基本面选股或者选择什么图形交易真的不重要,重要的在于你要坚定只做这一两种交易机会,做的多了,这种交易机会就会成为你的提款机,你清楚其中大部分的陷阱,你也清楚什么时候它蕴含的金钱在向你招手。
大道至简的另一个要义是抓住重点,切勿面面俱到。
应当庆幸地也要清醒地认识到,市场是一个人性的交易场,市场交易的是人心,人心是善变的,是非机械的,无数的人心集合在一起就构成了一个无法预测的变化极度丰富的复杂系统。
面对这样的系统,我们不断的评估交易策略中的重要条件是否满足,面面俱到的想法在其他领域或许是一个达至完美的基础,但是对于交易者而言,抓住重点才是提高交易绩效的方法,面面俱到的想法只能让你离现实越来越远。
坦然地接受亏损想要坦然地接受亏损,应当在观念中明白两个道理,一是损失的发生是必然的,二是损失的结果是既定事实,是一种客观存在。
mt4EA编程中的开平仓语句在mt4平台上要编写一个自动交易的ea,那其最基本的策略思路就是根据某种条件开仓。
这就涉及到两个概念:一个条件,一个开仓。
条件是根据不同的交易策略思路而定的,可以比较K线阴阳作为开仓条件,也可以将均线金叉死叉作为开仓条件,等等,也可以说开仓条件是千万种的。
而开仓就是执行开仓语句或者说开仓函数来开新订单。
在mql4语言中,开仓函数是OrderSend()函数,我们可以先看一下OrderSend()的结构:int OrderSend(string symbol, //货币名称int cmd, // 订单类型double volume, // 手数double price, // 价格int slippage, // 偏差double stoploss, // 止损double takeprofit, // 止盈string comment=NULL, // 注释int magic=0, // 订单识别码datetime expiration=0, // 有效期(用于挂单)color arrow_color=clrNONE // 颜色);在原则上,MQL4语言将OrderSend()函数归为int类型。
实际执行当中我们用bool类型也是可以的。
这里不讨论挂单,只以开现价单来说,如果要成功执行OrderSend()函数,那么就需要正确赋值其各个参量所需数值:•货币名称默认Symbol()为当前图表货币;•订单类型多单为OP_BUY,空单为OP_SELL;•手数我们可以定义ea输入变量:input double Lots = 0.03;•价格,开多单是Ask,开空单用Bid;•偏差我们也可以定义个ea输入变量:input int slippage = 10;•止损同样定义输入变量:input int StopLoss = 500;//止损点数•止盈和止损一样定义:input int TakeProfit = 1000;//止盈点数•注释可以根据需要定义,也可以留“”空值;•订单识别码可以定义:input int my_magic = 172583815;//订单识别码•有效期对于挂单有效,现价单用0值代替;•颜色,开仓点位图表上标记箭头颜色,根据需要设置,不需要就复制clrNONE;每个参量的赋值弄好后,我们假设条件是阳线开多单,阴线开空单,那么下面就可以用OrderSend()开仓函数来执行开多单和空单了。
史上均线基础知识目录一、均线概述 (3)1.1 均线的定义 (3)1.2 均线的分类 (5)1.3 均线的特性 (6)二、均线理论基础 (8)2.1 道氏理论 (9)2.2 艾略特波段理论 (10)2.3 约翰.墨菲的均线法则 (11)三、均线使用技巧 (11)3.1 均线买入法 (13)3.2 均线卖出法 (14)3.3 均线突破法 (15)3.4 均线黏合突破法 (15)四、均线与技术指标结合 (17)4.1 均线与MACD的配合 (18)4.2 均线与KDJ的配合 (20)4.3 均线与布林带的配合 (21)五、均线系统构建与应用 (22)5.1 日均线系统 (23)5.2 周均线系统 (25)5.3 月均线系统 (26)5.4 均线系统的应用策略 (27)六、均线市场心理解读 (28)6.1 上升行情中的均线表现 (28)6.2 下跌行情中的均线表现 (30)6.3 持续震荡行情中的均线表现 (31)七、经典均线形态分析 (32)7.1 长阳突破均线 (33)7.2 长阴跌破均线 (34)7.3 均线支撑与阻力 (35)7.4 均线缠绕与发散 (37)八、均线交易策略 (38)8.1 趋势跟踪策略 (39)8.2 反转突破策略 (40)8.3 箱体操作策略 (41)8.4 背离现象策略 (42)九、均线风险控制 (43)9.1 止损设置 (45)9.2 仓位管理 (47)9.3 心理控制 (48)9.4 技术止损 (49)十、总结与展望 (50)10.1 均线学习重点 (51)10.2 均线技术的未来发展趋势 (52)一、均线概述又称移动平均线,是一种反映股票价格平均水平的技术分析工具。
它通过计算一段时间内股票价格的平均值来反映价格趋势,从而帮助投资者判断市场走势和制定投资策略。
均线的计算方法相对简单,主要是将某一时间段内的收盘价进行算术平均。
常见的均线周期有5日、10日、30日、60日等。
最经典的均线反向操作:死叉买入,金叉卖出
一、死亡交叉——买入
如上图,死叉买入,两条均线的死亡交叉一般预示着行情转弱或者已经进入下跌行情中,但有时也不一定。
有的时候均线发生死叉时通常是回调或震荡的相对低点,这正好是我们梦寐以求买到较低价的机会。
反向操作法则死叉买到低价
如上图,这是由于均线都具有滞后性,计算天数越长,滞后性越大,所以在两条较长期均线出现死叉后,通常代表行情在这之前已经处于下跌趋势中,而死叉形态是在其后一段时间才随后发生。
二、黄金交叉——卖出
反向操作法则金叉卖出
如上图,与死叉的情况相反,金叉在反向操作法则中,代表了一种卖出信号。
因为行情不断在震荡,发生金叉的时候可能行情已经发生改变,所以金叉有时代表着一种涨势的末期。
同时,我也整理出了一些实实在在的战法干货,回馈给粉丝。
expma金叉选股公式
EXPMA金叉选股公式是基于指数平滑移动平均线(EXPMA)和金叉交叉指标,根据当前价格走势,找出金叉交叉的股票,从而进行选股。
具体的公式如下:
1. EXPMA(N1)= 前一日EXPMA(N1)× [2 ÷ (N1+1)] + 当
日收盘价× [1 - 2 ÷ (N1+1)]
2. EXPMA(N2)= 前一日EXPMA(N2)× [2 ÷ (N2+1)] + 当
日收盘价× [1 - 2 ÷ (N2+1)]
其中,N1和N2为指数平滑移动平均线的参数。
一般情况下,N1
取较小的值,如5或10;N2取较大的值,如20或30。
3. 金叉交叉指标 = EXPMA(N1)- EXPMA(N2)
当金叉交叉指标值从负数变为正数时,表示EXPMA(N1)上穿EXPMA(N2),即出现金叉交叉。
这时,股票价格趋势向上,可以考虑
买入该股票。
可以使用股票软件或编写代码实现该公式进行选股。
MT4自带的EA :Moving Average 详解//+------------------------------------------------------------------+//| Moving Average.mq4 |//| Copyright ?2005, MetaQuotes Software Corp. |//| / |//+------------------------------------------------------------------+#define MAGICMA 20050610 //定义本EA操作的订单的唯一标识号码,由此可以实现在同一账户上多系统操作,各操作EA的订单标识码不同,就不会互相误操作。
凡是EA皆不可缺少,非常非常重要!!!//宏定义命令#define用法/xyls7570/blog/item/9c9b43cfde98180b92457eb2.htmlextern double Lots = 0.1;//每单的交易量extern double MaximumRisk = 0.02;//本系统最大可以动用总资金的2%extern double DecreaseFactor = 3;//作者定义的参数,作用要看程序中的用法extern double MovingPeriod = 10;//EA中使用的均线的周期extern double MovingShift =3;//EA中使用的均线向左的K线偏移量//extern 确定从外部程序输入的变量,会直接显现输入数据窗口。
数列本身不能作为外部变量。
//+------------------------------------------------------------------+//| Calculate open positions |//+------------------------------------------------------------------+int CalculateCurrentOrders(string symbol)//函数作用,计算当前持仓订单的数量{int buys=0,sells=0;//定义两个临时变量,准备用于后面的多空订单的个数计算//----for(int i=0;i<OrdersTotal();i++)//循环检测当前的订单队列,不包含挂单{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;//挑出持仓单的每一个订单位置if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)//根据订单位置,比较是否是当前K线商品以及订单唯一标识号是否和本程序设置的一致,即判断这个订单是不是当前EA操作的。
//| MACross_ea.mq4 |
//| shawnyau |
//| |
//+------------------------------------------------------------------+
#property copyright "Shawn Yau"
extern double Lots = 0.1; //默认交易单位
extern int StopLoss = 30; //止损
extern int TakeProfit = 30; //止赢
extern int Magic_Number = 8899; //Magic_Number是用来标识这个EA的唯一性的,简单来说,就是这个EA的身份证
extern int FasterMA = 5; //均线1的周期
extern int SlowerMA = 25; //均线2的周期
extern int Trade_Bar = 1; //下单的时机,如果为1,表示等待当前的K线完成,下一根K 线刚出现的时候才下单;如果为0表示只要当前的价格
//满足条件了就马上下单
int last_t = 0; //这个是用来避免重复下单
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init() //这个是初始化函数,只会在EA刚加载到图表上的时候运行一次,之后就不起作用了
{
//----
//----
return(0);
}
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit() //反初始化函数,用处是在删除EA的时候运行一次,做一些清理性的工作,例如把所画的线、箭头等从图表上删除掉
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
///////////////////////////////////////////////////////////////////
////////定义几个变量,从名字也可以很容易看出其代表的含义了:FasterMANow表示均线1当前的值、SlowerMANow表示均线2当前的值、
///////FasterMAPrevious表示均线1的前值、SlowerMAPrevious表示均线2的前值;均线金叉,其实就是表示当均线1的前值小于均线2的前值,
///////且均线1的当前值大于均线2的当前值。
这样描述我想应该能明白了吧:-)
double FasterMANow, SlowerMANow, FasterMAPrevious, SlowerMAPrevious;
////////////////////////////////////////////////////////////////////////////
//////////下面是给各个变量赋值,iMA就是均线函数,里面的各个参数可以在我在论坛发的中文文档上查到说明的
///////////////////////////////////////////////////////////////////////////
FasterMANow = iMA(NULL, 0, FasterMA, 0, MODE_SMA, PRICE_CLOSE, Trade_ Bar);
SlowerMANow = iMA(NULL, 0, SlowerMA, 0, MODE_SMA, PRICE_CLOSE, Trade
_Bar);
FasterMAPrevious = iMA(NULL, 0, FasterMA, 0, MODE_SMA, PRICE_CLOSE, Tr ade_Bar+1);
SlowerMAPrevious = iMA(NULL, 0, SlowerMA, 0, MODE_SMA, PRICE_CLOSE, T rade_Bar+1);
//////////////////////////////////////////////////////
///////////下面开始判断是否发生金叉了
///////////////////////////////////////////////////////
if ((FasterMANow > SlowerMANow) && (FasterMAPrevious <= SlowerMAPreviou s)) {
if ((TotalOrders(Magic_Number)==0) && (Time[0]>last_t)) ///如果当前的EA还没有下单
{
RefreshRates(); ///刷新市场报价
////////////////////////////////////////
///下单都是用OrderSend()函数来进行的,这是个系统函数,详细说明可以在文档里面查到
OrderSend(Symbol(), OP_BUY, Lots, NormalizeDouble(Ask,Digits), 3, Normal izeDouble(Ask-StopLoss*Point,Digits),
NormalizeDouble(Ask+TakeProfit*Point,Digits), "", Magic_Number, 0, Blu e);
last_t = Time[0];
return (0);
}
}
////////////////////////////////////////////////////////////
///如果没有发生金叉,则下面开始判断是否发生死叉
//////////////////////////////////////////////////////////////
else if ((FasterMANow < SlowerMANow) && (FasterMAPrevious >= SlowerMA Previous)) {
if ((TotalOrders(Magic_Number)==0) && (Time[0]>last_t))
{
RefreshRates();
OrderSend(Symbol(), OP_SELL, Lots, NormalizeDouble(Bid,Digits), 3, N ormalizeDouble(Bid+StopLoss*Point,Digits),
NormalizeDouble(Bid-TakeProfit*Point,Digits), "", Magic_Number, 0, Blu e);
last_t = Time[0];
return (0);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
////////////////////////////////////////////////////////////////////
/////////TotalOrders()函数的作用是返回Magic_Number为magic的EA所下的单子的总数/////////////////////////////////////////////////////////////////////////////
int TotalOrders(int magic){
int rez=0;
for (int i=0;i<OrdersTotal();i++){ ///这里做一个循环,OrderTotal()是系统函数,作用是返回当前帐户下所有尚未平仓的单子总数
OrderSelect(i,SELECT_BY_POS); ///OrderSelect()是系统函数,具体说明可以在文档里面查到
if (OrderMagicNumber()==magic){ ///如果这个订单是当前EA所下的单
rez++;
}
}
return(rez); ///返回循环计算后得到的当前EA所下的单子的总数
}。