1.新版编译器OnCalculate我这样编
2.MT4自带的指标30个指标说明及调用
新版编译器OnCalculate我这样编
新版OnCalculate函数是自定义指标中必不可少的计算工具,每当接收到新订单号时,源码源码它会启动指标计算。分析这个函数返回一个整数,指标可以定义为两种类型:用于单数据缓冲的源码源码计算,如移动平均指标。分析仿回车源码它不需要直接附在交易品种的指标价格图表上,而是源码源码通过ArrayGetAsSeries()和ArraySetAsSeries()函数来管理输入数据。
函数原型如下:
int OnCalculate(
const int rates_total,分析 // 价格数据数组大小
const int prev_calculated, // 上次计算结果
const int begin, // 有效数据起始位置
const double& price[] // 计算所需的数据数组
);
在设置指标时,你需要在“参数”标签中选择适当的指标时间序列或指标,通过"应用于"字段指定。源码源码例如,分析源码下载论坛使用iCustom()函数接收自定义指标值时,指标可以指定价格数据数组或另一个指标处理程序作为参数。源码源码
示例代码展示了如何在OnStart()中使用iCustom()函数来获取自定义移动平均指标的分析值,指定PRICE_TYPICAL参数来决定基于典型价格计算:
int OnStart() {
string terminal_path = TerminalInfoString(STATUS_TERMINAL_PATH);
int handle_customMA = iCustom(
Symbol(),
PERIOD_CURRENT,
"Custom Moving Average",
,
0,
MODE_EMA,
PRICE_TYPICAL
);
// ...其他代码
}
OnCalculate函数的返回值和prev_calculated参数紧密相关,允许进行经济算法计算,避免重复。当价格数据更新时,prev_calculated会被终端机重置为0。如果函数返回0,指标值将无法在客户端数据窗口显示。
为了更好地理解,c y源码附加一个指标示例代码有助于操作:
// ...其他指标代码
double LineBuffer[]; // 缓冲区
// 初始化函数
int OnInit() {
SetIndexBuffer(0, LineBuffer, INDICATOR_DATA);
// ...其他初始化操作
return INIT_SUCCEEDED;
}
// 重复函数
int OnCalculate(
// ...其他参数
) {
// ...执行计算并返回prev_calculated
}
以上代码片段展示了OnCalculate函数的使用方法和指标示例的结构。
MT4自带的个指标说明及调用
调用:在MT4面板上,通过显示导航按钮,可以访问技术指标选择栏。 本文将详细介绍MT4自带的-个指标,包括它们的用途、用法和语法。 1. 相对强弱指标(Relative Strength Index, RSI) 相对强弱指标是震荡指标,用于反映市场的买卖强度。 使用方法:RSI读数超过,表示市场处于超买阶段;
低于则表示市场处于超卖阶段;
至之间,linux 源码加密市场通常按照RSI的方向发展。
语法:double iRSI(string symbol, int timeframe, int period, int applied_price, int shift) 参数说明:symbol:指定货币对,NULL默认当前货币对;
timeframe:时间周期,0表示当前时间周期;
period:平均周期,通常为;
applied_price:应用价格,通常为PRICE_CLOSE;
shift:指定柱值,0表示当前柱,1表示前一个柱。
示例代码:iRSI(NULL,0,,PRICE_CLOSE,0) 2. 相对活力指数(Relative Vigor Index, RVI) 相对活力指数也是震荡指标,能够提供买卖信号。 使用方法:两线相交时,推媒体源码发出买入或卖出信号。 语法:double iRVI(string symbol, int timeframe, int period, int mode, int shift) 参数说明:symbol:指定货币对,NULL默认当前货币对;
timeframe:时间周期,0表示当前时间周期;
period:平均周期,通常为;
mode:指标类型,MODE_MAIN或MODE_SIGNAL;
shift:指定柱值,0表示当前柱,1表示前一个柱。
示例代码:iRVI(NULL,0,,MODE_MAIN,0) 3. 标准离差指标(Standard Deviation) 标准离差指标属于趋势指标,反映市场活跃程度。 使用方法:读数低表示市场不活跃;读数高表示市场活跃。 语法:double iStdDev(string symbol, int timeframe, int ma_period, int ma_shift, int ma_method, int applied_price, int shift) 参数说明:symbol:指定货币对,NULL默认当前货币对;
timeframe:时间周期,0表示当前时间周期;
ma_period:平均周期,通常为;
ma_shift:MA偏移,通常为0;
ma_method:MA方法,通常为MODE_EMA;
applied_price:应用价格,通常为PRICE_CLOSE;
shift:指定柱值,0表示当前柱,1表示前一个柱。
示例代码:iStdDev(NULL,0,,0,MODE_EMA,PRICE_CLOSE,0) 4. 随机震荡指标(Stochastic Oscillator) 随机震荡指标属于震荡指标,提供买卖信号。 使用方法:可使用神奇数字进行检测;
两线低于,再回升至以上,做多;
两线高于,再回落至以内,做空;
%K高于%D线,做多;
%K低于%D线,做空。
语法:double iStochastic(string symbol, int timeframe, int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift) 参数说明:symbol:指定货币对,NULL默认当前货币对;
timeframe:时间周期,0表示当前时间周期;
%Kperiod:%K周期,通常为;
%Dperiod:%D周期,通常为7;
slowing:滚动值,通常为7;
method:MA方法,通常为MODE_EMA;
price_field:价格参量,可选择LOW/HIGH或CLOSE/CLOSE;
mode:指标类型,MODE_MAIN或MODE_SIGNAL;
shift:指定柱值,0表示当前柱,1表示前一个柱。
示例代码:iStochastic(NULL,0,,7,7,MODE_EMA,1,MODE_MAIN,0) 5. 成交量指标(Volumes) 成交量指标在图表中显示成交量柱线。 使用方法:无需特别使用方法,直接在图表上显示即可。 语法:double iVolume(string symbol, int timeframe, int shift) 参数说明:symbol:指定货币对,NULL默认当前货币对;
timeframe:时间周期,0表示当前时间周期;
shift:指定柱值,0表示当前柱,1表示前一个柱。
示例代码:iVolume(NULL,0,0) 6. 威廉指标(Williams' Percent Range) 威廉指标是震荡指标,用于提示市场是否超买超卖。 使用方法:WPR能够预测市场的反转;
WPR在0至-%之间,表示市场处于超买状态;
WPR在-%至-%之间,表示市场处于超卖状态。
语法:double iWPR(string symbol, int timeframe, int period, int shift) 参数说明:symbol:指定货币对,NULL默认当前货币对;
timeframe:时间周期,0表示当前时间周期;
period:平均周期,通常为;
shift:指定柱值,0表示当前柱,1表示前一个柱。
示例代码:iWPR(NULL,0,,0)通过以上详细说明,您现在可以更好地理解和使用MT4自带的这些指标来分析市场趋势和进行交易决策。