//+------------------------------------------------------------------+ //| B&WImp-T01.mq4 | //| 30.08.2006 Translated on MT4 by Oleg Golozubov aka Maloma | //+------------------------------------------------------------------+ #property copyright " Copyright © 2006, HomeSoft-Tartan Corp." #property link " spiky@transkeino.ru - http:\\www.fxexpert.ru" #property indicator_separate_window #property indicator_color1 Lime #property indicator_buffers 1 #include <stdlib.mqh> extern double mBar = 300; extern int per = 96; extern double tr = 3; extern double t3_period = 8; extern double b = 0.7; double Buffer[]; int init() { SetIndexStyle(0, DRAW_LINE, STYLE_SOLID); SetIndexBuffer(0, Buffer); return(0); } int start() { double impr[300]; double impb[300]; double e1 = 0; double e2 = 0; double e3 = 0; double e4 = 0; double e5 = 0; double e6 = 0; double c1 = 0; double c2 = 0; double c3 = 0; double c4 = 0; double n = 0; double w1 = 0; double w2 = 0; double b2 = 0; double b3 = 0; int shift = 0; double imppr = 0; double imppb = 0; int i = 0; double sipr = 0; double sipb = 0; double null = 0; double sum = 0; double t3 = 0; b2=b*b; b3=b2*b; c1=-b3; c2=(3*(b2+b3)); c3=-3*(2*b2+b+b3); c4=(1+3*b+b3+3*b2); n=t3_period; if(n<1) n=1; n=1+0.5*(n-1); w1=2/(n+1); w2=1-w1; for(shift=Bars-1;shift>=0 ;shift--) Buffer[shift]=0; null=0.00001; for(shift=mBar;shift>=per;shift--) { imppr=0; imppb=0; for(i=shift;i>=shift-per;i--) { if(Close[i]>Open[i]) imppr=imppr+(Close[i]-Open[i]); if(Close[i]<Open[i]) imppb=imppb+(Close[i]-Open[i]); } imppr=MathRound(imppr/Point); imppb=MathRound(imppb/Point); if(imppr==0) imppr=0.0001; if(imppb==0) imppb=0.0001; impr[shift-per]=imppr; impb[shift-per]=imppb; } for(shift=mBar-per;shift>=0;shift--) { sipr=0; sipb=0; for(i=shift;i>=shift-tr ;i--) { sipr=sipr+impr[shift]; sipb=sipb+impb[shift]; } sipr=MathRound((sipr/tr)); sipb=MathRound((sipb/tr)); sum=sipr+sipb; e1=w1*sum+w2*e1; e2=w1*e1+w2*e2; e3=w1*e2+w2*e3; e4=w1*e3+w2*e4; e5=w1*e4+w2*e5; e6=w1*e5+w2*e6; t3=c1*e6+c2*e5+c3*e4+c4*e3; if(t3==0) t3=0.0001; if(t3!=0) Buffer[shift]=t3; } return(0); }
Sample
Analysis
Market Information Used:
Series array that contains close prices for each bar
Series array that contains open prices of each bar
Indicator Curves created:
Implements a curve of type DRAW_LINE
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features: