用ATR指标做好风险管理,成为投资巨头!
“学会控制交易风险,远比单次盈利要重要得多。如果你想在市场中长期获得成功,首先必须要学会不亏钱”。这是金融投资市场中广为流传的名言,足以说明期货、外汇、黄金等投资中,控制风险至关重要。均幅指标(ATR)就像是一个市场风险管家。
先送上一份外汇MT4的ATR思路源码(请移步到微信公众号:智能云策略),有需要的朋友自己再修改指标参数、回测。期货、股票的朋友直接跳过这段,一起来探讨ATR指标的公式、优缺点以及使用方法。
#property indicator_buffers 1
extern int ATRPeriod = 14;
double ATRBuffer[];
int prev_calculated;
int my_init()
{
SetIndexBuffer(0, ATRBuffer, INDICATOR_DATA);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);
IndicatorDigits(Digits);
SetIndexLabel(0, "ATR(" + IntegerToString(ATRPeriod) + ")");
return(INIT_SUCCEEDED);
}
int start()
{
int i, limit;
double prev_high, prev_low, prev_close;
double true_range, range_sum = 0.0;
if (prev_calculated == 0)
{
limit = Bars - ATRPeriod - 1;
for (i = 0; i <= limit; i++)
{
prev_high = High[i + 1];
prev_low = Low[i + 1];
prev_close = Close[i + 1];
true_range = MathMax(prev_high - prev_low, MathMax(MathAbs(prev_high - prev_close), MathAbs(prev_low - prev_close)));
range_sum += true_range;
}
ATRBuffer[limit] = range_sum / ATRPeriod;
for (i = limit + 1; i < Bars; i++)
{
prev_high = High[i - 1];
prev_low = Low[i - 1];
prev_close = Close[i - 1];
true_range = MathMax(prev_high - prev_low, MathMax(MathAbs(prev_high - prev_close), MathAbs(prev_low - prev_close)));
range_sum = range_sum - ATRBuffer[i - ATRPeriod - 1] + true_range;
ATRBuffer[i] = range_sum / ATRPeriod;
}
}
else
{
limit = Bars - prev_calculated - 1;
for (i = 0; i <= limit; i++)
{
prev_high = High[i + prev_calculated + 1];
prev_low = Low[i + prev_calculated + 1];
prev_close = Close[i + prev_calculated + 1];
true_range = MathMax(prev_high - prev_low, MathMax(MathAbs(prev_high - prev_close), MathAbs(prev_low - prev_close)));
range_sum += true_range;
}
for (i = limit + 1; i < Bars; i++)
{
prev_high = High[i - 1];
prev_low = Low[i - 1];
prev_close = Close[i - 1];
true_range = MathMax(prev_high - prev_low, MathMax(MathAbs(prev_high - prev_close), MathAbs(prev_low - prev_close)));
range_sum = range_sum - ATRBuffer[i - ATRPeriod - 1] + true_range;
ATRBuffer[i] = range_sum / ATRPeriod;
}
}
prev_calculated = Bars - 1;
return(0);
}
均幅指标(ATR)
均幅指标(ATR)由威尔德(Welles Wilder)在《技术交易系统中的新概念》一书中首次提出,主要用于衡量市场波动的大小,把握市场情况,制定更好的投资策略,同时也有利于风险的控制和管理。
均幅指标(ATR)计算公式
ATR指标的计算公式非常简单:
ATR = [(前一日ATR * (N-1) + 当日TR) / N]
TR是由以下三个值里面的最大值来求出来的:
最高价-最低价;
最高价-前一日收盘价;
前一日收盘价-最低价;
N一般取值14。
均幅指标(ATR)优缺点
针无两头尖,蔗无两头甜,均幅指标(ATR)也不例外。
优点:
能够直接显示市场的波动情况,有利于投资者的风险管理,同时也可以帮助我们制定止盈止损策略以最大化投资收益。
缺点:
无法准确预测未来的价格,只能根据过去的走势给出波动的范围,需要结合其他指标才能更好地发挥。
均幅指标(ATR)使用方法
如果说你愿意掌控风险,最大化收益,那么ATR也许可以来帮帮你。
1、要知道止盈止损设在哪里还不容易。
做多时,止盈价格在当前价格上方的ATR乘以某一倍数的范围内;止损价格在当前价格下方的ATR乘以某一倍数的范围内。反之亦然,空单也这样轻松搞定啦!
2、一眼看出市场的波动性以及趋势,ATR越高,波动也越大,趋势也更加明显,越低,趋势则可能更弱。
3、根据ATR的数值,确立合理的交易量,让你在不同市场条件下,保持风险控制和资金的管理。
ATR就像是市场风向标,有效、精确地使用它的指引,投资者可以更加从容地面对市场啦!但需要注意的是,ATR指标并非万能,需要与其他交易策略或技术分析软件结合使用,以尽可能减少不可预测的风险。
分享链接: