gpt4 book ai didi

mql4 - 如何从 MQL4/MQL5 中的 iADX() 指标中提取 +DI 和 -DI 值?

转载 作者:行者123 更新时间:2023-12-05 01:26:32 32 4
gpt4 key购买 nike

我是 MQL4 的菜鸟,我正在编写我的第一个 EA。

我的目标是获取 ADX 指标的 +DI-DI 的变量。
我使用了 iADX() 函数,如下所示:

double a;

int OnInit() {

a = iADX( NULL, 0, 0, PRICE_CLOSE, MODE_PLUSDI, 0 );

Alert( a );
}

但它一直打印 0.0

我是否在 iADX() 函数中输入了错误的参数?

我只想提取 +DI-DI 的值,以便在我的代码中使用它们。

最佳答案

语法优先:

double iADX( string symbol,        // BEST AS: _Symbol
int timeframe, // BEST AS: one of {}-ENUMs ~ PERIOD_CURRENT
int period, // averaging period
int applied_price, // BEST AS: one of {}-ENUMs ~ PRICE_CLOSE
int mode, // BEST AS: one of {}-ENUMs ~ MODE_PLUSDI
int shift // shift
);

为什么是 0.0

一旦我们读入调用接口(interface),要求对选定的 PRICE_CLOSE 记录序列进行平均,为当前 Symbol() ( NULL ) 似乎很公平,但请注意,对零连续条执行此操作指示什么都不做,而不是对 SUM( Close[i..j] )/进行一些合理的计算期间允许任何有意义的处理。

用非零周期进行试验,您就会回到正轨,朝着您的目标努力。

double DI_plus,
DI_minus;
int ADX_PERIOD = 8;

int OnInit() {
ObjectCreate( ChartID(), "GUI-SHOW+DI", ... ); // LABEL for +DI
ObjectCreate( ChartID(), "GUI-SHOW-DI", ... ); // LABEL for -DI
}

int OnTick() {

DI_plus = iADX( _Symbol,
PERIOD_CURRENT,
ADX_PERIOD,
PRICE_CLOSE,
MODE_PLUSDI,
0
);
DI_minus = iADX( _Symbol,
PERIOD_CURRENT,
ADX_PERIOD,
PRICE_CLOSE,
MODE_MINUSDI,
0
);
ObjectSetString( Chart_ID(),
"GUI-SHOW+DI",
OBJPROP_TEXT,
StringFormat("+DI %12.6f", DI_plus )
);
ObjectSetString( Chart_ID(),
"GUI-SHOW-DI",
OBJPROP_TEXT,
StringFormat("-DI %12.6f", DI_minus )
);
}

关于mql4 - 如何从 MQL4/MQL5 中的 iADX() 指标中提取 +DI 和 -DI 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39905415/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com