首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在使用EMA而不是SMA作为信号线的expert advisor中编写MACD

MACD(Moving Average Convergence Divergence)是一种常用的技术指标,用于分析股票、外汇等金融市场的趋势和买卖信号。在编写使用EMA(Exponential Moving Average)而不是SMA(Simple Moving Average)作为信号线的Expert Advisor中,可以按照以下步骤进行编写:

  1. 导入所需的库和模块: 在编写Expert Advisor之前,首先需要导入所需的库和模块。这可能包括与交易平台相关的库,如MetaTrader 4或MetaTrader 5的MQL库,以及用于计算指标的数学库。
  2. 定义和初始化变量: 在编写Expert Advisor时,需要定义和初始化所需的变量。这些变量可能包括价格数据、指标参数、EMA的周期等。
  3. 计算MACD指标: 使用EMA计算MACD指标的步骤如下:
    • 计算短期EMA:使用较短的周期(如12)计算收盘价的EMA。
    • 计算长期EMA:使用较长的周期(如26)计算收盘价的EMA。
    • 计算差离值(DIF):将短期EMA减去长期EMA。
    • 计算信号线(DEA):使用较短的周期(如9)计算DIF的EMA。
  • 生成交易信号: 根据MACD指标的数值生成交易信号。一般来说,当DIF线上穿DEA线时,产生买入信号;当DIF线下穿DEA线时,产生卖出信号。
  • 执行交易操作: 根据生成的交易信号执行相应的交易操作。这可能涉及到下单、平仓、止损、止盈等操作。
  • 添加错误处理和日志记录: 在编写Expert Advisor时,应添加适当的错误处理机制和日志记录功能,以便在出现错误或需要调试时进行排查。

需要注意的是,以上步骤仅为编写MACD指标的Expert Advisor的基本框架,具体的实现方式可能因交易平台、编程语言和个人需求而有所不同。在实际编写过程中,还需要考虑其他因素,如交易规则、风险管理等。

腾讯云相关产品和产品介绍链接地址: 腾讯云提供了丰富的云计算产品和服务,包括云服务器、云数据库、云存储、人工智能等。具体推荐的产品和产品介绍链接地址如下:

  1. 云服务器(Elastic Compute):提供灵活可扩展的云服务器实例,满足不同规模和需求的计算资源需求。 产品介绍链接:https://cloud.tencent.com/product/cvm
  2. 云数据库(TencentDB):提供高性能、可扩展的云数据库服务,包括关系型数据库(MySQL、SQL Server等)和NoSQL数据库(MongoDB、Redis等)。 产品介绍链接:https://cloud.tencent.com/product/cdb
  3. 云存储(Cloud Object Storage):提供安全可靠的云存储服务,用于存储和管理各种类型的数据,支持多种存储类别和访问方式。 产品介绍链接:https://cloud.tencent.com/product/cos
  4. 人工智能(AI):腾讯云提供了丰富的人工智能服务和工具,包括图像识别、语音识别、自然语言处理等。 产品介绍链接:https://cloud.tencent.com/product/ai

以上是关于如何在使用EMA而不是SMA作为信号线的Expert Advisor中编写MACD的完善且全面的答案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

实战:基于技术分析Python算法交易

get_start_date('TSLA', '2016-01-04', 19) # '2015-12-04' 在下面的策略,我们使用修改后日期作为起始日期: %%zipline --start 2015...100天移动平均数序列,要隔很久才会出现价格突变,20天移动平均数序列发生突变速度要快很多。...MACD 参数包括计算三个移动平均数天数,即 MACD(a, b, c),参数 a 表示快速 EMA,b 表示慢速 EMA,c 表示 MACD 序列 EMA。...MACD 线和信号线,交叉点代表买入/卖出信号。...有时候,也可能会设定一个比较居中值,比如在涉及到做空策略。我们也可以选择更极端阈值,20和80。不过,这要求具备专业知识,或者在回测时尝试。

1.6K22
  • C#.NET量化开发实现财富自由【4】实现EMAMACD技术指标的计算

    听说大A又回到了2950点以下,对于量化交易来说,可能这些都不是事儿。例如,你可以预判到大A到顶了,你可能早就跑路了。...判断逃顶还是抄底,最简单方式就是判断是否顶背离还是底背离,例如通过MACD,你可以编写指标用来判断是顶背离还是底背离,集成到股票软件上,例如: 当然,交易软件上面的指标,还是有局限性,因为不能帮助咱们自动交易...上面的顶底背离,就需要用到MACD指标来进行计算。于是就进入到今天主场内容,使用.NET开发实现对MACD数据计算。...例如今天要说EMA指标实现算法。算法实现如图所示。 EMA可以用来干嘛呢?EMA(指数移动平均)可以用来计算出MACD、DIFF、DEA、背离等等。可以说是各种技术指标里面最经常要用到指标。...EMA数学公式如下: 例如下面咱们使用EMA基础指标,来计算出MACD指标数据。控制器里面新增一个测试EMAapi接口,用来计算EMAMACD使用

    16810

    freqtrade 学习笔记

    - 使用定义参数值不是原始常量可以快速优化空间 roi 、 stoploss 和 trailing 而无需更改策略任何内容。...fit_live_predictions_candles从预测数据不是训练数据集计算目标(标签)统计数据历史蜡烛数continual_learning使用最近训练模型最终状态作为新模型起点,允许增量学习...应该用于测试不是训练数据比例。...计算信号线,通常是MACD线9天期间指数移动平均线(EMA9),用于平滑MACD线波动,公式为信号线=EMA(MACD线,9)。4....当MACD线向上穿过信号线时,MACD柱变成正数,这被认为是价格进入了强势区间,MACD线向下穿过信号线时,MACD柱变成负数,则被认为是价格进入了弱势区间。

    4.7K612

    深入理解现货量化合约对冲交易系统开发技术详细分析

    被动型算法交易最成熟,使用也最为广泛,如在国际市场上使用最多成交加权平均价格(VWAP)、时间加权平均价格(TWAP)等都属于被动型算法交易。(2)主动型算法交易,也称机会型算法交易。...做市包括在当前市场价格之上挂一个限价卖单或在当前价格之下挂一个限价买单,以便从买卖差价获利。...此外,还有更复杂策略,“基准点“算法被交易员用来模拟指数收益,任何类型模式识别或者预测模型都能用来启动算法交易。  ...开仓条件:  MACD金叉,kdj金叉,cci金叉,rsi金叉和且sar出现红才开多;反之做空  指标公式源码:  //MACD  DIFF:EMA(CLOSE,12)-EMA(CLOSE,26),NODRAW...;  DEA:EMA(DIFF,9),NODRAW;  MACD:2*(DIFF-DEA),NODRAW;  //KDJ  RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV

    70540

    BackTrader 中文文档(二十二)

    该网站包含了需要解决挑战: ‘买入收盘价’在‘新 20 日高点设定’的当天是不允许 其中一个特点提供了平台如何为这样壮举运作提示: 使用每日数据(不是分钟或 tick 数据)进行日内交易 作者对当时现有的回测库复杂性感到厌烦...买入收盘价是通过使用backtrader.Order.Close作为执行类型来实现。 这在可用样本中使用-no-replay。一个执行: $ ....对核心机制加载柱进行了小扩展,允许过滤器将柱第二部分添加到内部存储以进行重新处理,然后再考虑新数据心跳。而且因为它是一个扩展不是修改,所以没有影响。...当然,ta-lib指标的params由库本身定义,不是由backtrader定义。在这种情况下,ta-libSMA需要一个名为timeperiod参数来定义操作窗口大小。...分析了ta-lib源代码之后: ta-lib实现对KAMA第 1 个值做出了非行业标准选择。 选择可以从源代码中看到(引用源代码):这里使用昨天价格作为前一天 KAMA。

    45600

    《极限挑战》罗志祥遭套路“破产”,我们却看到了更大危机

    1、指标/特征:包括技术指标(EMA、BBANDS、MACD 等)、基本指标、宏观经济指标。 例 1:RSI(14)、价格-SMA(50)、CCI(30)。...例 2:RSI(14)、RSI(5)、RSI(10)、价格 - SMA(50)、价格 - SMA(10)、CCI(30)、CCI(15)、CCI(5)。在这个例子,我们选择了 8 个指标。...然后,使用「TTR」包中提供各自功能计算 MACD 和抛物线 SAR。随后,从每个数据点 SAR 值减去收盘 EUR / USD 价格。...从图中可以看到看到两个不同区域,上部红色较大区域是算法做出短期预测,下部蓝色区域则是长期预测。 随着时间推移,SAR 指标随着趋势延伸下降。...其他人表示,机器学习工具开放或许会让更多投资者开发自己 AI 分析软件,不是依赖华尔街研究分析。 尽管如此,这也不太可能阻止华尔街拥抱 AI 了。

    79430

    用matplotlib和pandas绘制股票MACD指标图,并验证化交易策略

    如前文所述,EMA1周期参数一般取12日,EMA2一般取26日,DIF一般取9日,在此基础上,MACD指标的计算步骤如下所示。 第一步:计算移动平均值(即EMA)。...具体步骤是,通过第9行for循环,遍历由第一个参数指定DataFrame类型df对象,根据第10行if条件,如果是第一天,则EMA值用当天收盘价,如果满足第12行条件,即不是第一天,则在第...第27行返回指定列,在后面的代码还要用到df对象其他列,此时则可以用第28行所示代码返回df全部列。...第13行定义计算MACDcalMACD方法和DrawMACD.py范例程序同名方法也完全一致,但在最后第15行,是通过return语句返回整个df对象,不是返回仅仅包含MACD指标的相关列,这是因为...因此,在实际使用,投资者可以用MACD指标结合其他技术指标,比如之前提到均线,从而能对买卖信号进行多重确认。

    4K10

    金融数据分析与挖掘具体实现方法 -2

    分析 当快线穿过慢线时候,代表最近价格已经上涨,之前价格已经下跌一段时间 作用 比如macd,kdj等等依赖均线技术指标,其核心思想都差不多,作为其他趋势策略基础。...计算公式: 1、MACD首先行计算出快速(一般选12日)移动平均值与慢速(一般选26日)移动平均值 2、12日EMA数值减去26日EMA数值得到,差离值DIF 3、根据离差值计算其9日EMA...传入参数序列必须是Numpy序列 返回macd:差离值 macdsignal:信号线 macdhist:MACD柱状图值 方法: 使用股票收盘价格(close)去计算MACD指标数据...当股市强烈震荡或股价变化巨大(送配股拆细等)时,可能会给出错误信号。所以在决定股票操作时,应该谨慎参考其他指标,以及市场状况,不能完全信任差离值单一研判,避免造成损失。...")   我们对RSI做个总结     尤其在市场剧烈震荡时,还应参考其它指标进行综合分析,不能简单地依赖RSI信号来作出买卖决定,可以和MACD结合一起使用

    2.3K21

    股票技术指标入门开发之——给主图添加MACD顶底背离

    而我属于技术派,毕竟是程序猿嘛,能靠写代码实现,干嘛要搞那么多花里胡哨,是不是?...所以咱们要写一个MACD指标,使用默认MACD指标数值来计算,有个人其他技术需求可以自行修改默认值。此处默认使用12、26、9默认数值周期计算。...编写完毕,右上角点击测试公式,提示测试通过,即可保存/确定,然后退出: 使用时候,任意选择一个股票日线,然后左上角,选择主图指标,找到刚才新建指标,确定即可: 现在拿来看下效果。...例如大A指数,在5月旬时候,出现了一次拐点,产生了顶背离。后面股价继续新高,MACD继续降低,都和前面一波MACD产生背向而行,这个就是顶背离。后面也可以看到,大A持续回调了一段时间。...,12)-EMA(CLOSE,26); DEA:=EMA(DIFF,9); MACD:=2*(DIFF-DEA); 以上就是本文章全部内容,如果觉得有用,欢迎点赞、在看、转发和关注。

    7810

    量化投资教程:用R语言打造量化分析平台

    概述 和Python计算环境tushare包一样,在R我们使用quantmod包接入第三方数据源,实现自定义量化分析平台构建。...什么是quantmod quantmod就是提供给宽客们使用专业模块,Quantmod本身提供强大数据接入能力,默认是雅虎财经数据源,此外quantmod还以绘制专业行情分析图表以及各种技术指标计算等功能著称...zoo本身是一种时间序列格式,xts则是在这基础上一种时间序列格式加强版。在读取csv时候,我们需要用首行确定header。在转化为zoo时,我们则需要首列来确定时间序列对应时间。...顺势指标 CCI addCCI 资金流动 CMF addCMF 钱德动量指标 CMO addCMO 双指数移动平均线 DEMA addDEMA 离势价格偏离指数 DPO addDPO 指数平滑移动平均线 EMA...addMomentum 变动率 ROC addROC 相对强弱指数 RSI addRSI 转折点信号 SAR addSAR 简单移动平均线 SMA addSMA 随机动量指数 SMI addSMI 三重平滑振荡指数

    2.1K90

    Qlib来啦:模型训练篇

    接下来,我们就以MACD和RSI两个指标为例,实现一个自定义DataHandlerLP类。...Recorder作用 至此,我们已经明白了官方示例复杂配置是怎么来。...我们知道机器学习模型训练时间一般较长,我们不能非常及时看到结果,所以需要记录一些中间结果。有时还有因为种种原因中断训练,那这时可以使用Recoder恢复并继续之前训练,不需要从头开始。...Qlib中使用R作为QlibRecorder简称,每次开始实验都会在指定目录(默认当前目录)新建一个mlruns文件夹,用于存放每次实验中间结果: 在以上代码R.start()只能与with搭配使用...文件夹后,内部文件夹创建规则是这样: 1、每次运行以experient_id创建一个文件夹,当experient_id为指定时,默认以0开始自增整数作为文件夹名称。

    3.1K42

    BackTrader 中文文档(十五)

    : 尽可能使用参数不是固定值 在大多数情况下,使用更短和更简洁名称(例如用于导入)会增加可读性。...spy_filter条件,我们只需在__init__执行一次,不是在代码多个位置执行。...例如,在上面的几行,我们看到一个0.2,它在代码几个部分中都被使用:将其作为参数。同样,还有其他值,0.001和100(实际上已经建议将其作为创建移动平均值参数)。...将所有东西都作为参数,可以通过只改变策略实例化不是策略本身来打包代码并尝试不同方法。...但可以是一个很好近似值),不是下一个可用价格(这是下一个开盘价) 自动化方法 如果可以将订单逻辑保持在 next ,并且不必使用 cheat-on-close,那将是完美的。

    41000

    用Python可视化股票指标

    用Python可视化股票指标 一个完整量化交易策略指考虑到交易方方面面,但是能不能赚钱,谁知道呢 :) 但是一个量化交易可以通过回测系统建立信心然后让其一既往运行,以达到让钱生钱目的,并且是自动...技术指标 这里主要讨论一下常用技术指标,比如MACD, 均线, RSI.除此之外还有一些有意思图形指标,通过判断图表形状来判断买卖,图形派是既能做趋势跟随也能做价值回归 下面是它们计算公式及介绍...MACD MACD称为异同移动平均线,是从双指数移动平均线发展而来,由快指数移动平均线(EMA12)减去慢指数移动平均线(EMA26)得到快线DIF,再用2×(快线DIF-DIF9日加权移动均线...--- 摘自百度百科 这个指标的快线DIF是是两个指数平均线差,所以当走势上扬时候,会是正数,上扬曲率很大时候则也会迅速变大,DEA自然是在其下方,趋势向下时候相反。...总结 没有万能指标,关键在于使用指标的人。

    3K11

    用代码说话!机器学习能预测股市吗?

    2 特征 常用量价技术指标:Chaikin A/D、BBAND、CCI、EMAMACD、OBV、RSI、SMA和STOCH。...▍简单移动平均线 ▍指数移动平均线 ▍MACD ▍随机指标 ▍累积/派发线 ▍布林带 ▍OBV 汇总如下: 3 假设 起初,我们想建立一个单一模型,使用所有ETF(QQQ、TQQQ、SPY、VTI、IWM...对于我们下一个模型,使用2010年到2016年数据作为我们训练集,使用2017年到2019年数据作为我们测试集。...遗憾是,在这个模型使用相同随机森林分类器,AUC分数显著下降到0.44。 5 修改标签 正如在示例数据集中所看到,所有这些行都有非常相似的20-MAs,开盘价和收盘价。...最后,利用优化后超参数对X_train和y_train进行建模。测试集准确率(不是AUC)为50.5% 使用XGBClassifier:0.478 Test Set AUC得分。

    2.3K20

    Talib学习笔记(一)- 成交量指标学习

    talib是python量化指标库,其中包含了很多150多种量化指标,所以talib是非常值得我们学习和使用。...对于学习talib来说,了解其各种指标的使用才是重中之重,所以我们分批次编写系列文章,希望能够达到输出带动输入效果。 当然学习某个未知东西,肯定不能囫囵吞枣。因为吃下去也未必消化掉了。...Marc chaikin公式不是没有道理。...收盘价-最低价等价于全天多方力量,最高价-收盘价相当于空方力量。最高价和最低价之前空间就是多空双方博弈空间。...可能今天涨停然后你用AD指数发现AD向上,你买入,后期跌的话AD就变为尖锐顶部。我们分析数据其实要以平滑线条作为研究对象,对突变情况预测要避免。

    4K11

    3000字,示波器有源探头介绍!

    使用脉冲发生器产生一个1ns阶跃信号,通过测试夹具后,使用SMA电缆直接连接到一个1.5GHz带宽示波器上,这样示波器上会显示一个波形(如下图中蓝色信号),把这个波形存为参考波形。...然后使用探头点测测试夹具去探测被测信号,通过SMA直连波形因为受探头负载影响变成黄色波形,探头通道显示是绿色波形。然后分别测试上升时间,可以看出无源探头和有源探头对高速信号影响。...SMA连接,但是如果被测信号需要上拉HDMI,则必须使用SMA探头附件)。...从探头附件结构可见中间50ohm传输线长短不影响探测,所以可以用很长同轴电缆或扩展同轴电缆,让这个同轴电缆伸进高低温箱里进行高低温换进下被测电路板测试。...验证探头和探头附件需要使用一台脉冲码型发生器(:81134A,3.35GHz速率,60ps边沿脉冲码型发生器),如果示波器自带高速信号输出功能,也可以使用示波器这个辅助输出口代替脉冲码型发生器(

    33330

    股市行情指标计算原理和趋势反映--量化交易1-基础

    牛市回调并不是普跌。因此,ADR数值并不会明显低于1。 熊市反应往往是普涨。平时处于低于1状态,当超跌反弹普涨状态出现时,使得ADR数值明显高于1。 ADR指标线仍然运行在数值一上方。...另一条指标线为DEA线,它是DIFF移动平均线。DIFF线相当于移动平均线系统短期均线。DEA线则相当于移动平均线系统中长期均线。 MACD还有一个辅助指标柱状线BAR。...MACD常常选择26,12,9作为参数。 EMA26计算过程为: 前一日EMA26乘25/27加今日收盘价乘2/27。EMA12计算过程为:前一日EMA12乘11/13加今日收盘价乘2/13。...上涨过程,当出现MACD顶背离形态,说明市场卖盘开始增强,但并不是准确信号,还需观察DIFF指标线与DEA指标线和零轴关系。若DIFF指标线与DEA指标线是从零轴下方向上穿越零轴上方。...趋势运行指标,这种取值方法不足之处在于它没有考虑到价格波动过程震荡幅度。DMI指标在充分考虑了价格波动震荡幅度。选取平衡点方式作为研判趋势走向。 平衡点会随着价格波动变化。

    2K10
    领券