【发布时间】:2019-05-05 11:22:13
【问题描述】:
我想请教一点帮助:我想将一条规则集成到我的 EA 中,但我无法正确创建数组。规则将是“如果更高 TF 上的 RSI 的 SMA 高于/低于 blabla。 ..”
这是我的代码:
double MA;
double RSIBuf[];
double MaBuf[];
ArrayResize(RSIBuf,0);
int counted_bars=IndicatorCounted();
int limit = Bars-counted_bars-1;
for(int i=limit; i>=0; i--)
{
RSIBuf[i] = (iRSI(NULL,higherTF,RSIPeriod,0,i));
MaBuf[i] = iMAOnArray(RSIBuf,higherTF,RSI_SMA,0,0,i);
}
MA = MaBuf[0];
...
direction Trend=NEUTRAL;
if(MA>RSI_Up ) Trend=UP;
MT4 显示 RSIBuf[] 行出错
我哪里做错了?感谢您的帮助..
哎呀
【问题讨论】:
-
可能您可以显示指标的完整 MCVE 示例来帮助您。或者您可以检查使用
iMAOnArray函数的另一个实现的MACD指标 -
感谢您的提示,但我没有在 MACD 源代码中找到任何有用的东西。我想要整合的规则是一个简单的 SMA 放在更高 TF 的 RSI 线上。如果 SMA 显示的值高于 50,则向上,否则向下。就这些
-
JP给了你正确的答案。删除
ArrayResize(RSIBuf,0);并确保您有两个使用SetIndexBuffer函数的动态缓冲区