Как экспортировать индикаторы?

 
Добрый день.

Подскажите, как экспортировать из MetaTrader'a не только котировки, но и индикаторы? Теоретически я понимаю, что можно написатьт такой скрипт, который расчитывает для каждой точки некий индикатор (хотя бы и стандартный) и тут же куда-то его пишет (в ТХТ, например). Но как конкретно это сделать?...

И еще: как наложить индикатор на индикатор? Например, построить Porabolic на скользящем среднем?

Заранее спасибо.
 
Не могли бы вы уточнить свой вопрос? Куда вы собираетесь экспортировать индикаторы из MetaTrader'a?
 
Куда вы собираетесь экспортировать индикаторы из MetaTrader'a?


Это не очень важно, я их вообще не могу никуда экспортировать. :)

TXT (CSV), MS Excel, MS Access, какие-нибудь БД. Я даже готов свое маленькое приложение сторонее написать, которое через DDE обращается к MetaTrader.
 
UR,
не очень понятно. Индикатор - это программа..
 
не очень понятно. Индикатор - это программа..


ОК, возможно, я неправильно выразился :)

Если в MetaTrader для какого-нибудь инструмента (например, EURUSD) построить какой-нибудь индикатор (например, Porabolic SAR), то как экспортировать вне MetaTrader значения этого индикатора для этого инструмента за произвольный исторический период?

Вот историю EURUSD в файл я слить могу, а как слить историю индикатора Porabolic SAR для инструмента EURUSD - не понимаю..
 
Вот вариант, от сердца отрываю :)
---------------------------------------------------------------+
//|                                            Stat Day variant1.mq4 |
//|                                                             Rosh |
//|                                    http://forexsystems.ru/phpBB/ |
//+------------------------------------------------------------------+
#property copyright "Rosh"
#property link      "http://forexsystems.ru/phpBB/"
#property show_inputs
extern int BeginYear=2000; 
double HighBar,LowBar,OpenBar.CloseBar,TimeOpenBar,Cl_OpBar,DayBar;
int ExtHandle,UpBars,DownBars;
string nameFile; 
string stringToWrite;
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
  int Sign;
//---- 
   if (Period()!=PERIOD_D1) {Alert("Нужен дневной таймфрейм");return;}
   nameFile=Symbol()+"_StatDay v1";
   ExtHandle=FileOpen(nameFile+".csv",FILE_WRITE | FILE_CSV,";");
   if (ExtHandle==-1) {Alert("Не удалось открыть файл");return;}
   stringToWrite="Time;Open;Close;Low;High;Close-Open;DayofWeek;Знак";
   FileWrite(ExtHandle,stringToWrite);
   for (int cnt=Bars-1;cnt>0;cnt--)
      {
      if (TimeYear(Time[cnt])<BeginYear) continue;
      //stringToWrite=Time;Open;Close;Low;High;Close-Open;DayofWeek
      if (Close[cnt]>Open[cnt]) {UpBars++;Sign=1;}
      if (Close[cnt]<Open[cnt]) {DownBars++;Sign=-1;}
      FileWrite(ExtHandle,TimeToStr(Time[cnt]),Open[cnt],Close[cnt],Low[cnt],High[cnt],Close[cnt]-Open[cnt],TimeDayOfWeek(Time[cnt]),Sign);
      Sign=0;
      }   
//----
   FileWrite(ExtHandle,"Верхних закрытий;",UpBars,";Нижних закрытий;",DownBars,";Всего баров;",Bars);
   if(ExtHandle>=0) { FileClose(ExtHandle); ExtHandle=-1; }
   return(0);
  }
//+------------------------------------------------------------------+



TimeDayOfWeek(Time[cnt]) и Sign - и есть варианты индикаторов.

 
Вот вариант, от сердца отрываю :)


Большое спасибо! Пойду разбираться...
 
Вот вариант, от сердца отрываю :)

TimeDayOfWeek(Time[cnt]) и Sign - и есть варианты индикаторов.


Еще раз спасибо, Rosh.

А не знаете ли Вы, в каком виде идет обработка индикатора при экспорте?

Если я на график данного индикатора не выводил, а просто указал в скрипте экспортировать точку -100 (сто баров назад) - что происходит внутри системы? Считается ли весь индикатор или только для данной точки (последнее представить себе трудно)?

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