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

 

Индикатор базы

Pava:
как изменить базовый индикатор в экстраполяторе?

Пава,

Опубликуйте здесь базовый индикатор, который вы хотите использовать, и я сделаю мод для вас, если это "секретный индикатор", который вы не хотите публиковать, просто измените строку кода, как было предложено в предыдущих сообщениях.

Если, например, вы хотите сделать Fourier Extr для RSI, вам нужно добавить во входные параметры следующее...

extern int RSIPeriod = 14;

А затем изменить эту строку кода :

in=0.5+iWPR(NULL,0,50,i+lb)/100.0; //изменить индикатор здесь

Для этого

in=0.5+iRSI(NULL, 0, RSIPeriod,0,i+lb)/100.0; //изменить индикатор здесь

С уважением,

S

 

извините

Я хочу публично извиниться перед Симбой за свое поведение в этой теме с ним, извините, если я вас обидел ....

 

проблема

действительно сделать преобразование Фурье rsi покажите мне это?: 'in' - выражение в глобальной области видимости не разрешено C: \ Program Files \ WHC Trader 4 \ experts \ indicators \ RSI.mq4 (16, 1)

кто-нибудь знает почему?

 

FFTProblem

Теперь, пока все не поверили, что это и есть HG, я хочу указать, что это не так.

См. прикрепленный рисунок... Большая проблема здесь, если бы вы слепо поверили сигналу от FFT WPR, вы бы получили короткую позицию намного раньше, чем нужно.

Так значит ли это, что FFt индикатор не полезен?... Нет... Он может быть очень полезен, если вы знаете, как торговать им, в основном есть 2 способа... Первый - искать подтверждение прорыва линии тренда, после изменения цвета FFT, и избегать входа в сделку, пока цена (желательно закрытие) не пересечет линию тренда... Второй способ я объясню в следующем посте.

С уважением,

S

Файлы:
fftproblem.gif  70 kb
 

и...

Простите, что перебиваю, значит, fft не может чередоваться как на картинке? перерисовывать?

Файлы:
gbpjpyh4.jpg  266 kb
 

FFTSolution

Есть и другие способы использования этих индикаторов, но трендовая линия и тот, который я объясню сейчас, являются основой для торговли с этими инструментами, вы можете комбинировать оба или добавить подтверждение MTF... Но основой являются эти два метода.

Второй метод:

1-TrendFilter: См. рисунок FTTSolution1... Используйте FFT с периодом базового индикатора между 200 и 300 барами, в данном случае я использовал 250 периодов RSI... И Harmonics=1... Это будет ваш фильтр тренда, и эффект перерисовки незначителен... поэтому, как только он станет красным, вы можете совершать только короткие сделки.

2-Триггерный вход: См. рисунок FFTSolution2... Добавьте на график второй индикатор FFT с нормальным периодом (в данном случае RSI=14) и гармониками от 5 до 25 (я использовал 25 для примера)... Если trendfilter сигнализирует о нисходящем тренде, вы входите, когда Trigger тоже сигнализирует о нисходящем тренде... см. синие области, которые я отметил на графике... Вы можете выйти по TP, или, обязательно, по изменению цвета.... В приведенном случае было 5 входов, 3 из них малоприбыльные, 2 из них очень хорошие сделки....

Это не HG, но это очень хорошая стратегия для безопасной и прибыльной торговли.

РЕКОМЕНДАЦИИ:

1-Не будьте жадными, используйте либо линию тренда, либо этот метод, либо оба... НЕ предвосхищайте изменение тренда... Всегда используйте тренд-фильтр, основанный, по крайней мере, на H1 с >200 периодами.

2-Мой обычный комментарий по поводу нижних таймфреймов... Используйте его на/выше H1. Если вам действительно нужно использовать его на m1, m5, m15, делайте это, но только если m15 и h1 ТРЕНДФИЛЬТРЫ (>200 периодов) ОБА сигнализируют в одном направлении.

3-Лучшие входы получаются, если вы чрезвычайно терпеливы и ждете подходящей ситуации... См. последний вход (синяя область) на втором графике... Тренд был Down, был ABCD-образный откат, который отбил более 50% предыдущего движения вниз (около 80%), а затем триггерный вход.

4-Высокие гармоники (25) быстрее, но могут перерисовываться, обычно в направлении против тренда, вы можете использовать их для триггера, если торгуете в направлении тренда, но предпочтительно использовать только 5 гармоник... у вас будет меньше сделок, но вы поймаете прибыльные.

5-Практикуйтесь в настройках и триггерах с помощью визуального тестера, почувствуйте его, на нескольких таймфреймах и нескольких парах.

С уважением,

S

Файлы:
 

Хорошо

learntrader:
Я хочу публично извиниться перед simba за свое поведение в этой теме с ним, извините, если я вас обидел .....
learntrader:
действительно сделать преобразование Фурье rsi покажите мне это?: 'in' - выражение на глобальной области видимости не разрешено C: \ Program Files \ WHC Trader 4 \ эксперты \ индикаторы \ RSI.mq4 (16, 1) кто-то знает почему?
learntrader:
Простите, что перебиваю, значит, fft не может чередоваться как на картинке? перерисовывать?

Dario,

1-Я принимаю ваши извинения.

2-Смотрите прикрепленный в этом посте FFT RSI, я модифицировал индикаторы Leledc, так как он имеет все колокольчики и свистки.

3-FFT может принимать такие развороты, наиболее важным вопросом является базовый индикатор, который вы используете... FFT может перерисовывать как сумасшедший, или он может быть очень стабильным, Если вы используете его, как я объяснил в моем предыдущем сообщении, вы будете сочетать стабильный фильтр направления с быстрым (склонным к перерисовке или перерисовке) "разворотным"... ключ в том, что, сочетая их, вы минимизируете опасность перерисовки и получаете прибыль от быстрых направленных входов.

Leledc

Спасибо за вашу модификацию индикатора.

С уважением,

S

 
SIMBA:
Дарио,

1 - Я принимаю ваши извинения.

2-Смотрите прикрепленный в этом посте FFT RSI, я модифицировал индикаторы Leledc, так как он имеет все колокольчики и свистки.

3-FFT может принимать такие развороты, наиболее важным вопросом является базовый индикатор, который вы используете... FFT может перерисовывать как сумасшедший, или он может быть очень стабильным, Если вы используете его, как я объяснил в моем предыдущем сообщении, вы будете сочетать стабильный фильтр направления с быстрым (склонным к перерисовке или перерисовке) "разворотным"... ключ в том, что, сочетая их, вы минимизируете опасность перерисовки и получаете прибыль от быстрых направленных входов.

Leledc

Спасибо за вашу модификацию индикатора.

С уважением,

S

Я очень рад слышать это от вас!!!!

 

Гауссовый фильтр

Привет У меня есть функция 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);

}

 

!!!!!!!!!!

Причина обращения: