FORTS 도와주세요 - 페이지 28

 

모두에게 감사합니다!

SymbolIsSynchronized() 로 서비스 데스크 이해하기

아마도 다음 빌드에서 수정될 것입니다...

 
Михаил :

죄송합니다. 모든 표준 라이브러리는 FOREX에서 작동하도록 "날카롭게" 되어 있습니다.

나와 다른 많은 사람들은 FORTS에서 작업하는 데 사용하지 않습니다.

안타깝게도 표준 라이브러리 사용을 도와드릴 수 없습니다.

Mikhail, 저는 FORTS에서 MetaQuotes 표준 라이브러리를 아주 성공적으로 사용하고 있습니다. 사실, 추가 검사와 조건이 있는 메서드를 도입한 몇 가지 추가 클래스를 만들어야 했습니다. 그러나 스프레드가 계산에 사용되는 경우를 제외하고는 문제가 보이지 않습니다. Forex에서는 어떻게 든 그렇게 많이 뛰지 않습니다. :)

추신. MT5에서 역사를 변경하는 방법을 아는 사람은 누구입니까? Broker Opening, FORTS 섹션, 따옴표로 이해할 수없는 따옴표가 데모 계정에서 발생하기 시작했으며 데모가 없으면 일부 알고리즘의 작동을 확인할 방법이 없습니다.

 

Konstantin Karpov :

추신. MT5에서 기록을 변경하는 방법을 아는 사람은 누구입니까? Broker Opening, FORTS 섹션, 따옴표로 이해할 수없는 따옴표가 데모 계정에서 발생하기 시작했으며 데모가 없으면 일부 알고리즘의 작동을 확인할 방법이 없습니다.

알아요 - 안 돼요. 그러나 MQ는 외부 피더를 약속했습니다 ...
 
Konstantin Karpov :

추신. MT5에서 기록을 변경하는 방법을 아는 사람은 누구입니까? Broker Opening, FORTS 섹션, 따옴표로 이해할 수없는 따옴표가 데모 계정에서 발생하기 시작했으며 데모가 없으면 일부 알고리즘의 작동을 확인할 방법이 없습니다.

히스토리를 csv 파일에 업로드하고 이 히스토리를 MT4에 로드하면 히스토리로 원하는 모든 작업을 수행할 수 있습니다.

나는 했다. 그러나 고문은 MT4에서 다시 작성해야 합니다.

 
Konstantin Karpov :

Mikhail, 저는 FORTS에서 MetaQuotes 표준 라이브러리를 아주 성공적으로 사용하고 있습니다. 사실, 추가 검사와 조건이 있는 메서드를 도입한 몇 가지 추가 클래스를 만들어야 했습니다. 그러나 스프레드가 계산에 사용되는 경우를 제외하고는 문제가 보이지 않습니다. Forex에서는 어떻게 든 그렇게 많이 뛰지 않습니다. :)

추신. MT5에서 기록을 변경하는 방법을 아는 사람은 누구입니까? Broker Opening, FORTS 섹션, 따옴표로 이해할 수없는 따옴표가 데모 계정에서 발생하기 시작했으며 데모가 없으면 일부 알고리즘의 작동을 확인할 방법이 없습니다.

죄송합니다. 몰랐어요.

다음에 FORTS 에서 표준 라이브러리를 사용하는 방법을 묻는다면,

나는 당신을 참조합니다.

 
분명히, 나는 다음 빌드(1117)에서 그들이 그것을 고칠 것이라고 서둘러 작성했습니다...:(
 
Privet.Kak sdelat, ctob nebylo proskolzenyje가 노보스티암을 주문합니다. 모제에스트 카코이타 악기?
 
1973drvu :
Privet.Kak sdelat, ctob nebylo proskolzenyje가 노보스티암을 주문합니다. 모제 에스트 카코이 타 악기?
Privet!Uspolzui Limitnie OrdErA!
 

아니면 내가 뭔가를 잘못하고 있습니까 아니면 다시 버그입니까?

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

기호가 동기화됩니다. 시리즈가 동기화되고 막대를 얻을 수 없습니다.

 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
 

빌드 1150( 실제 계정 ) 표시기가 여전히 작동하지 않습니다!

 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