FORTALEZAS Por favor, ayuda - página 28

 

Gracias a todos.

El servicio de asistencia técnica ha descubierto SymbolIsSynchronized()

Tal vez tengan tiempo de arreglarlo en la próxima compilación...

 
Михаил:

Lo siento, pero todas las bibliotecas estándar están "afinadas" para trabajar en FOREX.

Yo, y muchos otros, no los utilizamos para trabajar en FOREX.

Lamentablemente, no puedo ayudarte a utilizar las bibliotecas estándar.

Michael, yo uso la biblioteca estándar MetaQuotes con bastante éxito en FOREX. Sin embargo, tuve que crear algunas clases adicionales en las que introduje métodos con comprobaciones y condiciones adicionales. Sin embargo, no veo ningún problema, salvo uno: los diferenciales se utilizan en los cálculos. El spread no es tan alto en forex :).

PS. ¿Quién sabe cómo cambiar el historial en MT5? Mi broker es Otkritie, tengo problemas con las cotizaciones en las cuentas demo y no puedo comprobar algunos algoritmos sin demo.

 

Konstantin Karpov:

PS. ¿Quién sabe cómo reemplazar el historial en MT5? No sé cómo cambiar el historial en MT5.

Lo sé, no puedes. Pero MQ prometió la aparición de alimentadores externos...
 
Konstantin Karpov:

PS. ¿Quién sabe cómo reemplazar el historial en MT5? Llevo mucho tiempo trabajando en esto y

Puedes descargar el historial a un archivo csv y descargar este historial a MT4, puedes hacer lo que quieras con el historial allí.

Lo hice. Pero tendremos que reescribir el Asesor Experto en MT4.

 
Konstantin Karpov:

Mikhail, yo uso la biblioteca estándar MetaQuotes en FORTS con bastante éxito. Sin embargo, tuve que crear algunas clases adicionales en las que introduje métodos con comprobaciones y condiciones adicionales. Sin embargo, no veo ningún problema, excepto uno: cuando se utiliza la dispersión en los cálculos. El spread no es tan alto en forex :).

PS. ¿Quién sabe cómo cambiar el historial en MT5? Mi broker es Otkritie, tengo una situación extraña con las cotizaciones en mis cuentas demo y no puedo comprobar algunos algoritmos sin ella.

Lo siento, no lo sabía.

La próxima vez, si alguien pregunta cómo utilizar las bibliotecas estándar en FORTS,

Los remitiré a usted.

 
Por lo visto me he precipitado al escribir que en la próxima build ( 1117 ) se corregirá...:(
 
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!
 

¿O estoy haciendo algo mal o de nuevo un error?

 //+------------------------------------------------------------------+
//|                                                       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 );
}

El símbolo está sincronizado. La serie está sincronizada, y las barras no se pueden obtener:

 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(cuenta real) todavía el indicador no funciona!

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