실시간 틱

 

모두에게 좋은 하루.

Otkritie 중개인의 실제 틱에서 거래 알고리즘을 테스트할 필요가 있었습니다.
따라서 알고리즘은 실제 틱 모드의 테스터와 온라인에서 서로 다른 결과를 보여줍니다.
이를 바탕으로 다음 단계는 실시간으로 틱(실제 틱)을 수집하여 CopyTicksRange() 함수를 통해 얻은 틱 이력(과거 틱)과 비교하는 것이었습니다.
틱은 2020년 1월 21일 SBRF 선물에서 수집되었습니다.

흥미로운 결과를 얻었고 몇 가지 질문이 생겼습니다.

1. 실제 틱의 수와 역사적 틱의 수는 크게 다르지만 거래일의 시작과 끝의 틱은 동일합니다.
이것은 틱 처리를 건너뛸 수 있는 OnTick() 처리기의 기능에 의해 영향을 받을 수 있습니다.

2. 표준 플래그(TICK_FLAG_BID ... 등) 외에 기록 틱의 절반 이상이 추가 9비트 플래그를 활성화했습니다.
이것은 실제 틱에서는 관찰되지 않습니다. 9비트 플래그가 켜진 상태에서는 단일 틱이 없습니다.

3. 실제 및 과거 틱과 달리 일관성을 찾을 수 없었으며, 내역 틱에 9비트가 포함되었습니다.
과거 틱은 실제 틱과 완전히 일치할 수 있지만 플래그의 9비트는 활성화 또는 비활성화할 수 있습니다.
실제 틱과 과거 틱은 거래 활동이 적은 기간에도 터미널로의 틱의 흐름이 그다지 강력하지 않은 기간 동안 일치하지 않을 수 있습니다.

틱 아웃

그리고 해당 질문:

개발자에게 - 틱 플래그에서 9비트는 무엇을 의미합니까?

그리고 커뮤니티에 - 유사한 충돌을 겪은 사람이 있습니까?
실제 틱에서 알고리즘을 어떻게 테스트합니까? 온라인에서만?

틱 수집기 및 분석기가 포함된 파일이 첨부되어 있습니다.
그리고 2020년 1월 21일 SBRF-3.20에 대한 실제 틱.

파일:
ticks.zip  553 kb
 
Vladimir Mikhailov :

모두에게 좋은 하루.

Otkritie 중개인의 실제 틱에서 거래 알고리즘을 테스트할 필요가 있었습니다.
따라서 알고리즘은 실제 틱 모드의 테스터와 온라인에서 서로 다른 결과를 보여줍니다.
이를 바탕으로 다음 단계는 실시간으로 틱(실제 틱)을 수집하여 CopyTicksRange() 함수를 통해 얻은 틱 이력(과거 틱)과 비교하는 것이었습니다.
틱은 2020년 1월 21일 SBRF 선물에서 수집되었습니다.

흥미로운 결과를 얻었고 몇 가지 질문이 생겼습니다.

1. 실제 틱의 수와 역사적 틱의 수는 크게 다르지만 거래일의 시작과 끝의 틱은 동일합니다.
이것은 틱 처리를 건너뛸 수 있는 OnTick() 처리기의 기능에 의해 영향을 받을 수 있습니다.

2. 표준 플래그(TICK_FLAG_BID ... 등) 외에 기록 틱의 절반 이상이 추가 9비트 플래그를 활성화했습니다.
이것은 실제 틱에서는 관찰되지 않습니다. 9비트 플래그가 켜진 상태에서는 단일 틱이 없습니다.

3. 실제 및 과거 틱과 달리 일관성을 찾을 수 없었으며, 내역 틱에 9비트가 포함되었습니다.
과거 틱은 실제 틱과 완전히 일치할 수 있지만 플래그의 9비트는 활성화 또는 비활성화할 수 있습니다.
실제 틱과 과거 틱은 거래 활동이 적은 기간에도 터미널로의 틱의 흐름이 그다지 강력하지 않은 기간 동안 일치하지 않을 수 있습니다.

그리고 해당 질문:

개발자에게 - 틱 플래그에서 9비트는 무엇을 의미합니까?

그리고 커뮤니티에 - 유사한 충돌을 겪은 사람이 있습니까?
실제 틱에서 알고리즘을 어떻게 테스트합니까? 온라인에서만?

틱 수집기 및 분석기가 포함된 파일이 첨부되어 있습니다.
그리고 2020년 1월 21일 SBRF-3.20에 대한 실제 틱.

당신은 당신의 틱 피커로 저를 웃게 만들었습니다 :)

"모든 거래의 테이프"를 기본으로 삼으십시오.

https://www.mql5.com/ru/code/16210

추가됨

Exchange Instruments 용 테스터는 잊어 버리십시오.

Лента всех сделок
Лента всех сделок
  • www.mql5.com
Хитрый усреднитель Hello Smart Эксперт усредняет убыточные позиции по определенному алгоритму. ColorJSatl_Digit Сглаженный быстрый цифровой фильтр JSatl с цветовой индикацией направления движения, с отображением последнего значения в виде ценовой метки и с возможностью округлять уровни...
 
prostotrader :

당신은 당신의 틱 피커로 저를 웃게 만들었습니다 :)

"모든 거래의 테이프"를 기본으로 사용

https://www.mql5.com/ru/code/16210

추가됨

Exchange Instruments 용 테스터는 잊어 버리십시오.

위의 예는 거래 피드를 집계하는 한 가지 방법일 뿐이며, 다시 말하지만 참조는 히스토리입니다.
알고리즘을 느리게 하기 때문에 하고 싶지 않은 것. 우선 OnTick() 이벤트에 의해 처리되는 틱에 관심이 있습니다.

일반적으로 Exchange Instruments용 테스터 또는 MT5의 테스터를 잊어버리셨습니까?

 
Vladimir Mikhailov :

위의 예는 거래 피드를 집계하는 한 가지 방법일 뿐이며, 다시 말하지만 참조는 히스토리입니다.
1. 알고리즘을 느리게 하기 때문에 하고 싶지 않은 것. 우선 OnTick() 이벤트에 의해 처리되는 틱에 관심이 있습니다.

2. 일반적으로 Exchange Instruments용 테스터 또는 MT5의 테스터를 잊어버리셨습니까?

1. 느려지는 것은 없고 느려지지 않을 것입니다.

귀하는 필요 에 맞게 조정하기만 하면 되는 턴키 솔루션 을 받았습니다.

OnTick() 이벤트는 주문서의 모든 변경 사항을 표시하지 않습니다. 즉, 모든 틱을 고려하지 않습니다 !

다음은 확인할 수 있는 간단한 예입니다.

 //+------------------------------------------------------------------+
//|                                                   Ticks_test.mq5 |
//|                                      Copyright 2019 prostotrader |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019 prostotrader"
#property link        "https://www.mql5.com"
#property version    "1.00"
//---
bool is_book;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
    is_book = MarketBookAdd ( Symbol ());
   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
     if (is_book == true ) MarketBookRelease ( Symbol ());
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
     Print ( __FUNCTION__ + " Tick is done!" );
   
  }
//+------------------------------------------------------------------+
//| BookEvent function                                               |
//+------------------------------------------------------------------+
void OnBookEvent ( const string &symbol)
  {
     if ( Symbol () == symbol)
    {
       Print ( __FUNCTION__ + " Tick is done!" );
    }
   
  }
//+------------------------------------------------------------------+ 
2020.01.23 16:56:53.226	Ticks_test (GOLD-3.20,M1)	OnTick Tick is done!
2020.01.23 16:56:53.226	Ticks_test (GOLD-3.20,M1)	OnBookEvent Tick is done!
2020.01.23 16:56:53.712	Ticks_test (GOLD-3.20,M1)	OnTick Tick is done!
2020.01.23 16:56:53.712	Ticks_test (GOLD-3.20,M1)	OnBookEvent Tick is done!
2020.01.23 16:56:53.930	Ticks_test (GOLD-3.20,M1)	OnBookEvent Tick is done!
2020.01.23 16:56:53.996	Ticks_test (GOLD-3.20,M1)	OnTick Tick is done!
2020.01.23 16:56:53.996	Ticks_test (GOLD-3.20,M1)	OnBookEvent Tick is done!
2020.01.23 16:56:54.016	Ticks_test (GOLD-3.20,M1)	OnBookEvent Tick is done!
2020.01.23 16:56:54.280	Ticks_test (GOLD-3.20,M1)	OnBookEvent Tick is done!
2020.01.23 16:56:54.392	Ticks_test (GOLD-3.20,M1)	OnBookEvent Tick is done!

2. 교환 상품 의 경우(이미 교환 상품의 경우 작성)

추가됨

FOREX에서 Exchange로 "크롤링"하기로 결정했다면 여기에서 주제를 찾는 것이 좋습니다.

"초보자를 돕기 위해"섹션을 참조하고 자세히 알아보십시오.

증권 거래소에서 OnTick()이 아닌 Glass가 모든 것의 "머리"입니다.
 
prostotrader :

1. 느려지는 것은 없고 느려지지 않을 것입니다.

귀하는 필요 에 맞게 조정하기만 하면 되는 턴키 솔루션 을 받았습니다.

OnTick() 이벤트는 주문서의 모든 변경 사항을 표시하지 않습니다. 즉, 모든 틱을 고려하지 않습니다 !

다음은 확인할 수 있는 간단한 예입니다.

2. 교환 상품 의 경우(이미 교환 상품의 경우 작성)

추가됨

FOREX에서 Exchange로 "크롤링"하기로 결정했다면 여기에서 주제를 찾는 것이 좋습니다.

"초보자를 돕기 위해"섹션을 참조하고 자세히 알아보십시오.

증권 거래소에서 OnTick()이 아닌 Glass가 모든 것의 "머리"입니다.

1. 당신 말이 맞아. OnTick() 이벤트는 OnBookEvent() 이벤트와 정확히 관련이 없습니다.
첫 번째 이벤트는 새로운 틱의 도착(견적 변경, 거래 거래)을 처리합니다.
두 번째는 유리의 변경으로 항상 교환 거래로 이어지지는 않습니다.
교환 거래와 마찬가지로 유리를 통과할 필요가 없습니다.
저것들. 첫 번째 이벤트는 거래 테이프를 참조하고 두 번째 이벤트는 주문서를 참조한다고 말할 수 있습니다.

2. 분석 및 의사 결정에 사용할 항목 - 거래 테이프 또는 유리 또는 두 옵션 모두 거래 알고리즘 에 따라 다릅니다.

거래 테이프를 분석하려면 밀리초 기간의 OnTimer() 이벤트를 사용해야 할 것 같습니다.
더 실험하겠습니다.

 
Vladimir Mikhailov :

1. 당신 말이 맞아. OnTick() 이벤트는 OnBookEvent() 이벤트와 정확히 관련이 없습니다.
첫 번째 이벤트는 새로운 틱의 도착(견적 변경, 거래 거래)을 처리합니다.
두 번째는 유리의 변경으로 항상 교환 거래로 이어지지는 않습니다.
교환 거래와 마찬가지로 유리를 통과할 필요가 없습니다.
저것들. 첫 번째 이벤트는 거래 테이프를 참조하고 두 번째 이벤트는 주문서를 참조한다고 말할 수 있습니다.

2. 분석 및 의사 결정에 사용할 항목 - 거래 테이프 또는 유리 또는 둘 모두는 거래 알고리즘에 따라 다릅니다.

거래 테이프를 분석하려면 밀리초 기간의 OnTimer() 이벤트를 사용해야 할 것 같습니다.
더 실험하겠습니다.

타이머를 사용하는 것은 좋지 않습니다 .

당신은 이미 당신이 원하는 것을 결정했습니다 - 실시간으로 또는 타이머로 일하기 ...

당신의 머리에는 "죽"이 있습니다.

주문서의 모든 변경 사항은 "거래 테이프"를 포함하는 틱입니다.

OnBookEvent()가 발생했습니다. 이는 다음을 의미합니다.

1. 거래가 있었거나

2. 새로운 ASK가 있거나

3. 새로운 입찰이 나타났거나

4. 누군가 보류 중인 주문 을 취소했거나

5. ASK 볼륨이 변경되었거나

6 입찰 규모가 변경되었습니다.

이 모든 것이 OnBookEvent() ....에 반영됩니다.

행운을 빕니다!

추가됨

DC 컴퓨터로 거래하는 FOREX와 달리,

Exchange에는 실제 상대(개인 및 유리키)가 있습니다!

교환은 주문과 "일치"만 합니다( 물론 무료는 아닙니다. :) ).

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 

DC 컴퓨터로 거래하는 FOREX와 달리,

Exchange에는 실제 상대(개인 및 유리키)가 있습니다!

교환은 주문과 "일치"만 합니다( 물론 무료는 아닙니다. :) ).

ECN이라고 들어보셨나요?

 
Aleksey Mavrin :

ECN이라고 들어보셨나요?

)))))))))))

ECN에 대해 읽기


Обсуждение статьи "Выцарапываем профит до последнего пипса"
Обсуждение статьи "Выцарапываем профит до последнего пипса"
  • 2019.07.25
  • www.mql5.com
Опубликована статья Выцарапываем профит до последнего пипса: Автор: fxsaber...
 
Aleksey Mavrin :

ECN이라고 들어보셨나요?

여기에 당신이 왜 왔습니까?

FOREX에서 계속 Grail 을 찾으세요...

 
prostotrader :

여기에 당신이 왜 왔습니까?

FOREX에서 계속 Grail을 찾으세요...

당신의 사적인 영역은 무엇입니까?

그리고 낯선 사람에게 어떻게 하라고 말하는 것은 무례한 일입니다. 이것은 당신의 발달 수준이 낮다는 것을 보여줍니다.

 
Vladimir Mikhailov :

개발자에게 - 틱 플래그에서 9비트는 무엇을 의미합니까?

나는 9번째 비트에 대해 모른다, 그들은 문서화되지 않은 7번째 비트에 대해 물었다:

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

MetaTrader 5 플랫폼 빌드 1930의 새 버전: MQL5의 플로팅 차트 창 및 .Net 라이브러리

슬라바 , 2018.12.04 11:09

알랭 벌리앙 :

2018.12.03 09:58:06.898 TicksInfo (EURUSD, M5) EURUSD: 1 틱: 2018.12.03 00:52:27.671 1.13338 / 1.13354 / 0.00000 230 플래그
2018.12.03 09:58:06.898 TicksInfo (EURUSD, M5) EURUSD: 2 틱: 2018.12.03 00:52:27.743 1.13335 / 1.13348 / 0.00000 230 플래그
2018.12.03 09:58:06.898 TicksInfo (EURUSD, M5) EURUSD: 3 틱: 2018.12.03 00:52:27.821 1.13327 / 1.13343 / 0.00000 230 플래그
2018.12.03 09:58:06.898 TicksInfo (EURUSD, M5) EURUSD: 4틱: 2018.12.03 00:52: 27.888 1.13326 / 1.13343 / 0.00000 26 플래그
2018.12.03 09:58:06.898 TicksInfo (EURUSD, M5) EURUSD: 5 틱: 2018.12.03 00:52:27.965 1.13327 / 1.13345 / 0.00000 230 플래그
2018.12.03 09:58:06.898 TicksInfo (EURUSD, M5) EURUSD: 6 틱: 2018.12.03 00:52:28.194 1.13328 / 1.13346 / 0.00000 230 플래그
2018.12.03 09:58:06.898 TicksInfo (EURUSD, M5) EURUSD: 7 틱: 2018.12.03 00:52:28.265 1.13328 / 1.13346 / 0.00009 60 플래그
2018.12.03 09:58:06.898 TicksInfo (EURUSD, M5) EURUSD: 8 틱: 2018.12.03 00:52:28.327 1.13326 / 1.13344 / 0.00000 230 플래그
2018.12.03 09:58:06.898 TicksInfo (EURUSD, M5) EURUSD: 9 틱: 2018.12.03 00:52:28.405 1.13326 / 1.13344 / 0.00009 60 플래그
2018.12.03 09:58:06.899 TicksInfo (EURUSD, M5) EURUSD: 10 틱: 2018.12.03 00:52:28.809 1.13326 / 1.13344: 9.00000 6 플래그
2018.12.03 09:58:06.899 TicksInfo (EURUSD, M5) EURUSD: 11 틱: 2018.12.03 00:52:29.289 1.13326 / 1.13344: 9.00000 6 플래그

분명히 플래그는 비트당 비트 7입니다(값 128, 문서화되지 않음). 의미를 알 수 있습니까?

어떤 이유로 틱에 TICK_FLAG_BID 플래그가 설정되지 않은 경우 데이터 피드에 의해 설정되는 서비스 플래그이며 틱은 막대에 적용되어야 합니다.


사유: