記事"「新規バー」イベントハンドラ"についてのディスカッション

 

新しい記事 「新規バー」イベントハンドラ はパブリッシュされました:

MQL5プログラミング言語はまったく新しいレベルで問題解決をする能力があります。 そういったタスクにして、もオブジェクト指向プログラミングのおかげでそれはすでに高いレベルに引きあげることができるのです。本稿では、かなり力強い多目的ツールに変換されたチャートの新規バーチェックの特にシンプルな例を取り上げます。どんなツールでしょうか?本稿でみつけてください。

作者: Konstantin Gruzdev

 
ああ、もう...乗り切れなかった...。開発者がisNewBar関数を標準で導入してくれればよかったのに・・・。エラーの多さには唖然とするばかりだ...新しいバーの 出現という原始的な関数でこれでは...。
Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
私はこう言いたい。
 

ありがとう。

На форуме как-то проскользнула мысль о том, что было бы хорошо иметь стандартный обработчик события «новый бар». Быть может когда-то разработчики придут к этому, а может и нет.

なぜすり抜けたのか。ここには、https://www.mql5.com/ru/forum/2176/page21/#comment_26385isNewBar()が必要であり、プログラム可能であることが大きな文字で書かれている。

さらに「10の違いを見つける」ゲームをすることができる。デモ口座でのExpert Advisorの動作のおかしさに加えて、デモ口座とテスターでの違いがあることは明らかで、肉眼でも確認できるのだが......フォーラムでの情熱のため、あるいは必要性があれば次の記事に譲ろう。

パッションが見えないのは、多くの人が見ていなかったからだと思う。選手権でのパッションは、参議院議員の仲たがいが始まってから......。

さて、さらに進んで多通貨対応のNewBarイベントハンドラを作ることもできる。しかし、これはまた別の記事にしよう。

そしてこれには、偉大な詩人の偉大な詩を付け加えるしかない。

ああ、なんと素晴らしい発見だろう

悟りの精神を準備せよ

そして経験、困難な過ちの息子

天才、逆説の友、

そして偶然、神の発明者......。

 
Prival:

ありがとう。

なぜすり抜けたのか。https://www.mql5.com/ru/forum/2176/page21/#comment_26385isNewBar()が必要であり、プログラム可能であることが大きな文字で書かれている。

おっと、何か見落としていたようだ。もうちょっとアイデアを入れることができたはずだ。ちなみに、ポイント5をベースにしたEAを投稿した。

パッションが見えないから、見ていない人も多かったんじゃないかな。

そう、まだ優勝のショックが残っている人が多いようだ。

そして、それには偉大な詩、偉大な詩人を加えるしかない。

テーマに対する詩。誰かが本当の解決策を提示してくれることを願う。

 
maryan.dirtyn:
開発者がisNewBar関数を標準の関数として導入すればいいのですが...。
私が思うに、開発者が標準のisNewBar関数を導入するのは意味がない。そして、これはプログラム可能なイベントであるというPrivalの意見に同意する。
削除済み  
Lizar:
私の見るところ、これはOnTickの特別なケースなので、開発者が標準のisNewBar関数を導入するのは意味がない。そして、これはプログラム可能なイベントであるというPrivalの意見に同意する。

おそらく、このイベントの標準的な処理を導入する必要さえあるだろう。少なくともエキスパートレベルでは。

少なくとも、仕事のマルチスレッドの観点からは、その方が都合がいい。結局のところ、端末レベルではどのような処理も複数のスレッドで整理することができるが、MQLでは1つのスレッドしか得られない。

私の意見では、標準的な処理は多通貨処理に特に有利である。

追記

一般的に、開発者は既存のイベントハンドラ、同じOnTrade()とOnTick()の変更を考えるべきです。

個人的には、せめてシンボルをパラメータにしてほしいのですが...。

 

OnTick() というかそのロジックも変更します。現在、このイベントはExpert Advisorがぶら下がっている通貨ペアに新しいティックが発生した場合に生成されます。多通貨分析の観点からは、このイベント 、いずれかの商品に新しいティックが発生した場合に生成する方が良い(と私は思う)。

つまり、マトリックスが変更された場合(市場のレビュー )、マトリックスで何が変更されたかを示す newTick()イベントが生成されます。 すべてを同期させたほうが便利でしょう。

めったにありませんが、1つの商品の相場が長時間フリーズする状況があります(円相場でそのような状況を見ました)。このペアで Expert Advisor がハングした場合、すべてのコードをOnTime() に変換していないと大変なことになります。

 
Interesting:

このイベントの標準的な処理を導入する必要さえあるだろう。少なくともエキスパートレベルでは。

少なくとも、作業のマルチスレッド化の観点からは、その方が都合がいい。結局のところ、端末レベルではどのような処理も複数のスレッドで整理することができる。

そう、マルチスレッドの問題には同意する。しかし、これはNewBarに限ったことではなく、あらゆるイベントの処理に関する一般的な問題である。
 
Prival:

例えば、マトリクスが変更され (市場の 概要)、 newTick() イベントが生成され、 マトリクスで何が変更されたかを示します。すべてを 同期させた 方が便利です。


このようなイベントはTimeCuurent()を使って受け取ることができますが、それをさらにどうするか、どう同期させるかが問題です。
削除済み  
Prival:

OnTick() というかそのロジックも変更します。現在、このイベントはExpert Advisorがぶら下がっている通貨ペアで新しいティックが発生した場合に生成されます。多通貨分析の観点からは、どの商品の新しい ティックでも このイベントを発生させる方が良い(と私は思う)。


OnTick() とOnTrade() では、少なくともシンボル名をパラメータとして追加する必要があります(OnTrade() ではイベントタイプを 追加することも望ましい)。

この場合、例えばOnTick() は、オーバービューに存在するシンボル(商品)の 1 つに新しいティックが発生するたびに生成できます。

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика - Документация по MQL5