リアルタイムで見るTiki

 

皆さん、ごきげんよう。

そこで、ブローカー「Otkritie」の実際のティックで取引アルゴリズムをテストすることが必要になりました。
そのため、オンラインモードとテスターでリアルティックのモードでは、アルゴリズムが異なる結果を示す。
これを受けて、次に、CopyTicksRange()関数で得られた実ティックの収集と履歴(ヒストリーティック)との比較を行った。
2020.01.21のSBRF先物でティックを採取しました。

面白い結果が出たので、いくつか疑問も出てきました。

1.リアルティックとヒストリーティックの数はかなり違うが、取引開始時と終了時のティックは同じである。
おそらく、ティックの処理をスキップできるハンドラOnTick()の機能が影響しているのだと思われます。

歴史的なティックの半分以上は,標準的なフラグ(TICK_FLAG_BID ... など)のほかに,9ビットの追加フラグが有効になっています。
実際のティックでは見られません。9ビットフラグが有効になっているティックは1つもありません。

3.実時刻と履歴時刻の間には、履歴時刻にビット9が含まれることと同様に、系統的な差は見出せませんでした。
歴史的な刻みは、実際の刻みに完全に対応することができ、そのフラグの9ビット目はオン・オフを切り替えることができます。
取引量が少なく、端末でのティックの受信が集中しない時期でも、リアルティックとヒストリカルティックの整合性がとれない場合があります。

ティックアウト

そして、質問もそれに応じたものです。

開発者の皆様へ - tickフラグの9ビットの意味とは?

そして、コミュニティの皆さんへ - このような衝突に遭遇した方はいらっしゃいますか?
実際のティックでどのようにアルゴリズムをテストしているのですか? オンラインだけ?

コレクターとティックアナライザーを含むファイルを添付します。
そして、2020.01.21のSBRF-3.20のリアルティック。

ファイル:
ticks.zip  553 kb
 
Vladimir Mikhailov:

皆さん、ごきげんよう。

ブローカー「Otkritie」の実際のティックで取引アルゴリズムをテストする必要があります。
そのため、オンラインモードとテスターでのリアルティッキングモードでは、アルゴリズムが異なる結果を示します。
そのため、次のステップでは、リアルタイムのティック(実ティック)を収集し、CopyTicksRange()関数で得られたティック履歴(履歴ティック)と比較することにしています。
2020.01.21のSBRF先物でティックを採取しました。

面白い結果が出たので、いくつか疑問も出てきました。

1.リアルティックとヒストリーティックの数はかなり違うが、取引開始時と終了時のティックは同じである。
おそらく、ティックの処理をスキップできるハンドラOnTick()の機能が影響しているのだと思われます。

2. 歴史的なティックの半分以上は、標準的なフラグ(TICK_FLAG_BID ... など)の他に、さらに含まれる9ビットのフラグを持っています。
実際のティックでは見られません。9ビットフラグが有効になっているティックは1つもありません。

3.実時刻と履歴時刻の間には、履歴時刻にビット9が含まれることと同様に、系統的な差は見出せませんでした。
歴史的な刻みは、実際の刻みに完全に対応することができ、そのフラグの9番目のビットは、オンまたはオフに切り替えることができます。
取引量が少なく、端末でのティックの受信が集中しない時期でも、リアルティックとヒストリカルティックの整合性がとれない場合があります。

そして、質問もそれに応じたものです。

開発者の皆様へ - tick flagの9ビットの意味とは?

そして、コミュニティの皆さんへ - このような衝突に遭遇した方はいらっしゃいますか?
実際のティックでどのようにアルゴリズムをテストしているのですか?オンラインだけ?

コレクターとティックアナライザーを含むファイルを添付します。
そして、2020.01.21のSBRF-3.20のリアルティック。

ティックコレクターで笑わせてもらいました :)

テープ・オブ・オールトレード」を基本に。

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

完成品

そして、交換機用テスターのことは忘れてください

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

ティックコレクターで笑わせてくれますね :)

All Transactions Feed」を基本に考えてください。

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

完成品

そして、交換機用テスターのことは忘れてください

上の例は、あくまで取引のテープを集計する方法の一つであり、ここでも参照するのは履歴である。
アルゴリズムが遅くなるので、やりたくはないのですが。まず、OnTick()イベントで処理されるティックに注目します。

MetaTrader全般のテスターや、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から取引所に "クロール "することを決定した場合、私はこの中のトピックを見つけることをお勧めします。

初心者のためのヘルプ "の項をご覧いただき、詳細をご確認ください。

取引所では、OnTick()ではなくGlassがすべての「頭」となっています。
 
prostotrader:

1.何も減速していないし、これからも減速することはない。

既成のソリューションが与えられて いるので、あとはニーズに合わせて 手を加えるだけです。

OnTick() イベントは、ガラスのすべての変化を表示するわけでは ありません。

以下に簡単な例を示しますので、ご確認ください。

2.取引所商品について(株式についてはすでに書いています。)

追加

FOREXから取引所に "クロール "することを決定した場合、私はこの中のトピックを見つけることをお勧めします。

をクリックし、詳細をご覧ください。

取引所では、OnTick()ではなくGlassがすべての「頭」となっています。

1.その通りです。OnTick()イベントはOnBookEvent()イベントと厳密には関係ありません。
最初のイベントは、新しいティックの到着を処理します - クォートの変更、為替取引。
2つ目のイベントはティックの変化を処理するもので、必ずしも株式売買につながるとは限りません。

. つまり、最初のイベントはディールのティッカーを参照し、2番目のイベント はティッカーを参照すると言える。

2.分析・判断に何を使うか - 取引の帯かスライダーか、あるいはその両方かは、取引アルゴリズムによって 異なります。

ストリップの解析には、ミリ秒単位のOnTimer()イベントを使う必要がありそうです。
今後も実験を続けていきます。

 
Vladimir Mikhailov:

1.おっしゃるとおりです。OnTick()イベントはOnBookEvent()イベントと厳密には関係ありません。
最初のイベントは、新しいティックの到着を処理します - クォートの変更、株式取引など。
2つ目のイベントはティックの変化を処理するもので、必ずしも株式売買につながるとは限りません。
交換トレードも、必ずしもカップを経由する必要はありません。
つまり、最初の出来事はトレードのテープのことであり、2番目の出来事はカップのことであると言えるのです。

2.分析・判断に何を使うか-取引ティッカーかマーケットか、あるいはその両方か-は、取引アルゴリズムによって異なる。

ミリ秒単位のOnTimer()イベントを使って、細切れの案件を解析することになりそうです。
今後も実験を続けていくつもりです。

タイマーを使う のは良くないですね。

リアルタイムで動作させるか、タイマーで動作させるか、どちらを選ぶか...。

頭の中がモヤモヤしている状態です。

スタックの変化はすべてティックであり、これには「トレードフィード」が含まれます。

OnBookEvent()が発生した場合、そのことを意味する。

1.取引が発生した、または

2.新たなASKが発生した、または

3.新しいBidが表示された、または

4.誰かが保留中の注文を 取り下げたか

5.5.ASKの音量が変わった、または

6 ビッド音量が変化した

これらはすべてOnBookEvent()に反映されます。

がんばってください。

追加

FOREXとは対照的に、コンピューターDCで 取引します。

FOREXでは、 現実の 相手(個人と企業)がいるのです!

取引所はあなたの注文を「ペアリング」するだけです(もちろん無料ではありません :) )。

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

DCコンピュータで 取引するFOREXとは異なります。

FOREXには 本物の 相手(実在の個人や企業)がいるのです!

取引所はあなたの注文を「ペアリング」するだけです(もちろん、無料ではありません :) )。

ECNをご存じですか?

 
Aleksey Mavrin:

ECNという言葉を聞いたことがありますか?

)))))))))

ECNについて読む


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

ECNを知らない?

なぜ、ここに来たのですか?

FOREXで聖杯を 探し続ける...。

 
prostotrader:

なぜ、ここに来たのですか?

FOREXの聖杯を探し続けよう...。

ここでいうプライベートな領域とは?

それに、わからないことをわからないと言うのは失礼な話です。ちょっと開発レベルが低いことがわかりますね。

 
Vladimir Mikhailov:

開発者の皆様へ - tickフラグのビット9は何を意味しているのでしょうか?

ビット9についてはわかりません、質問は非正規のビット7についてでした。

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

MetaTrader 5 build 1930の新バージョン:MQL5におけるフローティングチャートウィンドウと.Netライブラリ

スラバ さん 2018.12.04 11:09

アラン・ヴェルレーエン

2018.12.03 09:58:06.898 TicksInfo(EURUSD, M5) EURUSD: 1 tick: 2018.12.03 00:52:27.671 1.13338 / 1.13354 / 0.00000 0flags:230
2018.12.03 09:58:06.898 TicksInfo(EURUSD, M5) EURUSD: 2 tick: 2018.12.03 00:52:27.743 1.13335 / 1.13348 / 0.00000 0flags:230
2018.12.03 09:58:06.898 TicksInfo(EURUSD, M5) EURUSD: 3 tick: 2018.12.03 00:52:27.821 1.13327 / 1.13343 / 0.00000 0flags:230
2018.12.03 09:58:06.898 TicksInfo(EURUSD, M5) EURUSD:4 tick:2018.12.03 00:52:27.888 1.13326 / 1.13343 / 0.00000 0flags:226
2018.12.03 09:58:06.898 TicksInfo(EURUSD, M5) EURUSD:5 tick:2018.12.03 00:52:27.965 1.13327 / 1.13345 / 0.00000 0flags:230
2018.12.03 09:58:06.898 TicksInfo(EURUSD, M5) EURUSD:6 tick:2018.12.03 00:52:28.194 1.13328 / 1.13346 / 0.00000 0flags: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.00000 0フラグ:96
2018.12.03 09:58:06.898 TicksInfo(EURUSD, M5) EURUSD:8 tick:2018.12.03 00:52:28.327 1.13326 / 1.13344 / 0.00000 0flags: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.00000 0 flags:96を参照してください。
2018.12.03 09:58:06.899 TicksInfo(EURUSD, M5) EURUSD:10ティック:2018.12.03 00:52:28.809 1.13326 / 1.13344 / 0.00000 0 flags:96を参照してください。
2018.12.03 09:58:06.899 TicksInfo(EURUSD, M5) EURUSD:11ティック:2018.12.03 00:52:29.289 1.13326 / 1.13344 / 0.00000 0 flags:96を参照してください。

どうやらフラグはbit by bit 7(値128、undocumented)らしいのですが、値を知ることは可能 でしょうか?

これは、ティックがバーに適用されるべきであるが、何らかの理由でTICK_FLAG_BIDフラグが設定されていない場合にデータフィードによって設定されるサービスフラグです。


理由: