Абсолютные курсы - страница 83

 
Интересный текст нашёл http://forum-profit.ru/showthread.php?t=16955 
 

Что-то затишье тут... подсказать чтоли темку каковая вызовет бурю эмоций и обсуждений? 

 

Все пробовали дискретное преобразование Фурье (по алгоритму Кули-Тьюки быстрого преобразования Фурье) реализовывать тут в индюках и советниках. При этом тренд (SMA, если угодно) искажает спектральные данные. Подсказка: для нахождения "более правильного" спектра нужно анализировать не сам временной ряд, а его производную. Ибо гармонические составляющие при дифференцировании сохранятся, а трендовые превратятся в константы, которые легко отбросить.

P.S. Из анализа же различий "спектров" от собственно ряда и от его производной можно поделать выводы о движениях, имеющих не "спектральную" (гармоническую) природу. Вот Вам, коллеги, и разделение тренда и флета - ключевой элемент Грааля. 

 
Dr.F.:

Что-то затишье тут... подсказать чтоли темку каковая вызовет бурю эмоций и обсуждений? 

 

Все пробовали дискретное преобразование Фурье (по алгоритму Кули-Тьюки быстрого преобразования Фурье) реализовывать тут в индюках и советниках. При этом тренд (SMA, если угодно) искажает спектральные данные. Подсказка: для нахождения "более правильного" спектра нужно анализировать не сам временной ряд, а его производную. Ибо гармонические составляющие при дифференцировании сохранятся, а трендовые превратятся в константы, которые легко отбросить.

P.S. Из анализа же различий "спектров" от собственно ряда и от его производной можно поделать выводы о движениях, имеющих не "спектральную" (гармоническую) природу. Вот Вам, коллеги, и разделение тренда и флета - ключевой элемент Грааля. 


Взятие производной эквивалентно умножению на jw (т.е. на частоту) в частотной области. Это означает, что все низкочастотные составляющие будут подавлены, в высокочастотные, где находятся и все шумы - многократно усилены. Анализировать будет просто нечего (по крайней мере, гораздо меньше полезного останется).
 
alsu:

Взятие производной эквивалентно умножению на jw (т.е. на частоту) в частотной области. Это означает, что все низкочастотные составляющие будут подавлены, в высокочастотные, где находятся и все шумы - многократно усилены. Анализировать будет просто нечего (по крайней мере, гораздо меньше полезного останется).

ну проведите потом "нормировку", поделите найденный спектр на прямую - линейно растущую частоту. как-то так. нет? а вообще сдается мне что Вы просто не проделали этого на практике. Я в этом даже уверен. 
 

Странное поведение советника обнаружилось. Функция закрытия ордера либо закрывает выбранный ордер, либо возвращает код ошибки. У себя в алертах вижу: "Ордер USDCAD не закрыт, ошибка 0" Мои гестаповские методы меня же и подвели, привожу код.

int close(string sy)
  {
  while(exist(sy)!=0)
    {
    double ask=NormalizeDouble(MarketInfo(sy,MODE_ASK),MarketInfo(sy,MODE_DIGITS));
    double bid=NormalizeDouble(MarketInfo(sy,MODE_BID),MarketInfo(sy,MODE_DIGITS));
    for(int i=0;i<OrdersTotal();i++)
      {
      OrderSelect(i,SELECT_BY_POS);
      if(OrderSymbol()==sy)
        {
        RefreshRates();
        if(OrderType()==OP_BUY)bool res=OrderClose(OrderTicket(),OrderLots(),bid,20,Yellow);
        if(OrderType()==OP_SELL)res=OrderClose(OrderTicket(),OrderLots(),ask,20,Yellow);
        }
      }
    Sleep(3000);
    if(res)Alert("Ордер ",sy," успешно закрыт по смене сигнала");
    if(!res){int err=GetLastError();Alert("Ордер ",sy," не закрыт, ошибка ",err);}
    }  
  return(0);
  }

 Никогда раньше такого не было. Но сейчас советник застрял в функции закрытия.

 

Вот, уважаемый alsu, взял на себя труд, так сказать... 

указанного Вами эффекта не обнаружено.  

P.S. Видите одинаковый небольшой пичок где-то около 40-й "спектральной компоненты"? Вот он истинный. Сохранился при дифференцировании. А то что слева большие по модулю компоненты низкочастотные - это от лукавого. Это неправда. Ибо при дифференцировании пропало. Но своим наличием заодно исказило-переопределило и высокочастотные компоненты. Мысль ясна? 

 
grell:

Странное поведение советника обнаружилось. Функция закрытия ордера либо закрывает выбранный ордер, либо возвращает код ошибки. У себя в алертах вижу: "Ордер USDCAD не закрыт, ошибка 0" Мои гестаповские методы меня же и подвели, привожу код.

 Никогда раньше такого не было. Но сейчас советник застрял в функции закрытия.

надо делать наоборот в цикле, от последнего ордера к первому

for(int i=OrdersTotal-1;i>=0();i--)
 
Dr.F.:

ну проведите потом "нормировку", поделите найденный спектр на прямую - линейно растущую частоту. как-то так.

То есть обратно проинтегрировать? Очень умно.

нет? а вообще сдается мне что Вы просто не проделали этого на практике. Я в этом даже уверен. 

Опять блещете уверреностью, как в начале ветки, да?
 
alsu:

То есть обратно проинтегрировать? Очень умно.

Опять блещете уверреностью, как в начале ветки, да?


А чего мне не блистать-то? Счёт не слил пока что, прибыль будет :-) Что спектр будет нормальным показано наглядно Вам. 
 
Dima.A.:
надо делать наоборот в цикле, от последнего ордера к первому

Докажите!
Причина обращения: