[MT4指标]平衡渠道指标
附图指标,
mt4指标类型:趋势指标
是否能用在mt4手机版上:否
是否含有未来函数:无
//+------------------------------------------------------------------+
//| ChannelBalance.mq4 |
//| Copyright ? 2010, Shon Shampain |
//| http://www.zencowsgomu.com |
//| |
//| Visit http://www.ZenCowsGoMu.com, an oasis of sanity |
//| for currency traders. |
//| |
//| Original out-of-the-box thinking, ideas, indicators, |
//| educational EAs and more. |
//| |
//| Home of the consistent T4 Forex trading signal. |
//| +396 pips June 2010, +1835 pips 2010 YTD |
//| Backtesting profitably since 1-1-2002. |
//+------------------------------------------------------------------+
#property copyright \"Shon Shampain\"
#property link \"http://www.zencowsgomu.com\"
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color4 Aqua
extern int max_periods = 20;
extern bool tenths = true;
int d;
double mult;
double high, low;
double upper ;
double lower ;
double middle ;
double bal ;
int init()
{
d = Digits;
if (tenths) d -= 1;
mult = 1.0;
for (int x = 0; x < d; x++)
mult *= 10.0;
SetIndexBuffer(0, upper);
SetIndexBuffer(1, lower);
SetIndexBuffer(2, middle);
SetIndexBuffer(3, bal);
SetLevelValue(0, 50.0);
SetLevelStyle(STYLE_DOT, 1, Silver);
return(0);
}
int deinit()
{
return(0);
}
void get_high_low(int i, int max)
{
high = 0.0;
low = 99999.9;
for (int j = 0; j < max; j++)
{
if (High[i+j] > high) high = High[i+j];
if (Low[i+j] < low) low = Low[i+j];
}
}
double calc_channel_balance(int i, int max)
{
double avg_price, range, pct, total;
double dmax = max;
total = 0.0;
for (int j = 0; j < max; j++)
{
avg_price = (High[i+j] + Low[i+j]) / 2.0;
range = upper[i+j] - lower[i+j];
if (range == 0.0) pct = 0.0;
else pct = (avg_price - lower[i+j]) / range;
total += pct;
}
total /= dmax;
return(total);
}
int start()
{
int counted_bars = IndicatorCounted();
int i = Bars - counted_bars - 1;
while (i >= 0)
{
if (i + max_periods > Bars)
{
upper = EMPTY_VALUE;
lower = EMPTY_VALUE;
middle = EMPTY_VALUE;
bal = EMPTY_VALUE;
}
else
{
get_high_low(i, max_periods);
upper = high;
lower = low;
middle = (high + low) / 2.0;
double val = calc_channel_balance(i, max_periods) * 100.0;
bal = val;
}
i--;
}
return(0);
}
发表于:2015-05-26 09:25只看该作者
2楼
看看再说
韬客社区www.talkfx.co
发表于:2016-06-20 00:19只看该作者
3楼
谢谢分享
韬客社区www.talkfx.co
发表于:2016-07-18 03:37只看该作者
4楼
多谢分享
韬客社区www.talkfx.co
发表于:2016-09-11 10:55只看该作者
7楼
咋没图捏?
韬客社区www.talkfx.co
发表于:2016-09-18 04:12只看该作者
8楼
缺钱,灌水赚通宝,谢谢分享!
韬客社区www.talkfx.co
发表于:2016-12-07 16:40只看该作者
9楼
谢谢楼主
韬客社区www.talkfx.co