指标代码如下:
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],...
我有一个自定义指标。
1、
环境介绍:指标A有3个缓冲数组Buf1,buf2,Buf3,其中buf1非零就画线。 指标A已经加载到图表中。
操作步骤: 关闭MT4,五天不开MT4,这五天之内市场中有新的数据。 第5天打开MT4终端时,指标A的缓冲数组buf1 第M柱的值显示非零(画线了) 。
问题:buf1第M柱值非零是错误的,正确的值应该是0 。 (经过核对,只有buf1第M柱的值是错误的,其它缓冲数组里的值都是对的)
2、环境介绍: 指标A有3个缓冲数组Buf1,buf2,Buf3,其中buf1非零就画线。 指标A已经加载到图表中。
操作步骤:...
MarketInfo(NULL,MODE_STOPLEVEL)返回值为0.0
多单,止损价<=Bid- MODE_STOPLEVEL ,即止损价<=Bid即可。
但我实时订单,止损价=Bid-0.02,提交订单时总是报错:止损价错误。
为什么自相矛盾呀
脚本每次打开客户端都要重新添加,很麻烦, 要怎么改成指标形式?程序太复杂,看不懂,有人帮忙改一下吗?
我有一个自定义指标A,这个指标里 有这样一段代码 di[ j ] / Close[j] + di[j+1]/ Close[j+1] 。 加载到图表上运行正常,不报错。
我另外有一个EA,引用了自定义指标A, 只要一加载EA,就报除0错误 zero divied in 'A' ( 5,18)
我看了下位置,指标A里 5行18列就是 di[j+1]/ Close[j+1] ,奇怪了,为什么Close [j+1] =0 了?
MT4 ,官网MT4 老的ZIGZAG指标, 有这样一段代码(节选部分代码段), IndicatorCounted() 这个函数放在start()里。
我用debug测试,发现一个很奇怪的现象 。
第一种情况:如果加了断点1和断点2 , start()第一次运行时,IndicatorCounted() 100%等于0 ,start()第二次运行时, IndicatorCounted()=Bars-1 ,start()第三次及以后运行时,IndicatorCounted()=Bars-1
第二种情况:如果只加断点1,去掉断点2,...
自定义指标名称为“指标A”,没有限制使用的图表时段。添加到H1,D1均正常。 但在添加到M1图表后, MT4半天没无响应,大概1分钟才有响应。
在日志里显示:"指标A" is too slow ,9000毫秒,rewrite the indication ,please.
这是什么意思呀,是让我重新写 指标A,优化一下指标。还 是让我重新把指标A加载到图表时段M1 ?
自定义指标可以DRAW_LINE,DRAW_ARROW,DRAW_BARS,唯独没有DRAW_TEXT,不知道有什么方法可以实现
在MT4的周期内有1小时和4小时的K线图,但容易被骗线,
怎么能看6小时的K线图?要通过编指标吗?
好象MT5里可以看6小时的K线图,可以移过来吗?
不知道用MT4的真实帐户和密码能否登陆到MT5?
还望高人回答?
int iCustom(
string symbol, // 交易品种名称
ENUM_TIMEFRAMES period, // 周期
string name // 文件夹/自定义指标_名称
... // 指标输入参量列表
);
看了以上icustom 的说明,但还是不懂,求教各位。
例:icustom(null,0,"mymacd",12,26,9) 默认是第一根线的值,如何得到第三根的呢?
在自己的指标里已经有了比如KD交叉的判断了,那在EA里用的时候怎么去用呢?
int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[],...
目前,我正在学习尝试把其他软件上使用的指标移植到MT5,但由于对MQL5还不够了解,所以遇到很多问题。
比如下面两个指标,在其他软件上调用非常简单,但在MQL5上却无从下手。
虽然找到<MovingAverages.mqh> ,其内置函数应该可以满足要求,但没找到相关的实例,不知具体参数如何使用。
所以请教,关于以下两个算法MQL5的调用方法。
求指数平滑移动平均。
用法:EMA(X,N)
参数:X为变量,N为变量或常数。
说明:计算X最近N周期的指数平滑移动平均,若N为0则从第一个有效周期开始计算。
求移动平均。
用法:SMA(X,N...
求最低值。
用法:LLV(X,N)
参数:X为变量,N为常数(建议小于1024,否则将计算缓慢)。
说明:计算X最近N周期的最低值,若N为0则从第一个有效周期开始计算。
事后诸葛亮--------谓技术分析向左!
大多数书籍常言“技术分析”而不说“技术预测”,交易价格一旦形成就成了历史,无论什么样的技术或指标都是依据历史数据来分析,这就应了中国的一句俗话“事后诸葛亮”。任何预测都需要主观判断,也必定是主观的。人的主观能力是有局限性的,所以预测失误再正常不过。“万斛红尘只取一瓢饮”如果你能在分析现有数据时保持客观冷静,根据你的目标和需要,理智地判断当前数据,就非常不容易了。...
MQL5的指标绘图形式中有没有 ,在任意两点间画线段的 ? “ DRAW_SECTION ” 这个属性倒是很像,可以在两个非零值之间画线条,但它也是连续的绘制。
我想实现的是画线段,如下图 虚线部分是不要显示的。 “DRAW_LINE” 这个属性也办不到,它不能绘零值(空值)。
有知道的朋友,望赐教些个,多谢了 。
创建一个结构动态数组,总是报告数组溢出! 结构体是很简单的,三个double 类型的变量。 改成静态数组就没事,纳闷了.........
是不是MQL5不支持 结构动态数组啊 ?
struct name
{ double a; double b; double c;};
name dongtai[]; //-----------这种数组支持否 ?
name jingtai[100]; //------------仅支持 静态?...
当订单成交时 MT5图表上就会显示箭头 密密麻麻的,每次手动删除挺麻烦! 我想只让它在1分钟时间表上显示,其他时间表关闭,MT5上有这个功能吗?
在编写自定义指标时,如果不想利用CopyBuffer()函数操作iMA()的句柄,而是想只获取某K线上的均线值,该如何操作?
例如:当前货币对 当前时间表 平均周期MA_Priod=N 求某柱上加权移动平均线的值 bar[i]=? (ema)
如果利用 MQL5的一个库文件<MovingAverages.mqh> 调用EMA函数 :double ExponentialMA(const int position,const int period,const double prev_value,const double &price[]) 是否可行?...
请问高手 在MQL5里如何实现某条件成立距现在的周期?有没有某个函数或者类能实现这个功能?
一如MQL4里 ” iLowest ()“ 这样的函数 在MQL5里是那个函数或类 ? 如能详细回复,深表感谢。
女士们、先生们,大家好。 我绝对是绿色的,所以不要嘲笑我。 我将采取一种科学的方法。要做到这一点,我需要收集统计数据。对于初学者来说,简单的,如对趋势的统计,翻牌,以及他们的规模特征。要做到这一点,我们需要用一个非滞后(双向)过滤器过滤价格,然后计算衍生品在特定范围内的角度时间。 你需要一个完美的过滤器。你会建议哪一个呢?
大家好! 我为在所附图表下建立股票震荡器的问题纠结了一天(因为测试器中的图表缺乏主要内容,即便于与市场变化进行比较,顺便说一下,其他人已经写了)。 据我所知,这个问题是两方面的。 一方面,在震荡器的OnCalculate方法中,确定每个条形的Equity AccountInfoDouble(ACCOUNT_EQUITY)的方法拒绝工作。 另一方面,很难看到是否可以从专家顾问的OnTick代码中改变震荡器图表(或者说是其数据缓冲区),其中AccountInfoDouble(ACCOUNT_EQUITY)方法发挥作用。 下面是震荡器的代码,尽管它很简单,但却无法产生结果。

您错过了交易机会:
- 免费交易应用程序
- 8,000+信号可供复制
- 探索金融市场的经济新闻
注册
登录