Скорость MathPow(): одно маленькое исследование - страница 3

 
MetaDriver писал(а) >>

Т.е. сделать временные треки из значений индюков и в ту же базу засунуть.

Кстати, зацени - тот же скоростной табличный подход по сути.

:)

 
MetaDriver >>:

А это сильно надо? Это про индикаторы. Я пока что намерен брать значения индюков прямо из МТ.

Т.е. сделать временные треки из значений индюков и в ту же базу засунуть.

Знаю быстрый-дешёвый-практичный способ массового экспорта значений индюков из МТ.

Историю за десять лет перелопатит за пару минут и экспортирует полсотни синхронизированных значений.

Что ценно - индюк пишется один раз - под МТ. И тут же можно пользоваться на любой платформе.

Надо? Сам изобрёл. Недостаток естессно тот же - несинхронность и пропуски баров (что частично поправимо).

Или будешь индюки писать? Правда одно другое вовсе не исключает... :)

Индюки можно писать- можно не писать. Кроме этой машки сейчас ничего не надо.

Кроме того, сейчас я индикатор написал вот так:

            double alpha = 2.0 / (m_period + 1);
            int    pos = storeRate->Bars() - 2;
            if(storeRate->IndicatorCounted() > 2)
            {
                pos = storeRate->Bars() - storeRate->IndicatorCounted() - 1;
            }
            //---- main calculation loop
            while(pos>=0)
            {
                if(pos == storeRate->Bars() - 2)
                {
                    buffer->atFromRight(pos+1) = storeRate->Close(pos+1);
                }
                
                buffer->atFromRight(pos) = 
                    alpha * storeRate->Close(pos) + 
                    (1 - alpha) * buffer->atFromRight(pos+1);

                pos--;
            }

Но никаких проблем нет то же самое написать вот так:

   double pr=2.0/(MA_Period+1);
   int    pos=Bars-2;
   if(ExtCountedBars>2) pos=Bars-ExtCountedBars-1;
//---- main calculation loop
   while(pos>=0)
     {
      if(pos==bars-2) ExtMapBuffer[pos+1]=Close[pos+1];
      ExtMapBuffer[pos]=Close[pos]*pr+ExtMapBuffer[pos+1]*(1-pr);
 	   pos--;
     }
А это Copy-Paste 1:1.

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

Не верить же, что она без тестов может как-то работать.

.

А синхронность-несинхронность- это та же фишка: все бары регистрятся в массиве с временной индексацией - и - 

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

к бару всех валют, относящемуся к какому-то конкретному времени - 

то из времени получается индекс в сплошном массиве инструмента / индикаторов - и считывается значение.

 
MetaDriver:

Ок, понял. Разумно.

Спасибо, почитал. Кое что понял.

А на чём пишешь? Ежели на шарпе - могу составить компанию.

Впрочем на плюсах тож возможно. Просто удовольствия от шарпа больше получаю. Сервис, мда.

А это сильно надо? Это про индикаторы. Я пока что намерен брать значения индюков прямо из МТ.

Т.е. сделать временные треки из значений индюков и в ту же базу засунуть.

Знаю быстрый-дешёвый-практичный способ массового экспорта значений индюков из МТ.

Историю за десять лет перелопатит за пару минут и экспортирует полсотни синхронизированных значений.

Что ценно - индюк пишется один раз - под МТ. И тут же можно пользоваться на любой платформе.

Надо? Сам изобрёл. Недостаток естессно тот же - несинхронность и пропуски баров (что частично поправимо).

Или будешь индюки писать? Правда одно другое вовсе не исключает... :)

не могли бы вы рассказать о способе экспорта из МТ4 значений индюков?

Спасибо.

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