사용자 정의 기호. 오류, 버그, 질문, 제안. - 페이지 33

 
RusPro # :

나는 당신의 테스트를 시도했지만 모든 것이 정확히 동일합니다. 몇 초 뒤입니다. 관습이 아니라 은빛 미래에

도구 Silv-12.21. MICEX, 브로커 BCS. 하지만 나는 그것이 중요하지 않다고 생각한다

귀하의 경우 차트가 입찰가를 기반으로 하지 않거나 브로커의 견적 및 거래 흐름이 다를 수 있습니다(거래소에서는 그럴 가능성이 거의 없음).

다음은 사용자 정의 도구에 대한 스레드입니다.

 
Andrey Khatimlianskii # :

우리는 일반 도구, 사용자 정의에 대해 이야기하지 않았습니다. 그들에 따르면 모든 정보는 정의에 따라 터미널에서 사용할 수 있으며 서버로 이동해서는 안됩니다.

예, 서버 시간 요청이나 다른 것과 같은 일종의 넌센스가 있을 수 있습니다. 일반적으로 Lyap. 물리적 연결이 없는 상태에서 테스트가 시작되면 어떻게 됩니까? 궁금하지만 아직 확인할 사항이 없다

 

안녕하세요!
어떤 이유로 히스토리는 사용자 정의 기호 에 복사되지 않습니다. 코드는 간단합니다. 오류가 발생하지 않지만 사용자 지정 기호에 따옴표가 없습니다.

실제 따옴표를 1시간 단위로 사용자 지정 기호로 전송하고 싶습니다.

결과가 비어 있는 이유는 무엇입니까?
고맙습니다.


 int OnInit ()
  {
   
   string Sym1 = "EURUSD" ; /// источник
   string Sym2 = "EURUSD2" ;   /// приемник
   int HBack = 1 ;   /// количество часов сдвига
   datetime tc = StringToTime ( TimeCurrent ());   /// конец участка
   datetime sht = tc - HBack * 60 * 60 ;
   datetime sht2 = tc - 2 * HBack * 60 * 60 ;
   
   MqlRates mrates[];
   
   if ( CopyRates (Sym1, PERIOD_M1 , sht, tc, mrates) < 0 ){
        
         Alert ( "Ошибка копирования исторических данных - ошибка:" , GetLastError () );
         return ( INIT_FAILED );
        
        }
        
   if ( CustomRatesReplace (Sym2, sht2, sht, mrates, WHOLE_ARRAY ) < 0 ){
      
       Alert ( "Ошибка вставки исторических данных - ошибка:" , GetLastError () );
         return ( INIT_FAILED );
        
        }
      
   
   return ( INIT_SUCCEEDED );
  }
 

빌드 3083, 문제가 관련이 있습니다. SymbolInfoXXX는 iClose에 비해 엄청나게 느립니다 .

맞춤형 상품 따옴표(틱과 막대 모두)를 생성하고 업데이트합니다.

나는 SymbolInfoDouble과 SymbolInfoTick 이 이 차트에서 작업하는 Expert Advisor를 호출했다는 사실을 발견했습니다. 어느 시점에서 " 동결 "합니다: 시장 개요의 시세 변경, 차트 업데이트, iClose 및 CopyTicksRange 최신 데이터 수신, SymbolInfoXXX는 오래된 정보를 제공합니다.

구문 분석 과정에서 이러한 "멈춤"을 감지하도록 설계된 가장 간단한 코드에 도달했지만 훨씬 더 일찍 다른 쪽에서 문제를 보여주었습니다. SymbolInfoXXX는 iClose에 비해 단순히 무지막지하게 느립니다 ! 이것은 육안으로 볼 수 있습니다.


맞춤형 차트에서 이러한 Expert Advisor를 실행하십시오.

 int OnInit ( void )
{
         EventSetMillisecondTimer ( 10 );
         return ( INIT_SUCCEEDED );
}

void OnDeinit ( const int reason)
{
         EventKillTimer ();
         Comment ("");
}

void OnTimer ( void )
{
         MqlTick tick;
         SymbolInfoTick ( _Symbol , tick );

         Comment ( " SymbolInfoInteger ( _Symbol , SYMBOL_TIME ) = ", TimeToString ( SymbolInfoInteger ( _Symbol , SYMBOL_TIME ), TIME_SECONDS ),
                                        "\nSymbolInfoDouble( _Symbol , SYMBOL_BID ) = ", SymbolInfoDouble ( _Symbol , SYMBOL_BID ),
                                        "\ntick.time = ", TimeToString ( tick.time, TIME_SECONDS ),
                                        "\ntick.bid = ", tick.bid,
                                        "\niClose[ 0 ] = ", iClose ( _Symbol , PERIOD_CURRENT , 0 ) );
}

(OnTimer는 OnTick으로 대체 가능하며 본질은 변경되지 않습니다)

비슷한 브레이크가 있습니까?


 
Andrey Khatimlianskii # :

맞춤형 차트에서 이러한 Expert Advisor를 실행하십시오.

비슷한 브레이크가 있습니까?

업데이트되지 않고 Market Watch에 눈금이 없는 사용자 지정 기호는 말더듬이 느껴지지 않습니다.

 
MOZART09 사용자 정의 문자 에 복사되지 않습니다. 코드는 간단합니다.

가장 간단한 코드는 사용자 지정 문자를 만들 수 없습니다. 거기에는 탬버린으로 많은 춤이 필요합니다. 보다.

Пользовательские символы: основы применения на практике
Пользовательские символы: основы применения на практике
  • www.mql5.com
Статья посвящена программной генерации пользовательских символов, с помощью которых демонстрируется несколько популярных способов отображения котировок. Предложен вариант малоинвазивной адаптации советников для торговли реальным символом с графика производного пользовательского символа. Исходные коды MQL прилагаются.
 
fxsaber # :

업데이트되지 않고 Market Watch에 눈금이 없는 사용자 지정 기호는 말더듬이 느껴지지 않습니다.

아마도 브레이크가 업데이트 단계에 있기 때문일 것입니다(더 정확하게는 이러한 차트에서 작업하는 고문이 업데이트된 정보를 수신함)?

 
Andrey Khatimlianskii # :

아마도 브레이크가 업데이트 단계에 있기 때문일 것입니다(더 정확하게는 이러한 차트에서 작업하는 고문이 업데이트된 정보를 수신함)?

업데이트 가능한 사용자 정의 기호를 사용하지 않으므로 잘 모르겠습니다.

 

빌드 3091, 붙어 있는 따옴표 발견(클릭):


SymbolInfoDouble 및 SymbolInfoTick이 반환한 마지막 눈금은 04:52:07(입찰가 61083.19)입니다.

동시에 상품 내역에 최신 눈금이 있고 차트와 시장 시계가 업데이트되고 iClose 가 올바른 값을 반환합니다.

플레이할 코드가 있습니다. 그 밖에 수정해야 할 사항은 무엇입니까?

 

종속성을 찾았습니다. 차트가 열린 도구(각각 추적용 EA)만 동결되었습니다.

차트 도구를 다른 도구로 변경하면(사용자 지정이지만 아직 활성화되지 않음) 모든 것이 정상입니다. "고정된" 계측기로 돌아가거나 이에 대한 새 차트를 열면 SymbolInfoDouble 및 SymbolInfoTick이 동일한 고정 상태가 됩니다.