FORTS 助けてください - ページ 28

 

皆さん、ありがとうございました。

サービスデスクがSymbolIsSynchronized() を把握した。

もしかしたら、次のビルドで修正する時間があるかもしれませんが...。

 
Михаил:

申し訳ありませんが、すべての標準ライブラリはFOREXで動作するように "調整 "されています。

私や他の多くの人々は、FOREXに取り組むためにそれらを使用することはありません。

残念ながら、標準ライブラリの使用については、お手伝いできません。

マイケル 私は、標準ライブラリのMetaQuotesをFOREXでかなりうまく使っています。しかし、私はいくつかのクラスを追加して、チェックや条件を追加したメソッドを導入する必要がありました。しかし、スプレッドが計算に使われることを除けば、特に問題はないと思います。FXはスプレッドがそれほど高くないので :)。

PS.MT5で履歴を変更する方法を知っている人はいますか?私のブローカーはOtkritieですが、デモ口座でのクォートに問題があり、デモなしではいくつかのアルゴリズムをチェックできません。

 

Konstantin Karpov:

PS.MT5で履歴を置き換える方法を知っている人はいますか?MT5で履歴を変更する方法がわかりません。

そうですよねー、無理ですよねー。しかし、MQは外付けフィーダーの登場を約束した...。
 
Konstantin Karpov:

PS.MT5で履歴を置き換える方法を知っている人はいますか?

履歴をcsvファイルにアンロードして、この履歴をMT4にダウンロードすれば、そこで履歴を好きなように扱うことができます。

そうしました。しかし、MT4上のExpert Advisorを書き換える必要があります。

 
Konstantin Karpov:

Mikhailさん、私はFORTSの標準MetaQuotesライブラリをうまく使っています。しかし、私はいくつかのクラスを追加して、チェックや条件を追加したメソッドを導入する必要がありました。しかし、スプレッドが計算で使われるところを除けば、特に問題はないでしょう。FXはスプレッドがそれほど高くないので :)。

PS.MT5で履歴を変更する方法を知っている人はいますか?私のブローカーはOtkritieですが、デモ口座のクォートに奇妙な状況があり、それなしではいくつかのアルゴリズムをチェックすることができないのです。

申し訳ありません、知りませんでした。

次回は、FORTSの標準ライブラリの 使い方を聞かれた場合。

紹介する

 
どうやら次のビルド( 1117 )で修正されると書いたのは早とちりだったようです...:(;゙゚'ω゚')
 
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!
 

それとも私は何か間違ったことをしているのですか、それともバグですか?

 //+------------------------------------------------------------------+
//|                                                       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
 

Bild 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