FORTS Please help - page 28

 

Thank you all!

Service Desk figured out SymbolIsSynchronized()

Maybe they will have time to fix it in the next build...

 
Михаил:

Sorry, but all standard libraries are "tuned" to work on FOREX.

I, and many others, do not use them to work on FOREX.

Unfortunately, I cannot help you to use the standard libraries.

Michael, I use the standard library MetaQuotes quite successfully on FOREX. However, I had to create some additional classes in which I introduced methods with additional checks and conditions. However, I don't see any problems, except for one - spreads are used in calculations. The spread is not so high in forex :).

PS. Who knows how to change the history in MT5? My broker is Otkritie, I've got problems with quotes on demo accounts and I can't check some algorithms without demo.

 

Konstantin Karpov:

PS. Who knows how to replace the history in MT5? I don't know how to change the history in MT5.

I know - you can't. But MQ promised the appearance of external feeders...
 
Konstantin Karpov:

PS. Who knows how to replace the history in MT5? I've been working on this for a long time and I've been working on this for a long time now.

You can unload the history to a csv file and download this history to MT4, you can do whatever you want with the history there.

I did so. But we will have to rewrite the Expert Advisor on MT4.

 
Konstantin Karpov:

Mikhail, I use the standard MetaQuotes library on FORTS quite successfully. However, I had to create some additional classes in which I introduced methods with additional checks and conditions. However, I don't see any problems, except for one - where spread is used in calculations. The spread is not so high in forex :).

PS. Who knows how to change the history in MT5? My broker is Otkritie, I've got strange situation with the quotes on my demo accounts and I can't check some algorithms without it.

I am sorry, I didn't know.

Next time, if anyone asks how to use the standard libraries on FORTS,

I'll refer them to you.

 
Apparently I was too hasty to write that the next build ( 1117 ) will be corrected...:(
 
Privet.Kakdelat,ctob nebylo proskolzenyje ordersov po novostiam. Mozet est kakoi instrument?
 
1973drvu:
Privet.Kakdelat,ctob nebylo proskolzenyje ordersov po novostiam. Mozet est kakoi instrument?
Privet! Ispolzui Limitnie OrdErA!
 

Or am I doing something wrong or again a bug?

 //+------------------------------------------------------------------+
//|                                                       Spread.mq5 |
//|                                          Copyright 2015, Mikalas |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, Mikalas"
#property link        "http://www.mql5.com"
#property version    "1.20"
//
#property indicator_separate_window

#property indicator_buffers 2
#property indicator_plots    2

//--- plot Label1
#property indicator_label1   "Curr spread"
#property indicator_type1   DRAW_LINE
#property indicator_color1   clrYellow
#property indicator_style1   STYLE_SOLID
#property indicator_width1   1
//--- plot Label2
#property indicator_label2   "Midle"
#property indicator_type2   DRAW_LINE
#property indicator_color2   clrDeepPink
#property indicator_style2   STYLE_SOLID
#property indicator_width2   1
//--- Levels
#property indicator_level1 0
#property indicator_level2 0
#property indicator_level3 0
//---
#property indicator_levelwidth 1
//---
#property indicator_levelstyle STYLE_DOT
//---
ENUM_TIMEFRAMES time_frame; //Таймфрейм
//
string sec_symbol;
//
input string StartData = "2015.03.16" ; //Дата начала расчёта индикатора
input double Otstup    = 10 ;           //Отступ от min/max
input bool    UseHour   = false ;         //Считать за последние часы
input int     CPeriod   = 24 ;           //Период расчёта индикатора (часы)  
//--- indicator buffers
double MainBuffer[], MidleBuffer[];
double sec_close[ 1 ];
double mid_spread;
double max_value; 
double min_value;
//
ulong spread_cnt;
//---
datetime start_time;
datetime end_time;
datetime sec_times[];
//
int sec_bars;
int mem_bars;
int next_month;
int b_period;
int back_period;
//
uint timer_time;
//
bool b_found;
bool is_timer;
bool is_busy;
//
//+------------------------------------------------------------------+
//| Indicator Expert set second symbol function                      |
//+------------------------------------------------------------------+
string SetSecSymbol( const string aSymbol )
{
   int str_tire = 0 ;
   int str_tochka = 0 ;
   ushort let_symbol;
   string str_month, str_year;
   long aYear;
    
   int str_size = StringLen ( aSymbol );
    
   for ( int i = 0 ; i < str_size; i++ )
  {
    let_symbol = StringGetCharacter ( aSymbol, i );
      
     if ( let_symbol == '-' )
    {
      str_tire = i;
    }
      
     if ( let_symbol == '.' )
    {
      str_tochka = i;
    }
  }
    
   if ( ( str_tire != 0 ) && ( str_tochka != 0 ) )
  {
    str_month = StringSubstr ( aSymbol, str_tire + 1 , str_tochka - str_tire - 1 );
    str_year = StringSubstr ( aSymbol, str_tochka + 1 , str_size - str_tochka - 1 );
    
     if ( str_month == "12" )
    {
      str_month = IntegerToString ( next_month );
        
      aYear = StringToInteger ( str_year );
      aYear = aYear + 1 ;
      str_year = IntegerToString ( aYear );
    }
     else
    {
       long aMonth = StringToInteger ( str_month );
      aMonth = aMonth + next_month;
      
       if ( aMonth > 12 )
      {
        aMonth = aMonth - 12 ;
        aYear = StringToInteger ( str_year );
        aYear = aYear + 1 ;
        str_year = IntegerToString ( aYear );
      } 
      str_month = IntegerToString ( aMonth );
    }
  }
//--- Set new symbol 
   return ( StringSubstr ( aSymbol, 0 , str_tire + 1 ) + str_month + "." + str_year );
}
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
bool CheckBrent( const string a_symbol )
{
   ushort let_symbol;
   int str_size = StringLen ( a_symbol );
    
   for ( int i = 0 ; i < str_size; i++ )
  {
    let_symbol = StringGetCharacter ( a_symbol, i );
      
     if ( let_symbol == '-' )
    {
       string str_info = StringSubstr ( a_symbol, 0 , i );
//---      
       if ( str_info == "BR" )
      {
         return ( true );
      }
    }
  }
   return ( false );
}
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
{
  is_busy = false ;
  is_timer = false ;
  timer_time = 30 * 1000 ;
  back_period = CPeriod * 60 ;
  mid_spread = 0.0 ;
  spread_cnt = 0 ;
  time_frame = PERIOD_CURRENT ;
  next_month = 3 ;
  max_value = - DBL_MAX ; 
  min_value = DBL_MAX ;
//---
   if ( CheckBrent( _Symbol ) ) next_month = 1 ;
//---
  sec_symbol = SetSecSymbol( _Symbol );
//---
   //---Check for symbol present
   if ( ! SymbolInfoInteger ( sec_symbol, SYMBOL_SELECT ) )
  {
     ResetLastError ();
//---    
     if ( GetLastError () != ERR_MARKET_UNKNOWN_SYMBOL )
    {
       SymbolSelect ( sec_symbol, true );
    }
     else
    {
       Print ( "OnInit: Неизвестный символ - " , sec_symbol );
       return ( INIT_FAILED );
    }    
  }
//---
     //---Check program  
   if ( MQL5InfoInteger ( MQL5_PROGRAM_TYPE ) == PROGRAM_INDICATOR && Period () == time_frame && Symbol () == sec_symbol )
  {
     Print ( "OnInit: Не пройдена проверка типа программы!" );
     return ( INIT_FAILED );
  }    
//---
  end_time = datetime ( SymbolInfoInteger ( _Symbol , SYMBOL_EXPIRATION_TIME ) );
  start_time = datetime ( StringToTime ( StartData ) + 19 * 3600 + 5 * 60 );
 // }  
//---  
   IndicatorSetInteger ( INDICATOR_DIGITS , 0 );
   IndicatorSetString ( INDICATOR_SHORTNAME , "Spread" );
//---  
   SetIndexBuffer ( 0 , MainBuffer, INDICATOR_DATA );
   PlotIndexSetDouble ( 0 , PLOT_EMPTY_VALUE , EMPTY_VALUE );
   ArraySetAsSeries ( MainBuffer, true );
//---  
   SetIndexBuffer ( 1 , MidleBuffer, INDICATOR_DATA );
   PlotIndexSetDouble ( 1 , PLOT_EMPTY_VALUE , EMPTY_VALUE );
   ArraySetAsSeries ( MidleBuffer, true );
//---
   IndicatorSetInteger ( INDICATOR_LEVELCOLOR , 0 , clrLime );
   IndicatorSetInteger ( INDICATOR_LEVELCOLOR , 1 , clrAqua );
   IndicatorSetInteger ( INDICATOR_LEVELCOLOR , 2 , clrLime ); 
//---
   ArraySetAsSeries ( sec_times, true );   
//---
   if ( ( TimeTradeServer () - start_time ) < 60 )
  {
     Print ( "Слишком мал промежуток времени!" );
     return ( INIT_FAILED );
  }
//--- try load data
  GetBars( sec_symbol, time_frame, start_time, end_time );
  is_timer = EventSetMillisecondTimer ( timer_time );
//---
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
// Custom indicator DeInit function                                  |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
   if ( is_timer )
  {
     EventKillTimer ();
    is_timer = false ;
  }  
//---  
   if ( reason == REASON_INITFAILED )
  {
     Print ( "Индикатор удалён! Причина - ошибка инициализации." );
   //  ChartIndicatorDelete( 0, 1, "Spread" ); 
  }
}
//+------------------------------------------------------------------+
// Custom indicator DeInit function                                  |
//+------------------------------------------------------------------+
void OnTimer ()
{
   if ( ( is_busy ) || IsStopped () ) return ;
//---  
  GetBars( sec_symbol, time_frame, start_time, end_time );
}
//+------------------------------------------------------------------+
// Custom indicator Check timer function                             |
//+------------------------------------------------------------------+
bool CheckTimer( const uint start_value, const uint per_value )
{
   uint end_value = GetTickCount ();
  
   if ( end_value < start_value )
  {
     if ( ( start_value - end_value ) >= per_value ) return ( true );
  } 
   else
  {
     if ( ( end_value - start_value ) >= per_value ) return ( true );
  }
   return ( false );
}
//+------------------------------------------------------------------+
//| Custom indicator Get local data function                         |
//+------------------------------------------------------------------+
void GetLocalData( const string a_symbol, ENUM_TIMEFRAMES a_period, datetime start_date, datetime end_date )
{
   datetime times[ 1 ];
   int fail_cnt = 0 ;
//---
   while ( ( fail_cnt < 5 ) && ! IsStopped () )
  {
     long first_date = long ( SeriesInfoInteger ( a_symbol, PERIOD_M1 , SERIES_TERMINAL_FIRSTDATE ) );
//---
     if ( first_date > 0 )
    {
       Print ( "GetLocalData: Первая дата в терминале есть." );
       if ( datetime ( first_date ) < start_date )
      {
         Print ( "Нет данных в терминале за заданный период!" );
         break ;
      }    
//--- force timeseries build
       CopyTime ( a_symbol, a_period, datetime ( first_date ) + datetime ( PeriodSeconds ( a_period ) ), 1 , times );
      
//--- wait to build timeseries 
       uint start_tick = GetTickCount ();
//---        
       while ( !CheckTimer( start_tick, 5 ) )
      {
        fail_cnt--;
        fail_cnt++;
      }    
//---
       if ( bool ( SeriesInfoInteger ( a_symbol, a_period, SERIES_SYNCHRONIZED ) ) ) break ;
    }     
    fail_cnt++;
  }  
}
//+------------------------------------------------------------------+
//| Custom indicator Get server data function                        |
//+------------------------------------------------------------------+
void LoadServerData( const string a_symbol, ENUM_TIMEFRAMES period, const datetime start_date, const datetime end_date  )
{
   int fail_cnt = 0 ;
//---
   while ( ( fail_cnt < 5 ) && ! IsStopped () )
  {   
     long first_date = long ( SeriesInfoInteger ( a_symbol, PERIOD_M1 , SERIES_SERVER_FIRSTDATE ) );
//---    
     if ( first_date <= 0 )
    {
       uint start_tick = GetTickCount ();
//---        
       while ( !CheckTimer( start_tick, 10 ) )
      {
        fail_cnt--;
        fail_cnt++;
      }
    }
     else
    {
       Print ( "LoadServerData: Первая дата на сервере есть. Пробуем построить таймсерию..." );
      GetLocalData( a_symbol, period, start_date, end_date );
       break ;
    }  
    fail_cnt++;
  }  
}
//+------------------------------------------------------------------+
//| Custom indicator Get bars function                               |
//+------------------------------------------------------------------+
int GetBars( string symbol, ENUM_TIMEFRAMES period, const datetime start_date, const datetime end_date )
{
   int fail_cnt = 0 ;
//---
   while ( ( fail_cnt < 5 ) && ! IsStopped () )
  {
//---Check symbol is synchronized  
     if ( SymbolIsSynchronized ( symbol ) )
    {
       Print ( "Символ синхронизирован. Проверяем таймсерию..." );
//---Check series is synchronized
       if ( bool ( SeriesInfoInteger ( symbol, period, SERIES_SYNCHRONIZED ) ) )
      {
         Print ( "Серия синхронизирована. Пробуем получить бары..." );
         return ( Bars ( symbol, period ) );
      }
       else
      {
         Print ( "Серия не сихронизирована. Пробуем получить данные из терминала..." );
        GetLocalData( symbol, period, start_date, end_date );
      }    
    }
     else
    {
       Print ( "Символ не синхронизирован. Пробуем получить данные с сервера..." );
      LoadServerData( symbol, period, start_date, end_date );
    }
    fail_cnt++;
  }  
   return ( 0 );
}
//+------------------------------------------------------------------+
//| Custom indicator fill buffers function                           |
//+------------------------------------------------------------------+
void FillBuffers( const int count, const int value )
{
   if ( ( count > 0 ) && ( value > 0 ) )
  {
     for ( int i = count - 1 ; i >= 0 ; i-- )
    {
      MainBuffer[i] = MainBuffer[i + 1 ];
      MidleBuffer[i] = MidleBuffer[i + 1 ];
    }  
  }  
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[] )
{
   int nStartBar = rates_total - prev_calculated;
   if ( nStartBar == 0 ) return ( rates_total );
//---
  is_busy = true ;  
//---
   ArraySetAsSeries ( time, true );
   ArraySetAsSeries ( close, true );
//---
  sec_bars = GetBars( sec_symbol, time_frame, start_time, end_time );
//---  
   if ( sec_bars < 1 )
  {
     Print ( "OnCalculate: Не получены бары по символу " , sec_symbol );
    FillBuffers( nStartBar, prev_calculated );
    is_busy = false ;
     return ( prev_calculated );
  }
   else
  {
    sec_bars = CopyTime ( sec_symbol, time_frame, end_time, sec_bars, sec_times );
     if ( sec_bars < 1 )
    {
       Print ( "OnCalculate: Не скопированы тийминги по символу " , sec_symbol );
      FillBuffers( nStartBar, prev_calculated );
      is_busy = false ;
       return ( prev_calculated );
    }
  }

//---
  is_busy = false ;  
//--- 
   return ( rates_total );
}

The symbol is synchronized. The series is synchronized, and the bars cannot be obtained:

 2015.05 . 29 15 : 45 : 03.762 Spread (CHMF- 6.15 ,H1)   Символ не синхронизирован. Пробуем получить данные с сервера...
2015.05 . 29 15 : 45 : 03.838 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 03.838 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 03.838 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 03.838 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 03.838 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 45 : 33.854 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 33.854 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 56.788 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 56.788 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 56.788 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 45 : 56.962 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 56.962 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 56.962 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 45 : 57.232 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 57.232 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 57.232 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 45 : 57.802 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 57.802 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 57.802 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 45 : 58.236 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 58.236 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 58.236 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 45 : 58.665 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 58.665 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 58.665 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 45 : 58.711 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 58.711 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 58.711 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 45 : 58.781 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 58.781 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 58.781 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 45 : 59.263 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 59.263 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 59.263 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 45 : 59.761 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 59.761 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 59.761 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 45 : 59.813 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 45 : 59.813 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 45 : 59.813 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 46 : 00.259 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 46 : 00.259 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 46 : 00.259 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 46 : 00.307 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 46 : 00.307 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 46 : 00.307 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 46 : 00.763 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 46 : 00.763 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 46 : 00.763 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 46 : 00.823 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 46 : 00.823 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 46 : 00.823 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 46 : 01.321 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 46 : 01.321 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 46 : 01.321 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 46 : 01.793 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 46 : 01.793 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 46 : 01.793 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 46 : 01.831 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 46 : 01.831 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 46 : 01.831 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 46 : 02.855 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 46 : 02.855 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 46 : 02.855 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
2015.05 . 29 15 : 46 : 03.499 Spread (CHMF- 6.15 ,H1)   Символ синхронизирован. Проверяем таймсерию...
2015.05 . 29 15 : 46 : 03.499 Spread (CHMF- 6.15 ,H1)   Серия синхронизирована. Пробуем получить бары...
2015.05 . 29 15 : 46 : 03.499 Spread (CHMF- 6.15 ,H1)   OnCalculate : Не получены бары по символу CHMF- 9.15
 

Bild 1150(real account) still the indicator does not work!

2015.06.08 17:30:12.188 Spread (BR-6.15,M1)     LoadServerData: Первая дата на сервере есть. Пробуем получить локальные данные...
2015.06.08 17:30:12.198 Spread (BR-6.15,M1)     GetBars: Символ не синхронизирован. Пробуем получить данные с сервера...
2015.06.08 17:30:12.202 Spread (BR-6.15,M1)     LoadServerData: Первая дата на сервере есть. Пробуем получить локальные данные...
2015.06.08 17:30:12.311 Spread (BR-6.15,M1)     GetBars: Символ не синхронизирован. Пробуем получить данные с сервера...
2015.06.08 17:30:12.311 Spread (BR-6.15,M1)     LoadServerData: Первая дата на сервере есть. Пробуем получить локальные данные...
2015.06.08 17:30:12.457 Spread (BR-6.15,M1)     GetBars: Символ не синхронизирован. Пробуем получить данные с сервера...
2015.06.08 17:30:12.457 Spread (BR-6.15,M1)     LoadServerData: Первая дата на сервере есть. Пробуем получить локальные данные...
2015.06.08 17:30:12.458 Spread (BR-6.15,M1)     GetBars: Символ не синхронизирован. Пробуем получить данные с сервера...
2015.06.08 17:30:12.458 Spread (BR-6.15,M1)     LoadServerData: Первая дата на сервере есть. Пробуем получить локальные данные...
2015.06.08 17:30:12.461 Spread (BR-6.15,M1)     GetBars: Символ не синхронизирован. Пробуем получить данные с сервера...
2015.06.08 17:30:12.461 Spread (BR-6.15,M1)     LoadServerData: Первая дата на сервере есть. Пробуем получить локальные данные...
2015.06.08 17:30:12.462 Spread (BR-6.15,M1)     GetBars: Символ не синхронизирован. Пробуем получить данные с сервера...
2015.06.08 17:30:12.462 Spread (BR-6.15,M1)     LoadServerData: Первая дата на сервере есть. Пробуем получить локальные данные...
2015.06.08 17:30:12.463 Spread (BR-6.15,M1)     GetBars: Символ не синхронизирован. Пробуем получить данные с сервера...
2015.06.08 17:30:12.463 Spread (BR-6.15,M1)     LoadServerData: Первая дата на сервере есть. Пробуем получить локальные данные...
2015.06.08 17:30:12.464 Spread (BR-6.15,M1)     GetBars: Символ не синхронизирован. Пробуем получить данные с сервера...
2015.06.08 17:30:12.464 Spread (BR-6.15,M1)     LoadServerData: Первая дата на сервере есть. Пробуем получить локальные данные...
2015.06.08 17:30:16.870 Spread (BR-6.15,M1)     GetBars: Символ не синхронизирован. Пробуем получить данные с сервера...
2015.06.08 17:30:16.870 Spread (BR-6.15,M1)     LoadServerData: Первая дата на сервере есть. Пробуем получить локальные данные...
2015.06.08 17:30:16.871 Spread (BR-6.15,M1)     GetBars: Символ не синхронизирован. Пробуем получить данные с сервера...
2015.06.08 17:30:16.871 Spread (BR-6.15,M1)     LoadServerData: Первая дата на сервере есть. Пробуем получить локальные данные...
2015.06.08 17:30:16.872 Spread (BR-6.15,M1)     GetBars: Символ не синхронизирован. Пробуем получить данные с сервера...
2015.06.08 17:30:16.888 Spread (BR-6.15,M1)     LoadServerData: Первая дата на сервере есть. Пробуем получить локальные данные...
2015.06.08 17:30:16.888 Spread (BR-6.15,M1)     GetLocalData: Нет баров за выбранный период! Пробуем построить таймсерию...
2015.06.08 17:30:16.888 Spread (BR-6.15,M1)     GetLocalData: Таймсерия не построена!
2015.06.08 17:30:16.888 Spread (BR-6.15,M1)     OnCalculate: Не получены бары по символу BR-7.15
2015.06.08 17:31:01.840 Spread (BR-6.15,M1)     GetBars: Символ не синхронизирован. Пробуем получить данные с сервера...
2015.06.08 17:31:01.840 Spread (BR-6.15,M1)     LoadServerData: Первая дата на сервере есть. Пробуем получить локальные данные...
2015.06.08 17:31:01.840 Spread (BR-6.15,M1)     GetLocalData: Нет баров за выбранный период! Пробуем построить таймсерию...
2015.06.08 17:31:01.840 Spread (BR-6.15,M1)     GetLocalData: Таймсерия не построена!
2015.06.08 17:31:01.840 Spread (BR-6.15,M1)     OnCalculate: Не получены бары по символу BR-7.15
Reason: