Торговые стратегии на основе цифровых фильтров - страница 83

 

...

Теперь, когда топор войны зарыт (надеюсь, навсегда), я хочу поздравить всех вас, принимающих участие в совместных усилиях последних нескольких дней.

Разве это не лучше, чем ссориться?

пожелания всем вам

mladen

 

leledc

"Если x меньше -1 или больше 1, MathArccos(x) возвращает NaN (неопределенное значение). " Я не получал этой ошибки при тестировании, но для того, чтобы сделать ее безопасной, все, что вам нужно изменить, это вот это (строка 253):

w=MathArccos(b/2.0);[/php]to this : [php] w=MathArccos(MathMax(MathMin(b/2.0,1),-1));

с уважением

mladen

leledc:
Я допустил ошибку: это был эксперимент на основе Double stoch... Теперь я исправлю ошибку. Спасибо.

P.s. Я работаю над ea, чтобы установить лучшие настройки FFT в автоматическом режиме, но есть проблема: когда я запускаю ea, у меня есть это

2010.01.18 16:47:30 Fourier_Extrapolation_of_Indicator Color 1.2 EURUSD,M5: invalid value for MathArccos function.

Я не знаю, как исправить ошибку (я пытался, но безуспешно)...Младен, если вы здесь, пожалуйста, вы можете дать мне вашу большую помощь?????Спасибо.
 

Симба, Леледк и компания

как мы можем получить это? не могли бы вы объяснить это Симбе? я хочу взять повороты...

Файлы:
gbpjpyh4.gif  79 kb
 

делать повороты

learntrader:
Как мы можем получить это? Не могли бы вы объяснить это Симбе? Я хочу поймать все повороты...

Learntrader,

Я предложил вам один из способов обучения использованию инструмента для торговли.... А как же 2 дня обучения?

Теперь вы снова становитесь жертвой поиска HG...

Нет никакого HG, есть только хорошие и плохие инструменты и хорошие и плохие способы их использования, вот и все.

Самый важный инструмент - это поведение цены у поддержки и сопротивления... тогда с такими Фурье и хорошей стратегией вы можете получить дополнительное преимущество... НО, вы никогда не поймаете все развороты.

Я думаю, что даже mladen ловит не более 92% разворотов, а MrTools, вероятно, может получить 89% из них в лучшем случае.

С уважением,

S

 
learntrader:
Как мы можем получить это? Не мог бы ты объяснить это Симбе? Я хочу пройти повороты...

Да, что делает стрелка на графиках?

Не совсем понятно объяснил, извините.

Забыл сегодня свои таблетки для интеллекта.

 
mrtools:
Привет Leledc, Не уверен, но это может быть похоже на то, что вы ищете.

Спасибо, но я сделал двойное сообщение (в теме tradestation тоже), и mladen предложил то же решение, что и вы! Спасибо.

 
Big Joe:
Да, что делает стрелку на графиках?

Не совсем понял, ребята, извините за это.

Забыл сегодня свои таблетки для ума.

Если я правильно помню, Simba использует суперсигналы для этих стрелок...

 
leledc:
Спасибо, но я сделал двойное сообщение (в теме tradestation тоже) и Младен предложил то же решение, что и вы! Спасибо.

Упс, не заметил, что Младен ответил вам там, опубликовав другую версию.

 
leledc:
Привет У меня есть функция tradestation, я хотел бы преобразовать ее в mql (чтобы перенести tradestation indi в mt4).Ниже оригинал и моя версия функции в mql.Она не работает хорошо, поэтому я хотел бы получить помощь от какого-нибудь эксперта здесь.Спасибо

Easylanguage

{Gaussian Filter}

Inputs: Price(NumericSeries), iptPeriod(NumericSimple), iptPoles(NumericSimple);

variables: aa(0), b(0), w(0), x(0), y(0), y1(0), y2(0), y3(0), y4(0),

a_1(0), a_12(0), a_13(0), a_14(0), a2(0), a3(0), a4(0), Pi(3.141592654),

sqrtOf2(1.414213562), Period(2), poles(0);

if (iptPeriod < 2) then

Period = 2

else

Period = iptPeriod;

// Number of filter poles must be between 1 and 4, inclusive

if iptPoles < 1 then

poles = 1

else if iptPoles > 4 then

poles = 4

else

poles = iptPoles;

// initialization - performed only for first bar

if CurrentBar = 1 then

begin

w = 2 * Pi / Period; // omega

w = 180 * w / Pi; // in degrees

b = (1 - cosine(w)) / (power(sqrtOf2, 2.0/poles) - 1.0);

aa = -b + squareroot(b*b + 2*b);

a_1 = 1.0 - aa;

a_12 = a_1 * a_1;

a_13 = a_1 * a_1 * a_1;

a_14 = a_12 * a_12;

a2 = aa * aa;

a3 = aa * aa * aa;

a4 = a2 * a2;

y1 = Price;

y2 = y1;

y3 = y2;

y4 = y3;

end;

{ Calculate your indicator value here }

x = Price;

if (poles = 1) then

y = aa * x + a_1 * y1

else if (poles = 2) then

y = a2 * x + 2 * a_1 * y1 - a_12 * y2

else if (poles = 3) then

y = a3 * x + 3 * a_1 * y1 - 3 * a_12 * y2 + a_13 * y3

else if (poles = 4) then

y = a4 * x + 4 * a_1 * y1 - 6 * a_12 * y2 + 4 * a_13 * y3 - a_14 * y4;

y4 = y3; // delayed by four bars

y3 = y2; // delayed by three bars

y2 = y1; // delayed by two bars

y1 = y; // delayed by one bar

Gauss = y;

[/php]Mql

[php]

double Gauss(double Price, double iptPeriod,double iptPoles){

double aa, b, w, x, y, y1, y2, y3, y4,a_1, a_12, a_13, a_14, a2, a3, a4;

double Pi=3.141592654;

double period=21, poles;

if (iptPeriod < 2)

period = 2;

else

period = iptPeriod;

if (iptPoles < 1){

poles = 1;

}

else if (iptPoles > 4){

poles = 4;

}

else{

poles = iptPoles;

}

// initialization - performed only for first bar

for(int i = Price; i >= 0; i--){

w = 2 * Pi / period; // omega

w = 180 * w / Pi; // in degrees

b = (1 - MathCos(w)) / (MathPow(MathSqrt(2.0),2.0/poles) - 1.0);

aa = -b + MathSqrt(b*b + 2*b);

a_1 = 1.0 - aa;

a_12 = a_1 * a_1;

a_13 = a_1 * a_1 * a_1;

a_14 = a_12 * a_12;

a2 = aa * aa;

a3 = aa * aa * aa;

a4 = a2 * a2;

y1 = Price;

y2 = y1;

y3 = y2;

y4 = y3;

}

for(i = Price; i >= 0; i--){

x = Price;

y = a4 * x + 4 * a_1 * y1 - 6 * a_12 * y2 + 4 * a_13 * y3 - a_14 * y4;//we don't need y1 y2 y3 y4

}

return (y);

}

Привет, Леледк,

Не уверен, но это может быть похоже на то, что вы ищете.

EDIT: Опубликовал неправильную версию правильной версии в посте #841

 
leledc:
Если я правильно помню, Симба использует суперсигналы для этих стрелок...

Спасибо!