Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Поиск на MQL5.community ведется во всех разделах. Попробуй сам!
Forex Trader
114257
Forex Trader 2005.12.05 15:11 
Добрый день.

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

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

Заранее спасибо.
Forex Trader
114257
Forex Trader 2005.12.06 03:41  
Не могли бы вы уточнить свой вопрос? Куда вы собираетесь экспортировать индикаторы из MetaTrader'a?
Forex Trader
114257
Forex Trader 2005.12.06 12:49  
Куда вы собираетесь экспортировать индикаторы из MetaTrader'a?


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

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


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

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

Вот историю EURUSD в файл я слить могу, а как слить историю индикатора Porabolic SAR для инструмента EURUSD - не понимаю..
Forex Trader
114257
Forex Trader 2005.12.06 14:51  
Вот вариант, от сердца отрываю :)
---------------------------------------------------------------+
//|                                            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 - и есть варианты индикаторов.

Forex Trader
114257
Forex Trader 2005.12.06 14:59  
Вот вариант, от сердца отрываю :)


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

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


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

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

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

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