FORTS 도와주세요 - 페이지 12

 
komposter :
푸케, 에드워드, 푸케 =)
글쎄, 그것을 꺼내, 나는 "유"를 통해이 과정을 가지고 있습니다))))
 
Mikalas :

나는 이것을 이해했지만 위에서 설명한대로 할 수없는 이유를 알려주십시오.

이것은 어떤 식으로든 정보 처리 속도에 영향을 미치지 않습니다.

악기에 대한 정보가 있으면 처음 등장한 날짜를 입력하고 메모리에 저장합니다 - 8 바이트!

저장할 필요도 없고 SymbolSelect()를 수행할 때 메모리에 넣습니다.

SeriesInfoInteger 함수( SERIES_TERMINAL_FIRSTDATE )로 액세스하면 다음을 얻습니다.

A -1 - 데이터 없음

B. 0 - dpny를 사용할 수 있지만 준비되지 않음

나. 최초 정보의 일자

그러면 모든 것이 명확하고 투명해집니다.

-1 - 서버로 이동

0 - 시계열을 확인하고(또는) 빌드하기 위해 다음 반복을 기다리고 있습니다.

> 0 시계열 빌드

당신의 참고로 나는 당신이 거의 그렇게 했다는 것을 깨달았습니다. 그렇지 않은 것으로 나타났습니다.

분명히 한 프로그래머가 쓰기 시작했고 다른 누군가가 완료했습니다.

귀하의 구현은 FOREX에는 좋지만 FORTS에는 매우 불편합니다.

지수는 오랫동안 FORTS에 도착하지 않을 수 있으며 시계열은 payati에서 언로드됩니다.

그리고 서버를 호출하면서 데이터를 얻는 전체 과정을 다시 반복해야 합니다 !

많은 기호의 데이터로 작업하려면 전문가를 사용하십시오. 모든 것이 편리하고 간단합니다. MT5 환경의 표시기는 주로 시계열 데이터를 기반으로 빠른 계산을 하고 계산 결과를 차트에 표시하도록 설계되었습니다. 플랫폼을 개발하는 동안 전문가가 사용할 수 있는 많은 기능을 제공받았지만 기본적인 아키텍처 제한은 남아 있었습니다. 그리고 지표와 전문가의 차이를 완전히 지울 이유가 없습니다. 다시 한 번 말씀드리지만 가장 큰 차이점은 전문가마다 고유한 처리 스레드가 있다는 것입니다. 지표는 서비스 스레드에서 계산되며 이 스레드는 다른 많은 기능을 수행합니다. 그렇기 때문에 전문가와 공유하는 기능도 구현 방식이 다릅니다.

역사에 대한 접근과 관련하여 여기에는 보편적인 해결책이 없습니다. 단말은 소비자의 욕구를 미리 예측할 수 없다. EA가 날짜를 하나만 가져오거나 사용 가능한 전체 기록을 요청하려는지 여부. 시간 프레임에 대한 빠른 액세스를 위해 터미널에서 선택되었습니다. 사용자의 요청에 따라 히스토리의 현재(서버와 동기화됨) 상태를 완전히 캐시하려고 시도합니다. 반복적인 활성 액세스에 대한 베팅이 이루어집니다. 예, 이 접근 방식이 편리하지 않은 애플리케이션 클래스가 있습니다. 그러나 프로그래머가 "개인적으로 자신을 위해" 터미널을 다시 작성해야 하는 요구 사항에 매달리지 않으면 기존 기능에서 솔루션을 찾을 수 있습니다. 솔루션이 전혀 없으면 기능 확장 문제가 발생합니다.

일반화 없이 특정 코드의 특정 문제를 설명합니다. 그렇지 않으면 단일 기능의 오해가 있는 기능이 "다 틀리다", "다 불편하다"로 부풀려진다.

 
antt :

많은 기호의 데이터로 작업하려면 전문가를 사용하십시오. 모든 것이 편리하고 간단합니다. MT5 환경의 표시기는 주로 시계열 데이터를 기반으로 빠른 계산을 하고 계산 결과를 차트에 표시하도록 설계되었습니다. 플랫폼을 개발하는 동안 전문가가 사용할 수 있는 많은 기능을 제공받았지만 기본적인 아키텍처 제한은 남아 있었습니다. 그리고 지표와 전문가의 차이를 완전히 지울 이유가 없습니다. 다시 한 번 말씀드리지만 가장 큰 차이점은 전문가마다 고유한 처리 스레드가 있다는 것입니다. 지표는 서비스 스레드에서 계산되며 이 스레드는 다른 많은 기능을 수행합니다. 그렇기 때문에 전문가와 공유하는 기능도 구현 방식이 다릅니다.

역사에 대한 접근과 관련하여 여기에는 보편적인 해결책이 없습니다. 단말은 소비자의 욕구를 미리 예측할 수 없다. EA가 날짜를 하나만 가져오거나 사용 가능한 전체 기록을 요청하려는지 여부. 시간 프레임에 대한 빠른 액세스를 위해 터미널에서 선택되었습니다. 사용자의 요청에 따라 히스토리의 현재(서버와 동기화됨) 상태를 완전히 캐시하려고 시도합니다. 반복적인 활성 액세스에 대한 베팅이 이루어집니다. 예, 이 접근 방식이 편리하지 않은 애플리케이션 클래스가 있습니다. 그러나 프로그래머가 "개인적으로 자신을 위해" 터미널을 다시 작성해야 하는 요구 사항에 매달리지 않으면 기존 기능에서 솔루션을 찾을 수 있습니다. 솔루션이 전혀 없으면 기능 확장 문제가 발생합니다.

일반화 없이 특정 코드의 특정 문제를 설명합니다. 그렇지 않으면 단일 기능의 오해가 있는 기능이 "다 틀리다", "다 불편하다"로 부풀려진다.

좋은 오후, 안톤!

답변을 분석해 보겠습니다.

1. "전문가를 사용하여 다중 문자 데이터 작업을 수행하면 모든 것이 편리하고 간단해질 것입니다."

차트에 표시된 3개의 기호에 대한 기록(닫기)이 필요합니다.

EA에서 히스토리를 닫을 수 있는 다른 방법이 있습니까?

그리고 조언자로부터 결과를 얻으려면 "정원 울타리"가 필요합니다(별도의 창에서)!

2. "역사에 대한 접근에 관해서는 여기에 보편적 인 해결책이 없습니다. 단말기는 소비자의 욕구, 즉 전문가가 하나의 날짜 만 받기를 원하는지 또는 사용 가능한 전체 기록을 요청하려는지 여부를 미리 예측할 수 없습니다."

소비자가 무엇을 원하는지 예상할 필요가 없습니다. 기호의 데이터가 AND ALL!인 상태를 "말"하면 됩니다.

그러면 사용자는 다음에 수행해야 하는 작업을 정확히 알 수 있습니다.

3. "하지만 프로그래머가 "개인적으로" 터미널을 다시 작성해야 하는 요구 사항에 매달리지 않는다면 기존 기능에서 솔루션을 찾을 수 있을 것입니다."

나는 말하지 않았으며 훨씬 더 "나 자신을 위해"할 것을 요구하지 않았으며 솔루션은 물론 기존 기능에서 항상 찾을 수 있습니다.

4. " 솔루션이 전혀 없으면 기능 확장 문제가 발생합니다. "

기능을 확장할 필요가 없으며 사용의 편의성과 속도를 위해 약간만 변경하면 됩니다.

5. " 일반화하지 않고 특정 코드로 특정 문제를 설명하십시오. 그렇지 않으면 단일 기능의 오해 된 기능이 "다 틀리다" "다 불편하다" "

좋습니다. 특정 코드의 문제에 대한 "확장된" 설명을 준비하겠습니다.

그러나 불행히도 설명서에 "의존"할 수는 없습니다 ...

대답 해줘서 고마워.

 
Mikalas :


언제나 그렇듯이 사용자의 입장 은 내가 우주의 중심이고 세상이 나를 중심으로 돌아간다는 것입니다. 라는 기능을 사용해야 합니다. 또한 데이터를 얻는 방법을 두 번 이상 보여주었습니다.
 
barabashkakvn :
언제나 그렇듯이 사용자의 입장은 내가 우주의 중심이고 세상이 나를 중심으로 돌아간다는 것입니다. 라는 기능을 사용해야 합니다. 또한 데이터를 얻는 방법을 두 번 이상 보여주었습니다.
2x2 얼마인가요?
 
barabashkakvn :
언제나 그렇듯이 사용자의 입장은 내가 우주의 중심이고 세상이 나를 중심으로 돌아간다는 것입니다. 라는 기능을 사용해야 합니다. 또한 데이터를 얻는 방법을 두 번 이상 보여주었습니다.

그리고 당신은 반대로 생각합니다. 우주의 중심은 개발자이고 세상은 개발자를 중심으로 돌아간다? 그래서 무엇?

그런 다음 한 가지 질문에 답하자면 이 터미널은 누구를 위한 것입니까? 개발자가 스스로 또는 사용자를 위해 수행합니까?

스스로 질문이 없다면 ... 모든 것이 정상입니다.

그러나 사용자의 경우 최소한 그들의 의견을 들어야합니다 ...

 
antt :

........

일반화 없이 특정 코드의 특정 문제를 설명합니다. 그렇지 않으면 단일 기능의 오해가 있는 기능이 "다 틀리다", "다 불편하다"로 부풀려진다.

설명:

실제 계정 FORTS 브로커.

문제 - 시계열 데이터를 받지 못합니다.

1. 사진은 단말기에 데이터가 있음을 보여줍니다.

2. 코드는 다음과 같습니다.

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

#property indicator_buffers 1
#property indicator_plots    1

//--- plot Label1
#property indicator_label1   "Data"
#property indicator_type1   DRAW_LINE
#property indicator_color1   clrYellow
#property indicator_style1   STYLE_SOLID
#property indicator_width1   1
//---
ENUM_TIMEFRAMES time_frame; //Таймфрейм
//
string sec_symbol;
//
input string StartData = "2015.03.16" ; //Дата начала расчёта индикатора
//--- indicator buffers
double MainBuffer[];
//---
datetime start_time;
datetime end_time;
datetime sec_times[];
//
int   sec_bars;
//
int next_month;
//+------------------------------------------------------------------+
//| 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 ()
{
  time_frame = PERIOD_CURRENT ;
  next_month = 3 ;
//---
   if ( CheckBrent( _Symbol ) ) next_month = 1 ;
//---
  sec_symbol = SetSecSymbol( _Symbol );
//---
   SymbolSelect ( sec_symbol, true );  
//---
  end_time = datetime ( SymbolInfoInteger ( _Symbol , SYMBOL_EXPIRATION_TIME ) );
  start_time = datetime ( StringToTime ( StartData ) + 19 * 3600 + 10 * 60 );
//---  
   IndicatorSetInteger ( INDICATOR_DIGITS , 0 );
   IndicatorSetString ( INDICATOR_SHORTNAME , "FORTS" );
   SetIndexBuffer ( 0 , MainBuffer, INDICATOR_DATA );
   PlotIndexSetDouble ( 0 , PLOT_EMPTY_VALUE , EMPTY_VALUE );
   ArraySetAsSeries ( MainBuffer, true );
//---
   if ( ( TimeCurrent () - start_time ) < 60 )
  {
     Print ( "Слишком мал промежуток времени!" );
     return ( INIT_FAILED );
  }
//--- 
   Print ( "OnInit: Получение баров для символа " , sec_symbol, "..." ); 
  sec_bars = GetBars( sec_symbol, time_frame, start_time, end_time );
//---
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//|  Custom indicator deinitialization function                      |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason )
{
   if ( reason == REASON_INITFAILED )
  {
     ChartIndicatorDelete ( 0 , 1 , "FORTS" ); 
  }
}
//+------------------------------------------------------------------+
// 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                         |
//+------------------------------------------------------------------+
int GetLocalData( const string a_symbol, ENUM_TIMEFRAMES a_period, datetime start_date, datetime end_date )
{
   datetime times[ 1 ];
//---  
   long first_date = SeriesInfoInteger ( a_symbol, PERIOD_M1 , SERIES_TERMINAL_FIRSTDATE );  
  
   if ( first_date > 0 )
   Print ( "GetLocalData: Первая дата в терминале есть." );
  {
//--- force timeseries build
     CopyTime ( a_symbol, a_period, datetime ( first_date ) + PeriodSeconds ( a_period ), 1 , times );
//--- check date
    first_date = SeriesInfoInteger ( a_symbol, PERIOD_M1 , SERIES_FIRSTDATE );
//---        
     if ( first_date > 0 && first_date <= long ( start_date ) )
    {
       bool is_sync = bool ( SeriesInfoInteger ( a_symbol, a_period, SERIES_SYNCHRONIZED ) ); 
//---     
       if ( is_sync )
      {
         Print ( "GetLocalData: Серия синхронизирована." );
         return ( Bars ( a_symbol, a_period, start_date, end_date ) );
      }
    }  
  }
   Print ( "GetLocalData: Не удалось построить таймсерию!" );
   return ( 0 );
}
//+------------------------------------------------------------------+
//| Custom indicator Get server data function                        |
//+------------------------------------------------------------------+
int LoadServerData( const string a_symbol, ENUM_TIMEFRAMES period, const datetime start_date, const datetime end_date  )
{
   SeriesInfoInteger ( a_symbol, PERIOD_M1 , SERIES_SERVER_FIRSTDATE );
   int fail_cnt = 0 ;
//---
   while ( fail_cnt < 10 )
  {
     uint start_tick = GetTickCount ();
//---    
     while ( !CheckTimer( start_tick, 5 ) )
    {
       if ( SymbolIsSynchronized ( a_symbol ) )
      {
         Print ( "LoadServerData: Символ синхронизирован." );
         return ( GetLocalData( a_symbol, period, start_date, end_date ) );
      }
    }
    fail_cnt++;
    start_tick = GetTickCount ();
  }
   Print ( "LoadServerData: Не удалось загрузить историю с сервера!" );
   return ( 0 );
}
//+------------------------------------------------------------------+
//| Custom indicator Get bars function                               |
//+------------------------------------------------------------------+
int GetBars( string symbol, ENUM_TIMEFRAMES period, const datetime start_date, const datetime end_date )
{
//---Check for symbol present
   if ( ! SymbolInfoInteger ( symbol, SYMBOL_SELECT ) )
  {
     ResetLastError ();
//---    
     if ( GetLastError () != ERR_MARKET_UNKNOWN_SYMBOL )
    {
       SymbolSelect ( symbol, true );
    }
     else
    {
       Print ( "GetBars: Неизвестный символ - " , symbol );
       return ( 0 );
    }    
  }
//---Check program  
   if ( MQL5InfoInteger ( MQL5_PROGRAM_TYPE ) == PROGRAM_INDICATOR && Period () == period && Symbol () == symbol )
  {
     Print ( "GetBars: Не пройдена проверка типа программы!" );
     return ( 0 );
  }  
//---
   if ( SymbolIsSynchronized ( symbol ) )
  {
     Print ( "GetBars: Символ синхронизирован." );
//---Check series syncronization
     bool is_sync = bool ( SeriesInfoInteger ( symbol, period, SERIES_SYNCHRONIZED ) );
   
     if ( is_sync )
    {
       Print ( "GetBars: Серия синхронизирована." );
       return ( Bars ( symbol, period, start_date, end_date ) );
    }
     else
    {
       Print ( "GetBars: Локальная загрузка..." );
       return ( GetLocalData( symbol, period, start_date, end_date ) );
    }  
  }
   else
  {
     Print ( "GetBars: Символ НЕ синхронизирован. Загрузка данных с сервера..." );
     return ( LoadServerData( symbol, period, start_date, end_date ) );
  }       
//---  
   return ( 0 );
}
//+------------------------------------------------------------------+
//| 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;
//---
   ArraySetAsSeries ( time, true );
   ArraySetAsSeries ( close, true );
   ArraySetAsSeries ( sec_times, true );
//---
   Print ( "OnCalculate: Получение баров для символа " , sec_symbol, "..." );
  sec_bars = GetBars( sec_symbol, time_frame, start_time, end_time );
//---  
   if ( sec_bars < 1 )
  {
     Print ( "OnCalculate: Не получены бары по символу - " , sec_symbol );
     return ( prev_calculated );
  }
   else
  {
    sec_bars = CopyTime ( sec_symbol, time_frame, 0 , sec_bars, sec_times );
     if ( sec_bars < 1 )
    {
       Print ( "OnCalculate: Не скопированы тийминги по символу - " , sec_symbol );
       return ( prev_calculated );
    }
  }
   Print ( "OnCalculate: Данные получены." );
 
   return ( rates_total );
}

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

3. 결과는 다음과 같습니다.

 2015.03 . 31 06 : 39 : 16.826 Ind_test (BR- 4.15 ,M1)   OnInit : Получение баров для символа BR- 5.15 ...
2015.03 . 31 06 : 39 : 16.827 Ind_test (BR- 4.15 ,M1)   GetBars: Символ НЕ синхронизирован. Загрузка данных с сервера...
2015.03 . 31 06 : 39 : 16.848 Ind_test (BR- 4.15 ,M1)   LoadServerData: Символ синхронизирован.
2015.03 . 31 06 : 39 : 16.848 Ind_test (BR- 4.15 ,M1)   GetLocalData: Первая дата в терминале есть.
2015.03 . 31 06 : 39 : 16.848 Ind_test (BR- 4.15 ,M1)   GetLocalData: Не удалось построить таймсерию!
2015.03 . 31 06 : 39 : 16.848 Ind_test (BR- 4.15 ,M1)   OnCalculate : Получение баров для символа BR- 5.15 ...
2015.03 . 31 06 : 39 : 16.848 Ind_test (BR- 4.15 ,M1)   GetBars: Символ синхронизирован.
2015.03 . 31 06 : 39 : 16.848 Ind_test (BR- 4.15 ,M1)   GetBars: Серия синхронизирована.
2015.03 . 31 06 : 39 : 16.848 Ind_test (BR- 4.15 ,M1)   OnCalculate : Не получены бары по символу - BR- 5.15
2015.03 . 31 06 : 39 : 49.379 Ind_test (ED- 6.15 ,M1)   OnInit : Получение баров для символа ED- 9.15 ...
2015.03 . 31 06 : 39 : 49.379 Ind_test (ED- 6.15 ,M1)   GetBars: Символ НЕ синхронизирован. Загрузка данных с сервера...
2015.03 . 31 06 : 39 : 49.399 Ind_test (ED- 6.15 ,M1)   LoadServerData: Символ синхронизирован.
2015.03 . 31 06 : 39 : 49.399 Ind_test (ED- 6.15 ,M1)   GetLocalData: Первая дата в терминале есть.
2015.03 . 31 06 : 39 : 49.399 Ind_test (ED- 6.15 ,M1)   GetLocalData: Не удалось построить таймсерию!
2015.03 . 31 06 : 39 : 49.399 Ind_test (ED- 6.15 ,M1)   OnCalculate : Получение баров для символа ED- 9.15 ...
2015.03 . 31 06 : 39 : 49.399 Ind_test (ED- 6.15 ,M1)   GetBars: Символ синхронизирован.
2015.03 . 31 06 : 39 : 49.399 Ind_test (ED- 6.15 ,M1)   GetBars: Серия синхронизирована.
2015.03 . 31 06 : 39 : 49.399 Ind_test (ED- 6.15 ,M1)   OnCalculate : Не получены бары по символу - ED- 9.15
2015.03 . 31 06 : 39 : 55.555 Ind_test (Eu- 6.15 ,M1)   OnInit : Получение баров для символа Eu- 9.15 ...
2015.03 . 31 06 : 39 : 55.555 Ind_test (Eu- 6.15 ,M1)   GetBars: Символ НЕ синхронизирован. Загрузка данных с сервера...
2015.03 . 31 06 : 39 : 55.567 Ind_test (Eu- 6.15 ,M1)   LoadServerData: Символ синхронизирован.
2015.03 . 31 06 : 39 : 55.567 Ind_test (Eu- 6.15 ,M1)   GetLocalData: Первая дата в терминале есть.
2015.03 . 31 06 : 39 : 55.567 Ind_test (Eu- 6.15 ,M1)   GetLocalData: Не удалось построить таймсерию!
2015.03 . 31 06 : 39 : 55.567 Ind_test (Eu- 6.15 ,M1)   OnCalculate : Получение баров для символа Eu- 9.15 ...
2015.03 . 31 06 : 39 : 55.567 Ind_test (Eu- 6.15 ,M1)   GetBars: Символ синхронизирован.
2015.03 . 31 06 : 39 : 55.567 Ind_test (Eu- 6.15 ,M1)   GetBars: Серия синхронизирована.
2015.03 . 31 06 : 39 : 55.567 Ind_test (Eu- 6.15 ,M1)   OnCalculate : Не получены бары по символу - Eu- 9.15
2015.03 . 31 06 : 40 : 01.683 Ind_test (GAZR- 6.15 ,M1) OnInit : Получение баров для символа GAZR- 9.15 ...
2015.03 . 31 06 : 40 : 01.683 Ind_test (GAZR- 6.15 ,M1) GetBars: Символ НЕ синхронизирован. Загрузка данных с сервера...
2015.03 . 31 06 : 40 : 01.694 Ind_test (GAZR- 6.15 ,M1) LoadServerData: Символ синхронизирован.
2015.03 . 31 06 : 40 : 01.694 Ind_test (GAZR- 6.15 ,M1) GetLocalData: Первая дата в терминале есть.
2015.03 . 31 06 : 40 : 01.694 Ind_test (GAZR- 6.15 ,M1) GetLocalData: Не удалось построить таймсерию!
2015.03 . 31 06 : 40 : 01.694 Ind_test (GAZR- 6.15 ,M1) OnCalculate : Получение баров для символа GAZR- 9.15 ...
2015.03 . 31 06 : 40 : 01.694 Ind_test (GAZR- 6.15 ,M1) GetBars: Символ синхронизирован.
2015.03 . 31 06 : 40 : 01.694 Ind_test (GAZR- 6.15 ,M1) GetBars: Серия синхронизирована.
2015.03 . 31 06 : 40 : 01.694 Ind_test (GAZR- 6.15 ,M1) OnCalculate : Не получены бары по символу - GAZR- 9.15
파일:
20150331.log  7 kb
 

게임 방법?

터미널이 연결되어 열리면 시작하기 전에 디스크에서 모든 캐릭터의 이력이 삭제됩니다.

시작 이후 표시기 로그

 2015.03 . 31 11 : 00 : 35.611 tmp6 (GAZR- 6.15 ,M1)     OnInit : Получение баров для символа GAZR- 9.15 ...
2015.03 . 31 11 : 00 : 35.611 tmp6 (GAZR- 6.15 ,M1)     GetBars: Символ НЕ синхронизирован. Загрузка данных с сервера...
2015.03 . 31 11 : 00 : 35.638 tmp6 (GAZR- 6.15 ,M1)     LoadServerData: Символ синхронизирован.
2015.03 . 31 11 : 00 : 35.638 tmp6 (GAZR- 6.15 ,M1)     GetLocalData: Не удалось построить таймсерию!
2015.03 . 31 11 : 00 : 35.638 tmp6 (GAZR- 6.15 ,M1)     OnCalculate : Получение баров для символа GAZR- 9.15 ...
2015.03 . 31 11 : 00 : 35.638 tmp6 (GAZR- 6.15 ,M1)     GetBars: Символ синхронизирован.
2015.03 . 31 11 : 00 : 35.638 tmp6 (GAZR- 6.15 ,M1)     GetBars: Серия синхронизирована.
2015.03 . 31 11 : 00 : 35.638 tmp6 (GAZR- 6.15 ,M1)     OnCalculate : Не получены бары по символу - GAZR- 9.15
2015.03 . 31 11 : 00 : 36.306 tmp6 (GAZR- 6.15 ,M1)     OnCalculate : Получение баров для символа GAZR- 9.15 ...
2015.03 . 31 11 : 00 : 36.306 tmp6 (GAZR- 6.15 ,M1)     GetBars: Символ синхронизирован.
2015.03 . 31 11 : 00 : 36.306 tmp6 (GAZR- 6.15 ,M1)     GetBars: Серия синхронизирована.
2015.03 . 31 11 : 00 : 36.306 tmp6 (GAZR- 6.15 ,M1)     OnCalculate : Данные получены.
2015.03 . 31 11 : 00 : 37.123 tmp6 (GAZR- 6.15 ,M1)     OnCalculate : Получение баров для символа GAZR- 9.15 ...
2015.03 . 31 11 : 00 : 37.123 tmp6 (GAZR- 6.15 ,M1)     GetBars: Символ синхронизирован.
2015.03 . 31 11 : 00 : 37.123 tmp6 (GAZR- 6.15 ,M1)     GetBars: Серия синхронизирована.
2015.03 . 31 11 : 00 : 37.123 tmp6 (GAZR- 6.15 ,M1)     OnCalculate : Данные получены.


보시다시피 시작부터 1초도 채 되지 않아 기호 데이터를 표시기에 사용할 수 있게 되었습니다.

 
alexvd :

게임 방법?

터미널이 연결되어 열리면 시작하기 전에 디스크에서 모든 캐릭터의 이력이 삭제됩니다.

시작 이후 표시기 로그


보시다시피 시작부터 1초도 채 되지 않아 기호 데이터를 표시기에 사용할 수 있게 되었습니다.

안녕하세요!

즉, 전자상거래로 SECOND, 지금이 바로 이때가 아닌가?

1. 즉, 동기화된 기호 와 동기화된 시계열로는 다음을 얻을 수 없습니다.

막대( 즉시 ) - 정상입니까?

( 나에게 ) 은(는) 실수입니다.

 2015.03 . 31 11 : 00 : 35.638 tmp6 (GAZR- 6.15 ,M1)     GetBars: Символ синхронизирован.
2015.03 . 31 11 : 00 : 35.638 tmp6 (GAZR- 6.15 ,M1)     GetBars: Серия синхронизирована.
2015.03 . 31 11 : 00 : 35.638 tmp6 (GAZR- 6.15 ,M1)     OnCalculate : Не получены бары по символу - GAZR- 9.15

2. TERMINAL에 데이터가 있으면 (3월 16일 이후 모든 막대 그림 참조) 강제로 서버로 이동하는데, 정상인가요?

( 나를 위해) 불편함과 정보의 긴 수신은 명백합니다.

 2015.03 . 31 11 : 00 : 35.611 tmp6 (GAZR- 6.15 ,M1)     OnInit : Получение баров для символа GAZR- 9.15 ...
2015.03 . 31 11 : 00 : 35.611 tmp6 (GAZR- 6.15 ,M1)     GetBars: Символ НЕ синхронизирован. Загрузка данных с сервера...
 
Mikalas :

안녕하세요!

즉, 전자상거래로 SECOND, 지금이 바로 이때가 아닌가?

시작 이후 두 번째, 즉. 처음에 한 번. "시간이 아니야."