外汇MT4智能交易系统EA编写{StochasticOscillator(KD系统)}

合集下载

外汇MT4_EA智能系统MQ4编写详细举例

外汇MT4_EA智能系统MQ4编写详细举例

创建一简易的人工智能系统举例说明让我们将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&lt;200 Then Exit; // the chart has less than 200 bars - exit <BR><BR>If TakeProfit&lt;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&lt;1 then // no opened orders identified <BR><BR>{ <BR><BR>3.检查: 账户的可用资金……. 在分析市场状况之前最好先检查一下你的账户的资金情况, 以确保账户中有开立头寸的资金. <BR><BR>If FreeMargin&lt;1000 then Exit; // no funds – exit <BR><BR><BR>. 是否可以做多(买入) <BR><BR> 买入的条件信号:MACD指标在0轴以下,为向上趋势且与向下趋势的信号线相交。

MT4自带的EA详解(MA和MACD)

MT4自带的EA详解(MA和MACD)

1、MT4 自带EA(MA)解析与实战分析2、MT4 自带EA(MACD)解析与实战分析1、MT4 自带EA(MA)解析与实战分析一、均线穿越交易系统EA详解MT4 平台自带了一个自动交易的EA 指标,那就是Moving Average ,下面详细解释该系统每条语句的功能说明,以便深入认识EA 的编程内核。

//+------------------------------------------------------------------+//| Moving Average.mq4 |//| Copyright ?2005, MetaQuotes Software Corp. |//| / |//+------------------------------------------------------------------+#define MAGICMA 20050610//定义本EA 操作的订单的唯一标识号码,由此可以实现在同一账户上多系统操作,各操作EA 的订单标识码不同,就不会互相误操作。

凡是EA 皆不可缺少,非常非常重要!extern double Lots = 0.1; //每单的交易量extern double MaximumRisk = 0.02;//本系统最大风险系数,即可以动用总资金的2%extern double DecreaseFactor = 3; //下跌因素个数extern double MovingPeriod = 12; //均线的计算周期=12 根K 线;extern double MovingShift = 6; //均线在K 线图中向右显示的偏移量=6 根K 线;//extern 确定从外部程序输入的变量,会直接显现输入数据窗口。

数列本身不能作为外部变量。

注意:iMA 中的MovingShift(均线偏移量)是指均线指标在图上绘制时向左、右移动的K线个数,主要为了使图中结果更好看,并不会对MA 的计算数值产生变化。

MT4智能交易系统编程语言语法规则

MT4智能交易系统编程语言语法规则
加减 1 的运算符不能被嵌套在表达式中
int a=3; a++; // 可行的表达式 int b=(a++)*3; // 不可行的表达式
赋值运算符 注:将右侧的结果赋值给左侧的变量
将 x 的值赋值给 y y = x; 将 x 的值加到 y 上面 y += x; 在 y 上面减去 x 的值 y -= x; 得到 y 的 x 倍的值 y *= x; 得到 y 除以 x 的值 y /= x; 取 y 除以 x 后的余数 y %= x; y 向右位移 x 位 y >>= x; y 向左位移 x 位 y <<= x; 得到逻辑 AND 的值 y &= x; 得到逻辑 OR 的值 y |= x; 得到逻辑非 OR 的值 y ^= x;
MT4 智能交易系统编程语法规则
• Char (char) • String (string) • Floating-point number (double) • Color (color) • Datetime (datetime)
我们用 Integer 类型数据来作为 DateTime 和 Color 数据的存储。 使用以下方式可以进行类型站换:
第 5 页,共 99 页
外汇智能工具网

外汇智能工具论坛
MT4 智能交易系统编程语法规则
数的逻辑“异或”;也就是说,当且仅当只有一个操作数为 true 时,其结果才为 true。
b = x ^ y; 注:位逻辑运算符只作用于 Integers 类型
int (bool,color,datetime); double; string;
Integer 类型 十进制: 数字 0-9;0 不能作为第一个字母 示例:

外汇软件MT4及MT5中交易品种的中英文及简写对照表

外汇软件MT4及MT5中交易品种的中英文及简写对照表

外汇软件MT4及MT5中交易品种的中英文及简写对照表一.货币对:(主要交易对象为:黄金+六种主要交易货币)EURUSD欧元兑美元GBPUSD英镑兑美元直接货币AUDUSD澳元兑美元USDJPY美元兑日元USDCHF美元兑法郎间接货币USDCAD美元兑加元NZDUSD纽元兑美元EURGBP欧元兑英镑EURCHF欧元兑法郎EURJPY欧元兑日元EURAUD欧元兑澳元EURCAD欧元兑加元GBPCHF英镑兑法郎GBPJPY英镑兑日元AUDJPY澳元兑日元AUDNZD澳元兑纽元AUDCAD澳元兑加元CHFJPY法郎兑日元NZDJPY纽元兑日元CADJPY加元兑日元说明:GOLD黄金USD美元EUR欧元GBP英镑AUD澳元NZD 纽元JPY日元CHF法郎(瑞士)CAD加元直接盘:与美元直接挂勾交叉盘:非美货币之间的兑换附注:GOLD=黄金(走势激烈,一般情况与美元走势相反,高风险收益)SILVER=白银(走势较小,基本与黄金同向)EURJPY=欧元兑日元(交叉盘,走势激烈,行情比较大,高风险收益)USDJPY=美元兑日元(走势稳定偏激烈,属于政策性货币,主要基于日本的财政政策和市场情绪)EURUSD=欧元兑美元(行情激烈度偏中,能够体现书本上的各种知识,可参考各类技术指标,属于最多人做的货币对)AUDUSD=澳元兑美元(行情激烈度偏中,澳大利亚属于资源出口国,其货币对涨跌对中国的经济数据比较敏感)USDCAD=美元兑加元(行情激烈度偏低,一般情况下与美元通向,没有加拿大相关的新闻走势不强烈)USDCHF=美元兑瑞士法郎(行情激烈度偏中,瑞士法郎属于政策性货币,主要参考瑞士的货币政策和央行利率,还有美国的经济数据)GBPUSD=英镑兑美元(英镑属于高投机性货币,行情激烈度高,涨跌幅度大,且走势比较没有章法,需小心对待)NZDUSD=新西兰元兑美元(新西兰元比较冷门,点差偏高,一般情况下不推荐炒作,需投入精力去研究后再操作)EURCHF=欧元兑瑞士法郎(欧元和瑞士法郎关联度极高,经常通向发展,也有背离的情况,需要参考当时的货币政策)EURAUD=欧元兑澳元(基本同澳元兑美元)EURCAD=欧元兑加元(基本同欧元兑美元)GBPJPY=英镑兑日元(行情激烈度高,属于投机性货币对,需小心对待)。

外汇MT4技术指标之KDJ随机指标

外汇MT4技术指标之KDJ随机指标

外汇MT4技术指标之KDJ随机指标KDJ是一种外汇MT4平台上常用的技术指标,它是由随机指标(Stochastic Oscillator)发展而来的。

KDJ指标主要用于判断市场超买和超卖的状态,以及价格趋势的变化。

KDJ指标由三条线组成,分别是K线(%K)、D线(%D)和J线(%J)。

K线表示当前的价格相对于过去n天价格波动范围的位置,D线是K线的简单移动平均值,J线是K线减去D线,通常是K线和D线之差的3倍。

KDJ指标的计算公式如下:K线=(最新收盘价-最低价)/(最高价-最低价)*100D线=K线的m日简单移动平均线J线=3*K线-2*D线其中,n和m分别代表计算K线和D线的周期数。

一般来说,常用的周期为14KDJ指标的主要作用是判断市场的超买和超卖状态。

当K线超过80时,表示市场处于超买状态,反之,当K线低于20时,表示市场处于超卖状态。

这些超买和超卖的状态往往会预示着价格的反转或调整。

因此,当K线超过80时,投资者可以考虑卖出或减仓;当K线低于20时,可以考虑买入或增仓。

另外,KDJ指标还可以用来判断价格趋势的变化。

当K线和D线交叉时,通常会伴随着价格趋势的变化。

当K线从下方向上穿过D线时,表示价格趋势可能由下跌转为上涨,此时可以考虑买入;当K线从上方向下穿过D线时,表示价格趋势可能由上涨转为下跌,此时可以考虑卖出。

J线的取值范围是-100到100,它可以用来衡量价格的动量。

当J线大于100时,表示价格的上涨动能很强,此时市场可能出现超买的状态,投资者可以考虑卖出;当J线小于-100时,表示价格的下跌动能很强,此时市场可能出现超卖的状态,可以考虑买入。

需要注意的是,KDJ指标是一种相对短期的指标,它对市场的变化反应较快。

但同时也会受到市场短期波动的干扰,因此在使用KDJ指标时,需要结合其他指标和技术分析工具,综合判断市场的走势。

总结来说,KDJ指标是一种用于判断市场超买和超卖状态以及价格趋势的变化的技术指标。

StochasticOscillator(随机振荡指标)mt4指标

StochasticOscillator(随机振荡指标)mt4指标

Stochastic Oscillator(随机振荡指标)
随机振荡指标(Stochastic Oscillator)有George Lane在1950年发明的,该指标属于振荡指标,也是动量指标的一种,它是用现时段的收盘价和默认周期内的最低价做比较,用来显示市场动量的大小,该指标也可以用来显示其超买、超卖区,该指标用两条曲线在0-100之间波动来表示,同时又设了20、80两条水平线,默认周期为5的主线被称为%K线(绿色线),第二个默认周期为3的线被称为%D线(红色线),%K线一般默认用实线来表示,而%D线则默认为点状虚线来表示。

如图所示:
该指标的具体分析方法为:
当%D线超过了80 时,就是超买区,但如果又低于了80,这是就是一个可能的卖出信号了
当%D线低于了20 时,就是超卖区,但如果又高于了20,这是就是一个可能的买进信号了
当%K线由下往上穿过%D线时,就表示新的上升趋势
当%K线由上往下穿过%D线时,就表示新的下降趋势
当指标线出现在超买超卖去,同时又与价格的走势相背离的情况下,那么此时就是一个更可靠的交易信号了。

如图所示:
该指标的计算方式为:
%K快=C-L/H-L
%D快=SMA(%K,3)
注解:上述公式中C为当前时段的收盘价,L为默认周期内的最低价,H为默认周期内的最低价,一般%K周期默认为5。

为了使取钱更加平滑一些,我们一般用慢速曲线来表示:
%K慢=SMA(%K快,3)
%D慢=SMA(%K慢,3)
SMA为简单移动平均值,也可以再属性里选择其它的移动平均方法,其计算方式可参考MA指标。

如图所示:
在MT4中,%K、%D默认周期一般为5、3,也有用14,3的。

MT4技术指标中英文对照

MT4技术指标中英文对照

MT4技术指标中英文对照1. MA (Moving Average) - 移动平均线2. MACD (Moving Average Convergence Divergence) - 平滑异同移动平均线3. RSI (Relative Strength Index) - 相对强弱指数4. Stochastic Oscillator - 随机指标5. Bollinger Bands - 布林带6. Pivot Points - 枢轴点7. Fibonacci Retracement - 斐波那契回调线8. ATR (Average True Range) - 平均真实波动幅度指标9. ADX (Average Directional Movement Index) - 平均定向运动指标10. Ichimoku Kinko Hyo - 一目均衡表指标这些技术指标在MT4平台上用于分析市场走势和价格变动,并帮助交易者制定交易策略。

它们通过计算和绘制图表来显示价格走势和市场的动态变化,从而为交易者提供决策依据。

移动平均线是最常用的技术指标之一,它用于平滑价格走势,并显示市场趋势的方向。

MACD指标通过比较移动平均线的差异来显示价格动能的变化,从而辅助交易者判断买入或卖出的时机。

RSI指标根据一段时间内的价格变动来测量市场的强弱程度,当RSI超买或超卖时,会发出买入或卖出信号。

随机指标通过比较当前价格和一定时间范围内的最高价和最低价之间的关系来判断市场的超买和超卖程度。

布林带是一种用于测量价格波动的指标,它由一条中轨线和两条标准差线组成。

交易者经常使用布林带来确定价格的上下限和市场的波动情况。

枢轴点是根据前一交易周期的高、低和收盘价来计算的,用于预测下一个交易周期的支撑和阻力水平。

斐波那契回调线通过绘制水平线来标识可能的支撑和阻力水平,这些水平线基于斐波那契数列的比例关系。

ATR指标用于测量市场波动的幅度和变化情况。

MetaTrader4 (MT4) 平台使用说明教材

MetaTrader4 (MT4) 平台使用说明教材

福汇FXCM MetaTrader4 (MT4) 平台使用说明一、平台介绍及特点1.福汇最新MetaTrader4平台福汇公司已将MT4平台升级,以使它可以完美无瑕地结合我们的无交易员平台外汇执行模式。

换句话说,这个平台无须第三方桥接器,亦无须进行自动账户同步化程序。

为我们提供了更多功能及Meta Trader 4交易体验。

2.FXCM Meta Trader 4功能▪设置止损/止赚预先执行- 在建立新交易时设置止损及止赚指令▪0.01(微型)手数- 以更准确的每手交易单位进行交易,强化风险管理▪将持仓部份平仓- 控制平仓的时间及将某个持仓的多少部份平仓▪更多的工具- 特种货币对,例如:美元/南非兰特,美元/新加坡元,美元/港元,新加坡元/日圆,美元/土耳其元,欧元/土耳其元,美元/俄罗斯卢布,欧元/匈牙利福林,美元/匈牙利福等3.福汇FXCM平台好处▪不会重新报价及没有交易商的干预▪外汇交易身份保密,因为价格提供者不会看到您的止损、止赚或有待执行单子▪经纪商与客户之间没有利益冲突▪零交易限制- 甚至能够在买卖差价之内建立有待执行的单子二、使用说明1.下载登录福汇网站在线下载,网址:/gb/forex_platform/mt4.html,如图,点击下载即可。

点击下载2.安装下载后,双击下载的文件,即可进行安装。

安装过程第一个界面是选择语言,请选择中文(中国),然后点“下一步”按照提示安装即可。

当然这里选择的语言不正确,也可以在登陆平台后再进行修改。

软件可以覆盖安装在原有的版本上,并且保有原有设置。

如果需要同时运行几个账户,则必须安装在不同的文件目录内。

点击“下一步”选择“Yes,I agree with all terms of this license agreement” (我同意订阅您的新闻简报),点击“下一步”不建议安装在系统盘,点击“浏览”,选择重新安装的途径,点击“确定”,安装开始进行安装进行中….安装完成后,点击“完成”即可。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档