記事"MetaTrader 5 ターミナルのストラテジーテスタ内でティック作成をするアルゴリズム"についてのディスカッション - ページ 20

 
後日、デューカスコピー、アルパリ、GKFXのティックを視覚的な形で掲載する予定です。
 

取引、自動取引システム、取引戦略のテストに関するフォーラム

新しいMQL4コンパイラとエディタを含むMetaTrader 4 IDEのベータ版

Urain, 2013.09.12 13:18

あなたは、高いTFで取引することで、誤ったティック生成の呪縛から逃れられると素朴に信じていますが、それは真実ではありません。ある水準に近づくクロスはTFに依存しません。それはすべてのタイムフレームに浸透しています。そして、W1のクローズはM1と同じレベルでクロスする。

これがその例だ:


水平セクションは、(約定という点では)オープニング/クロージングに最適なポイントであり、価格が立っていて、市場に十分な出来高があり、市場が徐々にピッキングしている(だから価格が立っている)。

しかし、テスターはこのセクションをティック(上下のティック)の櫛として生成するため、実生活ではどのTFでも(シグナルがあれば、例えば終値がインジケータラインを越えた場合など)十分に自信を持ってオープンしますが、テスターではこれらのセクションで多くの偽陽性が発生し、8つのスプレッドを支払うことになります。このように、偽ティックの発生が正常なTSを殺してしまい、すべてのゴミが残り、オプティマイザーは何を勝ち猿として与えるかを選択しなければならなくなるのです。

ところで、このようなサイトは現実にたくさんある。

取引、自動取引システム、取引戦略のテストに関するフォーラム。

新しいMQL4コンパイラーとエディターを含むMetaTrader 4 IDEのベータ版。

Urain, 2013.09.12 14:13

ティックがあります。実生活では、ティックはスタックの状態を変更するイベントによって生成されます。

つまり、ティックには、ビッドが変化した、アスクが変化した、ビッドとアスクの両方が変化した、そして最後に、価格に変化はなかったがグラス内のボリュームが変化した、という4つのタイプがあります。

直線になるのは4番目のタイプだけで、それとアスクの変化はテスターによって十分に生成されない。


最後の投稿へ:...

このように、偽のティックの生成は、通常のTSを殺し、すべてのゴミが残り、オプティマイザーは、勝利の猿として何を与えるために、その中から選択する必要があります。

サルはどのようにして出世するのか?現実の生活では、開かない急激なジャンプ、そしてテスターでは、存在しなかった価格の滑らかな上昇、そのような上昇でテスターのサルはかなり、彼らは現実の生活で失うが、利益を示しています。


取引、自動売買システムとテスト取引戦略に関するフォーラム。

新しいMQL4コンパイラとエディタを含むMetaTrader 4 IDEのベータ版。

Urain, 2013.09.12 14:21

私は例を求めているのではありません、あなたがプログラムを書くとき、あなたは可能なバリエーションを考えます。

問題は、特定の状況におけるモデリングの妥当性だ。私は例へのリンクを示したが、状況はどのブローカーのどの楽器でも起こりうる。

ティック生成につながる4つの状況のうち、2つは不適切に処理されています。

残りの2つのうち、両方の価格(ビッドとアスク)が変化する状況は、常に正しく処理されません。

例えば、価格が急激に変化する状況では、誤った価格が表示されます。

まとめると、常に正しく処理されるのは買値の変化だけである。

ntchk




 

テスターのティックを記録するExpert Advisorを記事から少し修正。

//+------------------------------------------------------------------+
//|Write_Ticks_mod.mq5
//| 著作権 © Copyright 2010, MetaQuotes Software Corp.
//|https://www.mql5.com
//+------------------------------------------------------------------+

input datetime start = D'2013.09.06 14:29:00';
input datetime end   = D'2013.09.06 14:31:00';

//+------------------------------------------------------------------+
//| エキスパート・ティック機能|
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlTick tick;
   datetime time=TimeCurrent();
//---
   SymbolInfoTick(Symbol(),tick);
   //Print(time,tick.bid);
   Print(time,", ",tick.bid,", ",tick.ask); // を追加した。
//---
   if(time>end) ExpertRemove();
//---
  }


http://www.gkfx.ru/trade_specs/tick_history.html

http://www.dukascopy.com/swiss/russian/marketwatch/historical/

https://www.alpari.ru/ru/login/(私個人のキャビネットのダニ),http://ticks.alpari.org/


すべてのファイル + xlsx はトレイラーにあります。

 

Свеча в 14:30 (время в MetaTrader 5) объёмом в 39 тиков, в альпари она равна 86 на ECN и 136 тиков на стандарт,

しかし、ティック生成の原理は同じであるため、それは絶対に重要ではありません(ティックの数)、ちょうどティックが密になります。


MetaTrader 5のテスターでは、このローソク足で価格が単調に、均等に、36秒間ピクピクすることなく、最大に上昇 し、その後、小さなプルバックがあることがわかります。

そして、先物(株式ティック)で、あなたは価格が一瞬で、急激にジャンプし、その後、通常の取引が開始されたことがわかります。


相場が急上昇する他のニュースや統計でも、原理は同じである。

https://www.mql5.com/ru/forum/1031/page19#comment_597854


実際のFOREXと先物のティックの差は、両者の間に裁定取引があり、FOREXではティックのフィルタリングと集約があるため、非常に小さい。

+ 一部の先物ブローカーでは、すべての注文が取引所に保存され、FOREXとは異なり数マイクロ秒で執行されるためです。

https://www.mql5.com/ru/forum/10454/page88#comment_584876


M1ローソク足内の高値、安値、プルバックを形成する正確な時間(ミリ秒、秒)は、テスターのティックを生成する際に考慮されないからです。

あるいは(任意の遅延時間を)手動で1分以上に設定する必要がありますが、そのような可能性はありません(他のケースでは精度が低下します)。

Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5"
Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5"
  • www.mql5.com
Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5".
 
ティック生成アルゴリズム について、コードのサンプルをいただけますか? この アルゴリズムについて とても興味があります ありがとうございました!
 
マイクロスキャルピング用のインジケーターを持っています。Tester M1 の時間枠では非常に良い結果を出します - 毎ティック
ライブになると結果が悪くなります!

数日間壁に頭をぶつけた結果、この違いはこの「ティック生成のアルゴリズム」によるものだという結論に達しました。

何か提案はありますか?
例えば、ライブ・データをフィルタリングすることは可能でしょうか?もし可能なら、どのようにすればよいでしょうか?

ご協力ありがとうございました。

ugo
 
ugo:


マイクロスキャルピング用のインジケーターを持っています。Tester M1 の時間枠では非常に良い結果を出します - Every tick ライブになると結果が悪くなります! 数日間壁に頭を打ち付けた後、この違いはこの


「ティック生成のアルゴリズム」によるものだという結論に達しました。 何か提案はありますか?例えば、ライブデータをフィルタリングすることは可能でしょうか?もし可能なら、どのように? ご協力ありがとうございます。 ugo






スキャルパー(ティックデータに依存)は、おそらくストラテジーテスターではテストできません。
 
angevoyageur:
スキャルパー(ティックデータに依存)は、おそらくストラテジーテスターではテストできません。

追加のインディケータを使用しない場合は、保存された履歴バーから自動生成されたティックをキャッチし、それを捨てて、以前に保存されたティックフィードから同じ分のティックを挿入することができます。

ディスクに保存されたバイナリー・ティック・フィードは、1通貨で1週間分、約50MBytesかかるので、テスト可能なのは小さな期間だけだと思います(自分でティック・データを保存する必要があり、他のソースからティック・データを取得できない場合)。

しかし、あなたのアルゴリズムを検証するには十分かもしれません。

幸運を祈ります。

 
ugo58:

追加のインディケータを使用しない場合は、保存された履歴バーから自動生成されたティックをキャッチし、それらを捨てて、以前に保存されたティックフィードから同じ分のティックを挿入することができます。

ディスクに保存されたバイナリー・ティック・フィードは、1通貨で1週間分、約50MBytesかかるので、テスト可能なのは小さな期間だけだと思います(自分でティック・データを保存する必要があり、他のソースからティック・データを取得できない場合)。

しかし、あなたのアルゴリズムを検証するには十分かもしれません。

幸運を祈ります。

こんにちは、ありがとうございます!

よく分かりませんが「...同じ分のティックを挿入"。同じ始値と終値の実際のティック値を手動で確認するということでしょうか、それともディスクに保存された履歴からStrategy Testerを 実行する方法があるのでしょうか?私はangevoyageurから、これは不可能であると 聞きました。

ugo

 

MQL5ストラテジーテスターでは、ブローカーが提供する価格とは異なる履歴を使用することはできません。しかし、独自のEAをプログラムすれば、プレハブのインジケータを必要としない限り、これを扱うことができます。

私が理解する限り、新しいMQL4ではMQL5と同じコードを書くことができます。注文処理の異なる方法に注意すれば、あなたが提供した履歴を使ってあなたのEAをテストすることができます。

ugo58