Warning: Table './vitovd_mqlsoft/watchdog' is marked as crashed and should be repaired
query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>Table &#039;./vitovd_mqlsoft/watchdog&#039; is marked as crashed and should be repaired\nquery: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, &#039;download&#039;, &#039;&lt;em&gt;ThreePoleSuperSmootherFilter.mq4&lt;/em&gt; was downloaded&#039;, 0, &#039;&#039;, &#039;http://mqlsoft.com/system/files/ThreePoleSuperSmootherFilter.mq4&#039;, &#039;&#039;, &#039;38.107.191.96&#039;, 1283808221)</em> in <em>/home/vitovd/public_html/includes/database.mysql.inc</em> on line <em>172</em>.', 2, '', 'http://mqlsoft.com/system/files/Th in /home/vitovd/public_html/includes/database.mysql.inc on line 172
Warning: Table './vitovd_mqlsoft/watchdog' is marked as crashed and should be repaired
query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>Cannot modify header information - headers already sent by (output started at /home/vitovd/public_html/includes/database.mysql.inc:172)</em> in <em>/home/vitovd/public_html/includes/common.inc</em> on line <em>141</em>.', 2, '', 'http://mqlsoft.com/system/files/ThreePoleSuperSmootherFilter.mq4', '', '38.107.191.96', 1283808221) in /home/vitovd/public_html/includes/database.mysql.inc on line 172
Warning: Table './vitovd_mqlsoft/watchdog' is marked as crashed and should be repaired
query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>Cannot modify header information - headers already sent by (output started at /home/vitovd/public_html/includes/database.mysql.inc:172)</em> in <em>/home/vitovd/public_html/includes/common.inc</em> on line <em>141</em>.', 2, '', 'http://mqlsoft.com/system/files/ThreePoleSuperSmootherFilter.mq4', '', '38.107.191.96', 1283808221) in /home/vitovd/public_html/includes/database.mysql.inc on line 172
Warning: Table './vitovd_mqlsoft/watchdog' is marked as crashed and should be repaired
query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>Cannot modify header information - headers already sent by (output started at /home/vitovd/public_html/includes/database.mysql.inc:172)</em> in <em>/home/vitovd/public_html/includes/common.inc</em> on line <em>141</em>.', 2, '', 'http://mqlsoft.com/system/files/ThreePoleSuperSmootherFilter.mq4', '', '38.107.191.96', 1283808221) in /home/vitovd/public_html/includes/database.mysql.inc on line 172
Warning: Table './vitovd_mqlsoft/watchdog' is marked as crashed and should be repaired
query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>Cannot modify header information - headers already sent by (output started at /home/vitovd/public_html/includes/database.mysql.inc:172)</em> in <em>/home/vitovd/public_html/includes/common.inc</em> on line <em>141</em>.', 2, '', 'http://mqlsoft.com/system/files/ThreePoleSuperSmootherFilter.mq4', '', '38.107.191.96', 1283808221) in /home/vitovd/public_html/includes/database.mysql.inc on line 172
Warning: Table './vitovd_mqlsoft/watchdog' is marked as crashed and should be repaired
query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>Cannot modify header information - headers already sent by (output started at /home/vitovd/public_html/includes/database.mysql.inc:172)</em> in <em>/home/vitovd/public_html/includes/common.inc</em> on line <em>141</em>.', 2, '', 'http://mqlsoft.com/system/files/ThreePoleSuperSmootherFilter.mq4', '', '38.107.191.96', 1283808221) in /home/vitovd/public_html/includes/database.mysql.inc on line 172
Warning: Table './vitovd_mqlsoft/watchdog' is marked as crashed and should be repaired
query: INSERT INTO watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>Cannot modify header information - headers already sent by (output started at /home/vitovd/public_html/includes/database.mysql.inc:172)</em> in <em>/home/vitovd/public_html/includes/common.inc</em> on line <em>141</em>.', 2, '', 'http://mqlsoft.com/system/files/ThreePoleSuperSmootherFilter.mq4', '', '38.107.191.96', 1283808221) in /home/vitovd/public_html/includes/database.mysql.inc on line 172
//+------------------------------------------------------------------+
//| ThreePoleSuperSmootherFilter.mq4 |
//| |
//| Three-Pole Super Smoother Filter |
//| |
//| Algorithm taken from book |
//| "Cybernetics Analysis for Stock and Futures" |
//| by John F. Ehlers |
//| |
//| contact@mqlsoft.com |
//| http://www.mqlsoft.com/ |
//+------------------------------------------------------------------+
#property copyright "Coded by Witold Wozniak"
#property link "www.mqlsoft.com"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
extern int CutoffPeriod = 15;
double Filter[];
int buffers = 0;
int drawBegin = 0;
double tempReal, rad2Deg, deg2Rad;
double coef1, coef2, coef3, coef4;
int init() {
drawBegin = 4;
initBuffer(Filter, "Three-Pole Super Smoother Filter", DRAW_LINE);
IndicatorBuffers(buffers);
IndicatorShortName("Three-Pole Super Smoother Filter [" + CutoffPeriod + "]");
tempReal = MathArctan(1.0);
rad2Deg = 45.0 / tempReal;
deg2Rad = 1.0 / rad2Deg;
double pi = MathArctan(1.0) * 4.0;
double a1 = MathExp(-pi / CutoffPeriod);
double b1 = 2 * a1 * MathCos(deg2Rad * MathSqrt(3.0) * 180 / CutoffPeriod);
double c1 = a1 * a1;
coef2 = b1 + c1;
coef3 = -(c1 + b1 * c1);
coef4 = c1 * c1;
coef1 = 1.0 - coef2 - coef3 - coef4;
return (0);
}
int start() {
if (Bars <= drawBegin) return (0);
int countedBars = IndicatorCounted();
if (countedBars < 0) return (-1);
if (countedBars > 0) countedBars--;
int s, limit = Bars - countedBars - 1;
for (s = limit; s >= 0; s--) {
Filter[s] = coef1 * P(s) +
coef2 * Filter[s + 1] +
coef3 * Filter[s + 2] +
coef4 * Filter[s + 3];
if (s > Bars - 4) {
Filter[s] = P(s);
}
}
return (0);
}
double P(int index) {
return ((High[index] + Low[index]) / 2.0);
}
void initBuffer(double array[], string label = "", int type = DRAW_NONE, int arrow = 0, int style = EMPTY, int width = EMPTY, color clr = CLR_NONE) {
SetIndexBuffer(buffers, array);
SetIndexLabel(buffers, label);
SetIndexEmptyValue(buffers, EMPTY_VALUE);
SetIndexDrawBegin(buffers, drawBegin);
SetIndexShift(buffers, 0);
SetIndexStyle(buffers, type, style, width);
SetIndexArrow(buffers, arrow);
buffers++;
}