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

 
fxsaber :

2033:

2063:

 
fxsaber :

버그 07.

테스터는 Bid에 의한 바 구축 가격으로 커스텀 심볼을 교환하기 위해 Last로 바를 형성합니다.

따라서 터미널과 테스터의 바 이력은 완전히 다릅니다. 그리고 TS의 누군가가 막대(예: 지표)를 사용하는 경우 백테스트 결과는 무작위입니다.

교환 기호가 주문서의 깊이가 0이 아닌 상품을 의미하는 경우 이 경우 막대 구조가 수정되었습니다.

또는 자신의 예를 들어 보십시오.

 
fxsaber :

버그 01.

사용자 정의 기호 차트가 열려 있습니다. 예를 들어 모든 막대 및 눈금 기록 을 수동으로 삭제하면 차트 창이 업데이트되지 않고 고정됩니다.

빈 사용자 정의 문자와 마찬가지로 예상되는 동작입니다.

무슨 말인지 자세히 설명

전체 막대 기록을 삭제하고 "업데이트 대기 중"이라는 문구와 함께 사용자 정의 기호 차트가 비어 있습니다. 뭐가 문제 야?

 

버그 13.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MetaTrader 5 플랫폼 베타 빌드 2055: Python과의 통합 및 전략 테스터의 대대적인 개선

fxsaber , 2019.05.25 10:33

ChartSetSymbolPeriod를 사용하여 시각적 버그(차트 트위치) 재현

 // Пример создания "живого" символа.

#include < Symbol .mqh> // https://www.mql5.com/ru/code/18855

const bool Init = EventSetMillisecondTimer ( 20 ); // С такой частотой будем пробрасывать тики

void OnInit ()
{
   MathSrand (( int ) TimeLocal ());
}

long Chart2 = 0 ;

void OnTimer ()
{
   static bool FirstRun = true ;

   static const SYMBOL Symb( "CUSTOM_" + _Symbol + ( string ) MathRand ()); // Создали символ
  
   static MqlTick Ticks[];
   static int Pos = 0 ;
    
   if (FirstRun)
  {
    Symb.DeleteHistory();       // Мало ли что-то было в истории - грохнули
    Symb.Delete( true );           // Символ тоже прибьем, чтобы исключить наличие тика в Обзоре рынка
    Symb.Create( NULL , _Symbol ); // Воскресили девственно чистым.
    
     if (Symb.IsExist() && Symb.On())   // Если все отлично
    {     
      Chart2 = ChartOpen (Symb.Name, PERIOD_M1 ); // Открыли чарт
       CopyTicksRange ( _Symbol , Ticks, COPY_TICKS_INFO , ( ulong ) D'2019.05.20' * 1000 ); // Взяли тики для проброса
    }
      
    FirstRun = false ;
  }
   else if (Pos < ArraySize (Ticks))
  {
    Symb += Ticks[Pos++]; // Пробрасываем по тику
    
     // Для обновления чарта.
     ChartSetSymbolPeriod (Chart2, Symb.Name, PERIOD_M1 ); // Без этой строки дерганья графика прекращаются
     ChartRedraw (Chart2);    
  }
}

애니메이션은 그래프의 트위칭을 보여줍니다. ChartSetSymbolPeriod를 제거하면 경련이 멈춥니다.

 
Slava :

무슨 말인지 자세히 설명

전체 막대 기록을 삭제하고 "업데이트 대기 중"이라는 문구와 함께 사용자 정의 기호 차트가 비어 있습니다. 뭐가 문제 야?

이 권고자를 실행하십시오. 몇 개의 막대 후에 차트를 닫지 않고 끕니다. 모든 막대를 삭제하려면 CTRL+U를 사용하십시오.

 
fxsaber :

버그 13.

같은 고문이 여전히 그러한 버그를 재현합니다.

왼쪽은 차트이고 오른쪽은 속성 창(F8)입니다.

 

버그 14.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MetaTrader 5 플랫폼 베타 빌드 2055: Python과의 통합 및 전략 테스터의 대대적인 개선

fxsaber , 2019.05.27 09:10

어떻게든 차트가 열려 있을 때 Market Watch에서 제거할 수 있는 사용자 지정 기호를 얻었습니다.

이 고문 을 시작했습니다.

 

버그 15.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MetaTrader 5 플랫폼 베타 빌드 2055: Python과의 통합 및 전략 테스터의 대대적인 개선

fxsaber , 2019.05.25 10:54

CustomRatesUpdate의 각 적용 후 prev_calculated는 해당 사용자 정의 기호에서 실행되는 표시기에 대해 재설정됩니다.

이것은 실수입니다. prev_calculated는 CustomRatesUpdate에서 제공된 첫 번째 막대로 변환되어야 합니다.


ZY CustomRatesReplace에서 동일한 오류가 발생했습니다.

이 Expert Advisor 의 심볼( ChartSetSymbolPeriod -string이 삭제됨)에서 이러한 표시기를 시작합니다.

 #property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots indicator_buffers

int OnCalculate ( const int rates_total, const int prev_calculated, const int , const double &[] )
{
   Print (prev_calculated);
  
   return (rates_total);
}

0만 반환합니다.

 
Slava :

교환 기호가 주문서의 깊이가 0이 아닌 상품을 의미하는 경우 이 경우 막대 구조가 수정되었습니다.

또는 자신의 예를 들어 보십시오.

이제(2067) 이것으로 모든 것이 정확합니다. 감사합니다.

 
fxsaber :

2063:

2069:

사유: