gpt4 book ai didi

mql4 - iMA()函数的shift参数是什么意思?

转载 作者:行者123 更新时间:2023-12-04 02:36:31 25 4
gpt4 key购买 nike

有人可以在一个示例中解释shift函数的两个 iMA 参数之间有什么区别吗?根据MQL4文档:

ma_shift - Moving Average shift. Indicators line offset relate to the chart by timeframe.

shift - Index of the value taken from the indicator buffer ( shift relative to the current bar the given amount of periods ago )



标准MA指标采用哪些参数?

最佳答案

double iMA(string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)

对于打包的标准指标“移动平均”,“Shift”字段修改了“ma_shift”参数。

对于打包的自定义指标“移动平均值”,“MA_Shift”字段会修改“ma_shift”参数。

任何一个指示器中的任何内容均不允许您修改最后一个“shift”参数。



以图形方式,对于标准指标“移动平均值”,更改“Shift”字段将MA行向右移动(带有+ ve编号),向左移动(带有-ve编号),该周期由整数值定义。

ma_shift = 0:

ma_shift = 4:

ma_shift = -4:

就代码而言,当轮询iMA()并将ma_shift设置为4时,例如
double iMA("EURUSD", PERIOD_H1, 8, 4, MODE_SMA, PRICE_CLOSE, 0)

您将获得4个周期的移动平均值。

这是一个简单的文本指示器,显示了iMA()值,并且周期,ma_shift和shift参数是可编辑的。进行测试,并根据“移动平均线”指示符进行验证(调出数据窗口):
#property indicator_chart_window

extern int period = 8;
extern int ma_shift = 0;
extern int shift = 0;

void start(){
string A1=StringConcatenate("Stat: ", DoubleToStr(MA(),5));
Comment(A1);
return (0);
}

double MA(){
return(iMA(NULL, 0, period, ma_shift, 0, 0, shift));
}

iMA()函数中的最后一个“移位”参数会移位用于计算的周期,并且只能是+ ve数。 -ve数字将请求将来不存在的期间。您可以尝试在上面的文本指示器中输入-ve数字以查看得到的结果。 (0.00000)如上所述,指示符不允许编辑此参数,仅仅是因为它们实际上是相同的。
double iMA("EURUSD", PERIOD_H1, 8, 4, MODE_SMA, PRICE_CLOSE, 0)

和...一样
double iMA("EURUSD", PERIOD_H1, 8, 0, MODE_SMA, PRICE_CLOSE, 4)

那么为什么在那呢?最有可能作为其他指标的标准化,例如 http://docs.mql4.com/indicators/iAlligator
其中,“shift”参数是要从其计算周期的总体确定器,而单独的jaw_shift,teeth_shift,lips_shift是独立的参数,可以以图形方式移动绘制的线条。

关于mql4 - iMA()函数的shift参数是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18310119/

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