リアルタイムで見るTiki - ページ 13

 
Roman:

の代わりに、リアルタイム用とか。

使い道

現在の価格を すぐに知ることができるのに、なぜコピーするのか?
理論的には、CopyTicksはその根底に余分なパラメータチェックを持ち、その結果、関数本体のコードの長さが長くなっています。
しかし、SymbolInfoTickには追加のパラメータがなく、理論的には、この関数の実装はより少ないコードで済むはずです。
コードが少なければ、実行速度も速くなります。

唯一の悪い点は、SymbolInfoTick関数にはCopyTicksのような詳細なドキュメントがなく、どのように動作するのか完全に明確でないことです。
キャッシュしているのか、生データをすぐに返しているのか。

ガラスだけはすぐに使えるようにし、それ以外は追加でチェックします。

誰も詳細なドキュメントを公開しない - それは7つの封印に隠された秘密だ )))

 
Sergey Chalyshev:

ガラスだけはそのまま渡し、それ以外は追加でチェックします。

誰も詳細なドキュメントを公開しない - 7つの封印に隠された秘密だ )))

SymbolInfoTick()は原理的にスタックを返せないので、BestBid, BestAskのことかと思います。
MqlTickの構造は、BestBid, BestAskで完全に埋まっているのでは?
他の構造体のメンバーが追加チェックを必要とする理由は何でしょうか?

struct MqlTick 
{ 
   datetime     time;          // Время последнего обновления цен 
   double       bid;           // Текущая цена Bid 
   double       ask;           // Текущая цена Ask 
   double       last;          // Текущая цена последней сделки (Last) 
   ulong        volume;        // Объем для текущей цены Last 
   long         time_msc;      // Время последнего обновления цен в миллисекундах 
   uint         flags;         // Флаги тиков 
   double       volume_real;   // Объем для текущей цены Last c повышенной точностью 
};

全バンクのガラス全体を取得したい場合は

bool  MarketBookGet( 
   string        symbol,     // символ 
   MqlBookInfo&  book[]      // ссылка на массив 
   );

指定されたシンボルのエントリを含むMqlBookInfo 構造体の配列を返します。

 
Roman:

SymbolInfoTick()は原理的にカップを与えることはできませんが、おそらくBestBid、BestAskを意味します。
MqlTickの構造は、BestBid, BestAskで完全に埋まっているのでは?
残りの構成メンバーの追加チェックが必要な理由は何でしょうか?

また、全てのギャングのフルタンブラーを取得したい場合は

指定されたシンボルの価格のスタックのレコードを含む、MqlBookInfo 構造体の配列を返します。

意味がわからないんですけど。

OnBookとOnTickは別のスレッドなので、もしMQが同期していたら非常にまずいです。

上にあげた写真から判断すると、完全に同期しているわけではありません。

fxsaberの テストも自信を持たせてくれる。

その結果、OnTick/OnBookEventにおいて、異なるメソッドで受信したティックが1つのOn関数内で一致しないことが非常に多いという悪い事態が発生します。しかも、ティックの取得方法がどれとどれが関係あるのかわからない。 ひどい曖昧さ。

では、誰が何を望んでいるのか。

- より良い価格を求めるなら - OnBook

- お得な情報の断片が必要な場合 - CopyTick,

- と何も必要ない場合 - OnTickは、他のOn関数と並んで1つのプロセスで動作するため、ティックをスキップしたり、情報の流れを遅らせたりすることができます。


p.s. ここに書いたことはすべて、為替口座のみに関係することで、FX派は気にしない(違いはない)し、FX派は通り過ぎるのです。

fxsaber
fxsaber
  • www.mql5.com
Опубликовал пост TesterPortfolio - портфель ТС Опубликовал пост "Out-Of-Sample" - где расположить, справа или слева? Когда-то в паблике столкнулся с мнением, что OOS должен располагаться только справа. Т.е. расположение его слева от интервала Оптимизации - ошибка. Я с этим был категорически не согласен, т.к. не видел разницы. Теперь вижу...
 
Andrey Khatimlianskii:

一瞬、理解しようとする気持ちがあるように見えましたが、それがプライドを飼い慣らすことになるのでしょう。
いや、そう思えただけです。

問題は解決し、誰でもあなたやfxsaber、私のコードに目を通し、結論を出すことができるのです。
あなたと一緒にいると、対話が止まり、あなたの大声以外何も出てこなくなり、情報を受け取ったあなたの脳は全く働かなくなるのです。

FORTSで頑張ってください。

アンドレイ!

FOREXについての私の発言は、あなたとは 何の関係もなく、あなたは間違って怒っているのです。

私たちは常に建設的な対話を行ってきましたが、もしそれが何らかの形であなたの気分を害したのであれば

個人的に謝罪します!

 
Sergey Chalyshev:

意味がわからないんですけど。

OnBookとOnTickは別のスレッドで、MQが同期させたとしたら、それはあまりにもひどいことです。


私の最近のテストから(コードのバグを修正した後)。

を見ると、OnTick()がOnBookEvent()の前か同時にトリガーされることがよくわかります。

が、プリンターではOnTick()が常に最初になります。

新しいダニの集団がやってくると、そうなるようです。

であれば、それらを扱う関数がまずOnTick()を "引き"、次にデータを "忍び "ます。

行くべきところに行く)

 
Roman:

の代わりに、リアルタイム用とか。

使い道

現在の価格を すぐに知ることができるのに、なぜコピーするのか?

どのようなマーケットに興味がありますか?

 
prostotrader:

私の最近のテストから(コードのバグを修正した後)。

を見ると、OnTick()がOnBookEvent()の前か同時にトリガーされることがよくわかります。

が、プリンターではOnTick()が常に最初になります。

新しいダニの集団がやってくると、そうなるようです。

とすると、それらを扱う関数がまずOnTick()を「引き」、次にデータを「送る」ことになります。

行くべきところに行く)

はい、ほぼ同じです。

Terminalは非同期のシングルスレッドで、すべてのイベントを順番に処理します。

OnBookとOnTickのどちらが速いかという純粋な実験のために、1つのブローカーで2つの端末を動かす必要があります。

あるEAではOnTickを 使わずOnBookのみ

もう一方では、OnBookを使わずにOnTickのみ

そして、価格を ローカル時間 (ミリ秒)で1つのファイルにまとめる。そうすれば、本当の違いが見えてくるはずです。

そうでなければ、ストックタイムがなければ、その違いを理解することはできません。

 
Sergey Chalyshev:

ええ、だいたい同じような考え方ですね。

ターミナルは非同期のシングルスレッドで、すべてのイベントを順番に処理します。

OnBookとOnTickのどちらが速いか、という実験の純度を高めるために、1つのブローカーで2つの端末を動かす必要があります。

あるEAではOnTickを 使わずOnBookのみ

もう一方では、OnBookを使わずにOnTickのみ

そして、価格を ローカル時間(ミリ秒)で 1つのファイルにまとめる。そうすれば、本当の違いが見えてくるはずです。

そうしないと、ストックタイムがないと、違いがわからないんです。

問題ありません、月曜日に実行してみます(リアルに端末が3つあります)。

 
Sergey Chalyshev:

意味がわからないんですけど。

OnBookとOnTickは別のスレッドで、MQが同期しているのであれば、残念です。

上にあげた写真から判断すると、完全に同期しているわけではありません。

また、fxsaberの テストは自信を持たせてくれます。

では、誰が何を望んでいるのか。

- より良い価格を求めるなら - OnBook

- お得な情報の断片が必要な場合 - CopyTick,

- と何も必要ない場合 - OnTickは、他のOn関数と並んで1つのプロセスで動作するため、ティックをスキップしたり、情報の流れを遅らせたりすることができます。


p.s. 私がここに書いたことはすべて、為替口座にのみ関係し、FXトレーダーは気にしない(違いはない)、FXトレーダーは通り過ぎる。

SymbolInfoTickについて ですが、「カップのみ即座に付与し、残りは追加でチェックする」と書かれて いましたね。
MqlTickの構成をお見せすると、カップはなく、ベストプライスのみです。また、追加のチェックはありません。
あなたのコメントに驚愕しました、もしかして勘違いしているのでは?
OnBook と OnTick は異なるソケットです。なぜなら、どの取引所でも、取引はあるソケットで行われ、Level2(市場)は別のソケットで行われるからです。
これは、最良のビッド・アスク・ラストなどのみがソケットOnTickに送信されることを意味します。したがって、OnTickはこのソケットのための独自のハンドラを持っています。
Level2 はソケットが異なるため、ハンドラも異なる。考え方としては、端末側で無理に同期を取らない方が良い。

さて、私たちはまさに、SymbolInfoTickまたは CopyTickのトレード、MarketBookGetのガラスを使用しています。

 
prostotrader:

どのようなマーケットに興味がありますか?

ディーリングFXは使っていない。
この例では、CopyTickから構造の最後の1つの要素のみを取得し、実際には、最良の価格のみを 取得します。
そこで
私は考えました。あるメモリ空間から別のメモリ空間へ、
どこにもコピーせずに最良の価格を示して くれるSymbolInfoTickが あるのに、なぜデータをコピー するのだろう、と。機能の仕組みは間違っているかもしれません、あくまで私の推測ですが。
この2つの関数は同じように動作する可能性がありますが、唯一の違いは
CopyTickはティックの範囲を要求できる ことです。
また
テロップの処理にループを使用 する必要は ありません。