编码帮助 - 页 495

 
Mastercash:
Mladen,我似乎不明白,我使用EMA周期10作为浮动r/s的目的,如果我把周期减少到1周期,它将太弱,不能作为r/s....!我只是需要一个好心的Fello来调整代码,使其在蜡烛图中发出警报,而不是在新蜡烛图的开端。

抱歉

以错误的方式阅读代码

总之,这一行

MainBuffer=iMA(NULL,60,10,0,MODE_SMA,PRICE_CLOSE,i)。

在任何情况下,当图表的时间框架不同于1小时时,都会出现错误。使用iBarShift()来设置指数。像这样

int y = iBarShift(NULL,PERIOD_H1,Time);

MainBuffer=iMA(NULL,PERIOD_H1,10,0,MODE_SMA,PRICE_CLOSE,y)。

另外,将SIGNAL_BAR常量值从1改为0,以便在当前打开的条形图上发出警报(但随后必须在代码中做一些更多的修改)。

_________________

PS:我建议你从这个主题中选取一些新的指标:https://www.mql5.com/en/forum/180648,因为有很多例子说明应该如何处理这些情况

 

求你了,求你了!我需要一个能提醒我的指标,当连续第7根看涨的蜡烛或连续第7根看跌的蜡烛收盘后,就会发出警报。

钉子,多吉和其他形式的蜡烛不计算在内。只有当出现7根看跌或看涨的柱子时,才会弹出有声音的牛市和熊市蜡烛警报。

当策略完成后,我将非常感谢并分享我的想法。

 

嗨,Mladen!

我想我找到了优化时间增加的原因。

将数据平滑化,而不是 "iMAOnArray",包括MovingAverages.mqh。

在策略测试器中用iMAOnArray对该指标进行了一次运行。

2015.06.28 00:13:42.132 2015.06.15 23:59 EURUSD,H1:在0:02:40.525 中处理了70897 个tick事件(71897 条,142742 条状态)(总时间0:02:40。556)2015.06.28 00:11:01.613 2015.06.15 23:59 TSIErgodic inputs: p2=7; p3=5; p4=3; p5=3;2015.06.28 00:11:01.587 2015.06.15 23:59

在策略测试器中用MovingAverages.mqh对指标进行了一次运行。

2015.06.28 00:14:10.625 2015.06.15 23:59 EURUSD,H1:70897 tick events(71897 bars,142742 bar states) processed in0:00:01.045(total time0:00:01.077)2015.06.28 00:14:09.577 2015.06.15 23:59 TSI_New inputs: p2=7; p3=5; p4=3; p5=3;2015.06.28 00:14:09.546 2015.06.15 23:59 当我在EA中使用一个新指标时,没有交易,指标窗口是空的。

在优化过程中显示,运行时有交易。

12 513.73 354 1.18 1.45 269.81 18.75% 1.18239793 p2=21 p3=9 p4=15 p5=28 s=4 stop=0.02 p=0.026 Lots=0.01 Prots=0.07

18 417.94 349 1.16 1.20 235.92 15.14% 1.15998398 p2=41 p3=19 p4=27 p5=36 s=1 stop=0.024 p=0.012 Lots=0.01 Prots=0.07

7 314.10 346 1.09 0.91 326.66 20.58% 1.08715973 p2=13 p3=21 p4=5 p5=4 s=1 stop=0.028 p=0.02 Lots=0.01 Prots=0.07

13 229.71 176 1.17 1.31 287.58 19.28% 1.16941715 p2=35 p3=15 p4=13 p5=4 s=4 stop=0.022 p=0.016 Lots=0.01 Prots=0.07

11 66.44 26 1.31 2.56 62.37 5.78% -1.00000000 p2=23 p3=27 p4=25 p5=16 s=31 stop=0.03 p=0.014 Lots=0.01 Prots=0.07

你能修复该指标吗?

tsi_new.mq4

附加的文件:
tsi_new.mq4  5 kb
 
QuantF:
嗨,Mladen!

我想我找到了增加时间优化的原因。

将数据平滑化,而不是 "iMAOnArray",包括MovingAverages.mqh。

在策略测试器中用iMAOnArray对该指标进行了一次运行。

2015.06.28 00:13:42.132 2015.06.15 23:59 EURUSD,H1:在0:02:40.525 中处理了70897 个tick事件(71897 条,142742 条状态)(总时间0:02:40。556)2015.06.28 00:11:01.613 2015.06.15 23:59 TSIErgodic inputs: p2=7; p3=5; p4=3; p5=3;2015.06.28 00:11:01.587 2015.06.15 23:59

在策略测试器中用MovingAverages.mqh对指标进行了一次运行。

2015.06.28 00:14:10.625 2015.06.15 23:59 EURUSD,H1:70897 tick events(71897 bars,142742 bar states) processed in0:00:01.045(total time0:00:01.077)2015.06.28 00:14:09.577 2015.06.15 23:59 TSI_New inputs: p2=7; p3=5; p4=3; p5=3;2015.06.28 00:14:09.546 2015.06.15 23:59 当我在EA中使用一个新指标时,没有交易,指标窗口是空的。

在优化过程中显示,运行时有交易。

12 513.73 354 1.18 1.45 269.81 18.75% 1.18239793 p2=21 p3=9 p4=15 p5=28 s=4 stop=0.02 p=0.026 Lots=0.01 Prots=0.07

18 417.94 349 1.16 1.20 235.92 15.14% 1.15998398 p2=41 p3=19 p4=27 p5=36 s=1 stop=0.024 p=0.012 Lots=0.01 Prots=0.07

7 314.10 346 1.09 0.91 326.66 20.58% 1.08715973 p2=13 p3=21 p4=5 p5=4 s=1 stop=0.028 p=0.02 Lots=0.01 Prots=0.07

13 229.71 176 1.17 1.31 287.58 19.28% 1.16941715 p2=35 p3=15 p4=13 p5=4 s=4 stop=0.022 p=0.016 Lots=0.01 Prots=0.07

11 66.44 26 1.31 2.56 62.37 5.78% -1.00000000 p2=23 p3=27 p4=25 p5=16 s=31 stop=0.03 p=0.014 Lots=0.01 Prots=0.07

你能修复该指标吗?

tsi_new.mq4

指标中没有什么可修复的

问题不在指标上--问题在回测器上。

在任何情况下,使用aMAOnArray()一定比使用ExponentialMAOnBuffer()快得多--仅仅是因为iMAOnArray()是在机器代码层面执行的,而ExponentialMAOnBuffer()是在P代码层面执行的。iMAOnArray()的速度并不快,这只是表明mt4的新版本有严重的问题。

 
mladen:
指标中没有什么可修复的

问题不在指标上--问题在回测器上。

在任何情况下,使用amaOnArray()一定比使用ExponentialMAOnBuffer()快得多--仅仅是因为iMAOnArray()是在机器代码层面执行的,而ExponentialMAOnBuffer()是在P代码层面执行的。iMAOnArray()不快的事实只是表明,在mt4上的新版本有严重的问题。

论坛上有很多关于这个问题的文章。没有好结果。你认为这个错误不会被修复吗?

 
QuantF:
论坛上有许多次关于这个问题的文章。没有好处。你认为这个错误不会被修复吗?

它应该被修复

如果它将被修复--不知道。每一个新版本的Backtester 都越来越差--我不会希望太多。

 

是否有任何手册解释如何以最有效的方式处理数组?

 
apprentice coder:
是否有任何手册解释如何以最有效的方式使用数组?

由于mql使用数组的方式与C/C++相似,所以好的开始是在这里。数组--C++教程

你应该避免将数组设置为系列。在这种情况下,调整大小是一件很痛苦的事情。(最好的方法是使用与C/C++相同的数组索引方式:第一个(最老的)元素的索引是0,而最后一个(最新的)元素的索引是数组大小-1

 

@论坛中的程序员和编码员,请你们在下面所附的专家顾问中添加一个盈亏平衡选项。

附加的文件:
 
douceurdange:
你好,当RSI线回到RSI+布林带指标的布林带内时,是否可以加上箭头?

我把CCI NRP高级警报作为我想拥有的警报的模型。

谢谢

rsi__bollinger_bands.mq4rsi__bollinger_bands.ex4cci_-_nrp_-_mtf_advanced_alerts.ex4cci_-_nrp_-_mtf_advanced_alerts.mq4

该指标被张贴在这里:https://www.mql5.com/en/forum/general

原因: