[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 246 1...239240241242243244245246247248249250251252253...1145 新评论 ilyaa 2009.10.03 07:27 #2451 Vinin >> : 每个案例都有自己的解决方案 让我把程序代码给你,以便公众进行建设性的批评(请不要对指标本身进行建设性的批评)。但首先是一个描述。这就是TSI(真实力指数)。它是基于1天的动量。这些增量被相应的平均数(21期)平滑了。现在,让我们添加一个缩放比例。要做到这一点,采取高-低之差,用相同的指数平均值(21期)来平滑它们。让我们把平滑动量除以平滑扩散。这个比率被一个短的指数平均数(5期)平滑化了。 我们获得了主线。现在让我们用对冲(EMA(, 5))来平滑主线,并为获得一条信号线而感到高兴。事实上,让我们再次欢欣鼓舞,因为我们有TSI--一个典型的趋势指标。在我的实现中,我还有3个缓冲区用于 "圆圈",我用它来标记主线和信号线的交叉点。先生们,让我们看看代码。 //-------------------------------------------------------------------- // TSI.mq4 // Предназначен для использования в качестве трендового индикатора //-------------------------------------------------------------------- #property indicator_separate_window // indicator_chart_window, indicator_separate_window #property indicator_buffers 3 // Количество буферов #property indicator_color1 Red // Цвет первой линии Red Blue Lime #property indicator_color2 Blue // Цвет второй линии #property indicator_color3 Yellow #property indicator_level1 -20 #property indicator_level2 20 //#property indicator_minimum -100 //#property indicator_maximum 100 extern int LengthMtm = 21; extern int LengthSmooth = 5; extern int LengthErgodic = 5; extern int HistoryLimit = 2000; double tsi[], ergodic[], cross[]; // Объявление массивов (под буферы индикатора) double mtm[], base[], mtmMA[], mtmS[]; //----------------------------------------------------------------------------- int MathSgn(double Value = 0.0) { if ( Value < 0) return(-1); else return( 1); } //----------------------------------------------------------------------------- int init() { SetIndexBuffer(0, tsi); // Назначение массива буферу SetIndexBuffer(1, ergodic); // Назначение массива буферу SetIndexBuffer(2, cross); // Назначение массива буферу SetIndexStyle (0, DRAW_LINE, STYLE_SOLID, 1); // Стиль линии DRAW_HISTOGRAM STYLE_SOLID SetIndexStyle (1, DRAW_LINE, STYLE_SOLID, 1); // Стиль линии SetIndexStyle (2, DRAW_ARROW, STYLE_SOLID, 0); // Стиль линии SetIndexArrow (2, 161); SetIndexLabel(0, "TSI"); SetIndexLabel(1, "Ergodic"); SetIndexLabel(2, "Cross"); IndicatorShortName("TSI("+ LengthMtm+","+ LengthSmooth+","+ LengthErgodic+")"); ArrayResize( mtm, Bars); ArrayResize( base, Bars); ArrayResize( mtmMA, Bars); ArrayResize( mtmS, Bars); ArraySetAsSeries( mtm, true); ArraySetAsSeries( base, true); ArraySetAsSeries( mtmMA, true); ArraySetAsSeries( mtmS, true); return(0); } //----------------------------------------------------------------------------- int start() { if ( HistoryLimit == 0) HistoryLimit = Bars; int Counted_bars = IndicatorCounted(); int i = MathMin(Bars - Counted_bars - 1, HistoryLimit); while( i >= 0 ) { mtm[ i] = Close[ i] - Close[ i+1]; base[ i] = High[ i] - Low[ i]; mtmMA[ i] = iMAOnArray( mtm, 0, LengthMtm, 0, MODE_EMA, i) * 100; mtmMA[ i] /= iMAOnArray( base, 0, LengthMtm, 0, MODE_EMA, i); mtmS[ i] = iMAOnArray( mtmMA, 0, LengthSmooth, 0, MODE_EMA, i); tsi[ i] = mtmS[ i]; ergodic[ i] = iMAOnArray( mtmS, 0, LengthErgodic, 0, MODE_EMA, i); if ( MathSgn( tsi[ i+1] - ergodic[ i+1]) != MathSgn( tsi[ i] - ergodic[ i]) ) cross[ i] = ergodic[ i]; else cross[ i] = EMPTY_VALUE; i--; } return(0); } 让我提醒你上诉的原因。如果你把指标拿到图表上,跳过几根蜡烛,再加上另一根同类的蜡烛,你和我都会得到指标值的分歧。在对EA进行视觉测试时画出这个指标,后来在图表中加入同样的指标,也有非常强烈的背离。你能用文章或个人经验来帮助我解决指标中的这类错误吗?谢谢你。 [删除] 2009.10.03 10:34 #2452 测试仪中缺少停止/播放按钮和速度滑块。该怎么做? Роман 2009.10.03 10:46 #2453 VAM_ >> : 测试器中缺少停止/播放按钮和速度滑块。该怎么做? 将测试仪的控制板抬高一点...使用鼠标左键... Роман 2009.10.03 10:55 #2454 Dmido >> : 大家好)。 我有一个专家顾问。我有一个专家顾问,它能够检测到大的趋势,并且在这些趋势上有很好的优势,但是我几乎不能覆盖无鱼市场上的滑点。 我的问题是:我如何写出缩放的信号?我的想法是这样的--当第一个位置上方有超过一个止损点,并且趋势显示出来时,我就会加仓。 我对单位本身感兴趣,它发出了一个交易的信号。我正在使用从标准MACD样本EA复制的代码。 如何纠正它,例如开长仓,然后一次性关闭开仓和长仓? 但交易像苍蝇一样成倍增加,其结果是一个 他妈的圣杯,有一千个开放的行业((((。 另一种方法是:目测实时监测EA的性能,并手动加注,这就是花岗岩(艺术),但它不是圣杯...... Aleksey Lebedev 2009.10.03 11:34 #2455 IlyaA >> : mtmMA[ i] = iMAOnArray( mtm, 0, LengthMtm, 0, MODE_EMA, i) * 100; mtmMA[ i] /= iMAOnArray( base, 0, LengthMtm, 0, MODE_EMA, i); mtmMA - 应该有两个不同的数组。在划分时,最好检查是否与零不相等。 对于中间计算来说,使用缓冲器更为方便。 如果8个还不够,这里 有一个解决方案是 。 ilyaa 2009.10.03 12:09 #2456 Swan >> : mtmMA - 应该有两个不同的数组。在划分时,最好检查是否与零不相等。 对于中间计算来说,使用缓冲器更为方便。 如果8块钱不够,其中一个解决方案就在这里。 谢谢你的评论。注意我们说的是高低差的平均值。它总是积极的。而平均数则加强了这一趋势。我想检查一下,但后来我想我会在日志中看到是否有什么。你认为除以0的错误会导致在不同时间段添加的图形出现分歧吗? Aleksey Lebedev 2009.10.03 12:40 #2457 IlyaA >> : 谢谢你的评论。请注意,我们说的是高低差的平均值。它总是积极的。而平均数则加强了这一趋势。我想检查一下,但后来我想我会在日志中看到是否有什么。你认为除以0的错误会导致在不同时间段添加的图形出现分歧吗? 但最好是检查一下) 的差异是由于使用了没有移位的数组。 Victor Nikolaev 2009.10.03 12:48 #2458 IlyaA писал(а)>> 让我给出程序代码,供公众进行建设性的批评(请不要对指标本身进行建设性的批评)。但首先是一个描述。这就是TSI(真实力指数)。它是基于1天的动量。这些增量被相应的平均数(21期)平滑了。现在,让我们添加一个缩放比例。要做到这一点,采取高-低之差,用相同的指数平均值(21期)来平滑它们。让我们把平滑动量除以平滑扩散。这个比率被一个短的指数平均数(5期)平滑化了。我们获得了主线。现在让我们用对冲(EMA(, 5))来平滑主线,并为获得一条信号线而感到高兴。事实上,让我们再次欢欣鼓舞,因为我们有TSI--一个典型的趋势指标。在我的实现中,我还有3个缓冲区用于 "圆圈",我用它来标记主线和信号线的交叉点。先生们,请把代码发给我。 让我提醒你地址的原因。如果你把指标拉到图表上,跳过几根蜡烛,再加上一个类似的指标,我们会得到一个指标值的分歧。在对EA进行视觉测试时画出这个指标,后来在图表中加入同样的指标,也有非常强烈的背离。你能用文章或个人经验来帮助我解决指标中的这类错误吗?谢谢你。 指示器是好的。如果在一个单独的循环中调用iMAOnArray(),你可以实现指标的正确操作,而不管其设置时间如何。 你需要将你的单循环分成三个循环。 iMAOnArray() 将更正确地工作。 ilyaa 2009.10.03 13:03 #2459 Swan >> : 但最好是检查一下) 这种差异是由于使用没有移位的数组造成的。 我不太明白没有转变意味着什么。你能不能加点字,谢谢? Aleksey Lebedev 2009.10.03 13:18 #2460 IlyaA >> : 我不太明白没有转变意味着什么。请添加词语。 当新条形图出现时,缓冲数组被移位。索引被递增1,正常情况下不是。 上面的链接更详细地描述了它。 1...239240241242243244245246247248249250251252253...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
每个案例都有自己的解决方案
让我把程序代码给你,以便公众进行建设性的批评(请不要对指标本身进行建设性的批评)。但首先是一个描述。这就是TSI(真实力指数)。它是基于1天的动量。这些增量被相应的平均数(21期)平滑了。现在,让我们添加一个缩放比例。要做到这一点,采取高-低之差,用相同的指数平均值(21期)来平滑它们。让我们把平滑动量除以平滑扩散。这个比率被一个短的指数平均数(5期)平滑化了。 我们获得了主线。现在让我们用对冲(EMA(, 5))来平滑主线,并为获得一条信号线而感到高兴。事实上,让我们再次欢欣鼓舞,因为我们有TSI--一个典型的趋势指标。在我的实现中,我还有3个缓冲区用于 "圆圈",我用它来标记主线和信号线的交叉点。先生们,让我们看看代码。
让我提醒你上诉的原因。如果你把指标拿到图表上,跳过几根蜡烛,再加上另一根同类的蜡烛,你和我都会得到指标值的分歧。在对EA进行视觉测试时画出这个指标,后来在图表中加入同样的指标,也有非常强烈的背离。你能用文章或个人经验来帮助我解决指标中的这类错误吗?谢谢你。测试器中缺少停止/播放按钮和速度滑块。该怎么做?
将测试仪的控制板抬高一点...使用鼠标左键...
大家好)。
我有一个专家顾问。我有一个专家顾问,它能够检测到大的趋势,并且在这些趋势上有很好的优势,但是我几乎不能覆盖无鱼市场上的滑点。
我的问题是:我如何写出缩放的信号?我的想法是这样的--当第一个位置上方有超过一个止损点,并且趋势显示出来时,我就会加仓。
我对单位本身感兴趣,它发出了一个交易的信号。我正在使用从标准MACD样本EA复制的代码。
如何纠正它,例如开长仓,然后一次性关闭开仓和长仓?
但交易像苍蝇一样成倍增加,其结果是一个 他妈的圣杯,有一千个开放的行业((((。
另一种方法是:目测实时监测EA的性能,并手动加注,这就是花岗岩(艺术),但它不是圣杯......
mtmMA - 应该有两个不同的数组。在划分时,最好检查是否与零不相等。
对于中间计算来说,使用缓冲器更为方便。
如果8个还不够,这里 有一个解决方案是 。
mtmMA - 应该有两个不同的数组。在划分时,最好检查是否与零不相等。
对于中间计算来说,使用缓冲器更为方便。
如果8块钱不够,其中一个解决方案就在这里。
谢谢你的评论。注意我们说的是高低差的平均值。它总是积极的。而平均数则加强了这一趋势。我想检查一下,但后来我想我会在日志中看到是否有什么。你认为除以0的错误会导致在不同时间段添加的图形出现分歧吗?
谢谢你的评论。请注意,我们说的是高低差的平均值。它总是积极的。而平均数则加强了这一趋势。我想检查一下,但后来我想我会在日志中看到是否有什么。你认为除以0的错误会导致在不同时间段添加的图形出现分歧吗?但最好是检查一下)
的差异是由于使用了没有移位的数组。
让我给出程序代码,供公众进行建设性的批评(请不要对指标本身进行建设性的批评)。但首先是一个描述。这就是TSI(真实力指数)。它是基于1天的动量。这些增量被相应的平均数(21期)平滑了。现在,让我们添加一个缩放比例。要做到这一点,采取高-低之差,用相同的指数平均值(21期)来平滑它们。让我们把平滑动量除以平滑扩散。这个比率被一个短的指数平均数(5期)平滑化了。我们获得了主线。现在让我们用对冲(EMA(, 5))来平滑主线,并为获得一条信号线而感到高兴。事实上,让我们再次欢欣鼓舞,因为我们有TSI--一个典型的趋势指标。在我的实现中,我还有3个缓冲区用于 "圆圈",我用它来标记主线和信号线的交叉点。先生们,请把代码发给我。
让我提醒你地址的原因。如果你把指标拉到图表上,跳过几根蜡烛,再加上一个类似的指标,我们会得到一个指标值的分歧。在对EA进行视觉测试时画出这个指标,后来在图表中加入同样的指标,也有非常强烈的背离。你能用文章或个人经验来帮助我解决指标中的这类错误吗?谢谢你。指示器是好的。如果在一个单独的循环中调用iMAOnArray(),你可以实现指标的正确操作,而不管其设置时间如何。
你需要将你的单循环分成三个循环。
iMAOnArray() 将更正确地工作。
但最好是检查一下)
这种差异是由于使用没有移位的数组造成的。
我不太明白没有转变意味着什么。你能不能加点字,谢谢?
我不太明白没有转变意味着什么。请添加词语。
当新条形图出现时,缓冲数组被移位。索引被递增1,正常情况下不是。
上面的链接更详细地描述了它。