OEC Trader to MT4\MT5 котировки, окна

 

Подскажите ребята, кто сможет помочь разумеется не бесплатно

наладить экспорт котировок из фьючерсного терминала OEC-Trader в офлайн окна мт4 ?


примерно что надо делать это полученные CSV файлы опеределённого формата

от OEC-Trader конвертировать в читабельный для мт4 например формат HST ... далее

открывать как офлайн график ... ну и по ходу необходимости обновлять ...


перегонять все необходимые индикаторы в OEC-Trader посчитал более сложным ..


самостоятельно попытался например нефть WTI m30 экспортнуть, получил CSV не совсем нужно формата,

через замену превёл его к стандартам mt4 ... попробовал импортировать .. - лажа какая-то отображалась ...


попробовал этот CSV через скрипт сконвертировать ... получил HST для мт4 .. - файлик виден, открылся но окно пустое

с ожиданием ...


Заранее спасибо !

 

===

ковертить пробовал таким вот скриптом .. -



#property show_inputs


//+------------------------------------------------------------------+

//| script program start function                                    |

//+------------------------------------------------------------------+

int start()

  {

//---- TODO: Add your code.

   // input

   // files must be in expert/files directory,

   string csv_filename = "oil_wti_m30.csv";

   string hst_filename = "oil_wti_m30.hst";

   int i_period = 30;

   int i_digits = 5;

   string c_symbol = "WTIOIL";

   

   //open csv

   int csv_file = FileOpen(csv_filename, FILE_CSV|FILE_READ, ',');

   if(csv_file < 0) return(-1);

   

   //save hst

   int hst_file = FileOpen(hst_filename, FILE_BIN|FILE_WRITE);

   if(hst_file < 0) return(-1);

   //header

   string c_copyright="(C)opyright 2003, MetaQuotes Software Corp.";

   int    version=400;

   int    i_unused[13];

   FileWriteInteger(hst_file, version, LONG_VALUE);

   FileWriteString(hst_file, c_copyright, 64);

   FileWriteString(hst_file, c_symbol, 12);

   FileWriteInteger(hst_file, i_period, LONG_VALUE);

   FileWriteInteger(hst_file, i_digits, LONG_VALUE);

   FileWriteInteger(hst_file, 0, LONG_VALUE);       //timesign

   FileWriteInteger(hst_file, 0, LONG_VALUE);       //last_sync

   FileWriteArray(hst_file, i_unused, 0, 13);

  

   

   string yyyymmdd, hhmm;

   double d_open, d_high, d_low, d_close, d_volume;

   int t_time;

   //1971.01.04,00:00,4.3180,4.3180,4.3180,4.3180,0

   while (FileIsEnding(csv_file) == false)

   {

     yyyymmdd = FileReadString(csv_file);

     if (yyyymmdd != "") // as a rule, metatrader .csv has empty line

     {

       hhmm = FileReadString(csv_file);

       d_open = FileReadNumber(csv_file);

       d_high = FileReadNumber(csv_file);

       d_low = FileReadNumber(csv_file);

       d_close = FileReadNumber(csv_file);

       d_volume = FileReadNumber(csv_file);

       

       t_time = StrToTime(yyyymmdd+' '+hhmm);

       FileWriteInteger(hst_file, t_time, LONG_VALUE);

       FileWriteDouble(hst_file, d_open, DOUBLE_VALUE);

       FileWriteDouble(hst_file, d_low, DOUBLE_VALUE);

       FileWriteDouble(hst_file, d_high, DOUBLE_VALUE);

       FileWriteDouble(hst_file, d_close, DOUBLE_VALUE);

       FileWriteDouble(hst_file, d_volume, DOUBLE_VALUE);

     }

   }  

   

   Print("csv_to_hst OK");

   

   // close

   FileClose(hst_file);

   FileClose(csv_file);

   

   

//----

   return(0);

  }

//+------------------------------------------------------------------+

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