プロの声:MQLでマウスのスクロール値を取得する方法とは? [第5回フォーラムからの再掲載】。] - ページ 8

 

ありがとうございます、少し遅くなりましたが。

 
Ihor Herasko:

まず、イベント発生の情報をどのような形で受け取るのか、直接なのか間接なのか、決めておくとよいでしょう。

DLLを自作するのは無理だとして、APIも廃止してはどうでしょう。間接法が適している場合。

ウィンドウ内の最初の可視バーのインデックスをチェックするスクリプトをループさせる必要があります - WindowFirstVisibleBar (ウィンドウ内のバー数 - WindowBarsPerChartと一緒に行うこともできます).前の値と異なる場合は、チャートのチェックが行われたことになります。この場合、マウスホイールだけが原因ではない可能性があります(時間のズーム - "+"、"-"、ホームまたはエンドをクリックすると、目的の日付に直接ジャンプします)。

いずれにせよ、マウスホイールの回転イベントを検出するために何が必要なのか、まだ情報が十分ではありません。そして、方法を提案することができます。

P.S. また、ウィンドウ処理関数へのアクセスが必要な場合は、SetWindowLongPtr (msdn参照)です。しかし、MQLコードにある新しいメッセージ処理プロシージャを割り当てることはできないので、DLLなしではできない。


なお、この記事には実質的に解決策が書かれています。なぜかちょっと手がつけられなくなったんです。著者は、まず単純で正しい考えを把握し、その後、他の人たちと共にグローバルな解決策を求め、それを失ってしまったのです。なんとも残念なことに・・・。


P.S.お役に立ててよかったです)。

 
Реter Konow:

なお、この記事には実質的に解決策が書かれています。なぜかちょっと物足りない。著者は、まず単純で正しい考えを把握し、そしてそれを失い、我々と一緒にグローバルな解決策を探しに出かけていった。なんとも残念なことに・・・。


P.S.お役に立ててよかったです)。


あの頃は、古い言葉、限られた可能性...。作者、つまり私はこの問題を解決することに成功し、そして興味を失いました )))

 
Реter Konow:

一番いいのは、一般論として、何かを証明する目的ではなく、友情の上で解決策を与えることでしょう。

もちろん、その実現は、絶望的な状況からの脱出を試みるものである。ホイールでのスクロールが全くできないため、最もシンプルで「ネイティブ」なソリューションと言えます。本格的な解決策としては、すでにサービスデスクに 問い合わせをしています。そうであるかどうかは、開発者次第です。

実装はバウンススケジュールでと理解しました。開発者の足元に落ちて、スクロールとホイールクリックのイベントを追加してもらうことと、マウスホイールによるチャートスクロールを一時的に無効にする機能を追加してもらうことが最善の解決策であることに同意します。結局のところ、彼らにとってはそれほど難しいことではなく、数行のコードを書くだけなのです。なぜ突然、マウスホイールが不要になると言い出したのか理解できませんが...。しかし、本当に必要であれば、オプションとして、チャートの跳ね返りを無効にし ( ChartSetInteger(0,CHART_SHOW,false); ) 、CCanvas を介してそのダブルを作成することもできますが、もちろん、タンバリンばかり、北極の向こうにいる隣人に歩いていくことになります。

それにしても......信用もあるし、ピーターさんはクールな男で、いいプログラマーだ。いつも言っていることですが、誰も必要としない「トルコでトマトを育てる」なんて、創造性の無駄遣いもいいとこです。

 
Nikolai Semko:

...が、誰も欲しがらない「トルコでトマトを育てる」 ことに創造性を浪費している、とも言っています。

自分の主張を通す。

今、MT5プラットフォームは多くの可能性を秘めています。多くの可能性とライブラリーをしかし、その一方で、MQL プログラムの開発は行き詰まりをみせている。

さらなる発展のための障壁は、プラットフォーム内でプログラムを成長さ せる機会がないことです。

ユーザーは、制御モジュールをグラフィカルなインターフェイスに することなしに、ソフトウェアの機能をさらに拡張することはできません。

MQLプログラムにはGUIがないため、さらなる発展のための世界的な障壁となっています。レナートは、「幼稚な」1ページ番組の時代は終わったはずだ、と言った。私も完全に同意見です。しかし、トレーダーが「半ズボン」から抜け出す物理的可能性がないのに、どうして終わるのだろうか。

MQLプログラムにおけるGUIの欠如がもたらす結果を列挙してみよう。

  • ユーザーに力を与えるようなプログラムブロックの組み合わせができないこと。
  • ユーザーとプログラムとのインタラクションの幅を極限まで狭めた。
  • そのような本格的な半自動売買がないこと。フルオートよりセミオートの 方がいいという人も多いでしょう。
  • プロがフル回転できない市場調査の不自由さ。
  • 統計の独自整備がない。
  • GUIがないことを前提に、松葉杖でサードパーティーのアプリケーションと連携する必要性。結局、それがあれば、MQL-programで研究ができるのです。

MT5の有用な情報はすべて「ロック」されているようなもので、実際にアクセスできるわけではありません。

GUIが表示されると同時に、松葉杖がなくなり、MT5での可能性が広がります。また、多くの新機能も搭載される予定です。

//-----------------------------------------------------------------------------------------------------------

私の信条は、「ユーザーインターフェイスとしてグラフィックインターフェイスを持たなければ、業務用プログラムは完成しない」です。切り離され、機械内部にロックされます。 常に違和感を感じながら作業することになります。そもそもプリミティブでシンプルなものであればGUIは不要ですが、トレーディングのような分野では、プログラムは常に進化し、ユーザーと対話する必要があります。これがないと、アルゴトレーディングという分野全体が頭打ちになり、発展が望めません。

 
Реter Konow:

自分の主張を述べます。

今、MT5プラットフォームは大きな可能性を秘めています。たくさんの可能性とライブラリーを。しかし、その一方で、MQL プログラムの開発は行き詰まりをみせている。

プラットフォーム内でプログラムを成長させる機会がないことが、さらなる 発展の障害になっています。

ユーザーは、GUIで制御するためのモジュールを置くことができなければ、ソフトウェアの機能をさらに拡張することはできません。

MQLプログラムにはGUIがないため、さらなる発展のための世界的な障壁となっています。レナートは、「幼稚な」1ページ番組の時代は終わったはずだ、と言った。私も完全に同意見です。しかし、トレーダーが「半ズボン」から抜け出す物理的可能性がないのに、どうして終わるのだろうか。

MQLプログラムにおけるGUIの欠如がもたらす結果を列挙してみよう。

  • ユーザーエクスペリエンスを高めるようなプログラムブロックをより多く組み合わせることができないこと。
  • ユーザーとそのプログラムとの対話の範囲を狭めたこと。
  • そのような本格的な半自動売買が存在しないこと。フルオートよりセミオートの 方がいいという人も多いでしょう。
  • プロがフル回転できない市場調査の不自由さ。
  • 統計の独自整備がない。
  • GUIがないことを前提に、松葉杖でサードパーティーのアプリケーションと連携する必要性。結局、あったらあったで、MQL-programで研究ができる。

MT5の有用な素材は、すべて内部に「閉じ込められて」いて、利用できないようなものです。

GUIが表示されると同時に、松葉杖がなくなり、MT5での可能性が開けます。また、多くの新機能が登場します。

//-----------------------------------------------------------------------------------------------------------

私の信条は、「複雑なプログラムは、ユーザーとの基本的なインタラクションであるグラフィック・インターフェースを持たなければ、完成したことにはならない」です。切り離され、機械の中に閉じ込められる。 いつも不快な思いをしている。そもそもプリミティブでシンプルなものであればGUIは不要ですが、トレーディングのような分野では、プログラムは常に進化し、ユーザーと対話する必要があります。これがないと、アルゴトレーディングという分野全体が頭打ちになり、発展が望めません。


私は100以上のインジケータと数十のロボットを作成し、最終的にそれが無意味であることを理解しましたが、私はいくつかの経験と理解を得ました。今、私は数年前から1台のロボットに取り組んでいますが、そこではインターフェイスは最後、人工知能がすべてです。レナートは、多ページのインターフェースが必要という意味ではなく、コードのページ数というか、そこに込められた努力やクリエイティブな発想の大きさを言いたかったのです。一方、マーケットにおいては、大半の商品が幼稚で役に立たない小物です。GUIとどう関係があるのでしょうか?GUIは、潜在的な購買者を混乱させたり、目にゴミを引いたり、その複雑さで怖がらせたりするだけです。今、あなたが取り組んでいるのは--ちなみにアナトリーも、失礼ですが--すべてラ・ウィンドウズ95です。現代人は、全く異なるインターフェースのパラダイムに慣れ、甘んじています。アンドロイド携帯やiPhoneのインターフェースを見てください。シンプルさ、ミニマリズム、直感性。そのために努力しなければならないのです。

例えば、Google.comを例にとると、どのようなインターフェースになっていますか?そして、この会社の資本金は半端 なく大きいのです。逆に、インターフェイスを最小限にする傾向があります。15年前のインターフェイスはもっと洗練されていましたし、数年後にはもっと控えめなインターフェイスになると思うからです。そして、GUIファッションの主なトレンドセッターでもあるのです。GUIの必要性を列挙するのは全て宣言的で大げさ、むしろGUIは関係ない(まあ、半自動売買の時だけ残せばいいんだけどね)。Googleの最新技術であるTensorFlowを見て みましょう。これは機械学習、AI技術、パターン認識の技術で、自動売買のプログラマーが使いこなせると非常に便利なのですが、この技術にはGUIが必要ありません。もし、あなたにとってOOP技術が役に立たないツールだとしたら、私は何を言っているのでしょう?

 
Nikolai Semko:

私自身、100以上のインジケーターと数十のロボットを作成しましたが、結局はすべてが無駄であることに気づいたので、レナートの言いたいことは完全に理解できますが、ある程度の経験と理解は得ることができました。今、私は数年前からあるロボットを作っていますが、そこではインターフェイスは最後、人工知能がすべてです。レナートは、多ページのインターフェースが必要という意味ではなく、コードのページ数というか、どれだけの努力と工夫がなされているかという話です。一方、マーケットにおいては、大半の製品が子供の遊び道具のようなものです。GUIとどう関係があるのでしょうか?GUIは、潜在的な購買者を混乱させたり、目にゴミを引いたり、その複雑さで怖がらせたりするだけです。今、あなたが取り組んでいるのは--ちなみにアナトリーも、失礼ですが--すべてアラウィンドウズ95です。現代人は、全く異なるインターフェースのパラダイムに慣れ、甘んじています。アンドロイド携帯やiPhoneのインターフェースを見てください。シンプルさ、ミニマリズム、直感性。そのために努力しなければならないのです。

例えば、Google.comを例にとると、どのようなインターフェースになっていますか?そして、この会社の資本金は半端 なく大きいのです。逆に、インターフェイスを最小限にする傾向があります。15年前のインターフェイスはもっと洗練されていましたし、数年後にはもっと控えめなインターフェイスになると思うからです。そして、GUIファッションの主なトレンドセッターでもあるのです。GUIの必要性を列挙するのは全て宣言的で大げさ、むしろGUIは関係ない(まあ、半自動売買の時だけ残せばいいんだけどね)。Googleの最新技術であるTensorFlowを見て みましょう。これは機械学習技術、AI技術、パターン認識で、自動売買のプログラマーが使いこなせると非常に便利なのですが、この技術にはGUIが必要ありません。もし、あなたにとってOOP技術が役に立たないツールだとしたら、私は何を言っているのでしょう?

ニコライ、私たちは理解しあえない)。

OOPは私個人にとっては本当に無駄なものですが、他の人にとっての有用 性を否定するものではありません。健康に使ってもらいましょう。

GUIは実用上必要なものです。GUIによって、プログラムをより複雑にするスペースが開かれます。現在不足しているクリエイティブなアイデアを実現するための環境を充実させることができます。番組の顔が見えるようになる。

MO(機械学習)は、逆にアルゴトレーディングを絶望的な行き止まりに導く。市場のプロセスを全く理解しない自動的な推測ゲーム。ブラックボックス化した統計的ドロドロのリサイクル。市場を理解し、自分なりの戦略を立てようとするトレーダーの意欲を削いでしまうのです。テクニカル分析のトレーニングやそれに関する記事は関係ないでしょう。トレーダーの思想の死期が来る。ブラックボックスで一掃される。

ニコライ 生態系は多様で豊かな環境である必要があるんだ。拡大する必要があります。アルゴトレーダーには新しいソフトウェアの機会が必要です。ただ、もう1つ開けたいんです)。


ところで、あなたもいよいよ大規模なプロジェクトに挑戦して、自分の能力を発揮するようになるはずです。自分でも欲しいと思っているような気がするけど、どうしようもない。せっかくクリエイティブな可能性を秘めた方なのに、残念です。ということで、デザインのデモを待っています。必ず見たいと願っています)。

 

Реter Konow:

...現在不足しているクリエイティブなアイデアを実現 するための環境を充実させることができます。プログラムに自分たちの顔を持たせることができるのです。

創造的な表現のための希少な環境」というのはどういう意味なのか、はっきりさせておく必要がありますね。誤解されそうで怖いんです。MT5は、アルゴリズム取引における創造的なアイデアのための非常に豊かな環境である可能性が あります。しかし、そのポテンシャルは、現在、トレーダーが2割から3割は使っていると思います

私が「貧弱な環境」と呼ぶのは、潜在的なものではなく、実用的な領域の現在の空間 である。正確な表現ではなかったかもしれません。

存在が意識を決める」という表現があります。

現在の創世記は、高い知的障壁の中で作られたGUIを持たないプログラムです。この「創世記」は、私たちの意識を決定づけ、GUIや半自動売買を求めないようにしました。私たちは、戦略の最適化の手段として、パラメータを歴史に当てはめることの意味を信じています。つまり、市場に対する理解を深めて戦略を改善するのではなく、歴史に適応していこうということです。つまり、自己欺瞞である。こ のように、私たちの意識は長年にわたって定義されてきました。そして、なぜか誰も最適化を露骨な目の上のたんこぶとは考えません。しかし、そのおかげで、テスターグレイルが手に入るのです。

どんな障壁も、頭の体操には有効ですが、自由な創造性には、今は障壁が多すぎます。アイデアの実現に役立つ存在もいれば、邪魔をする存在もいる。注-マークアップ言語を使って、私独自のグラフィカルな「マシン」を構築するのに、プログラミング言語の機能の ほんの一部しか必要としませんでした。そして、それはプログラミングの才能とはまったく関係なく、ただ物事を本質的に見分ける能力なのです。この能力がないと、いろいろなことに絶望的になって、自分の可能性に気づけないんです。物事を見るプリズムが、仕事の効率と才能の実用化の規模を決めるのです。

ただ、自分の自己実現で人の役に立ち、MT5を世界的なブレイクに導きたい。他にどうすればいいのでしょうか?一般的には、あなたやニコライやアナトリーのような才能ある人々が私を助けてくれれば、きっと山を動かすことができるでしょう)。

 
Реter Konow:

...ニコライやアナトリーのような才能ある人が手伝ってくれれば、間違いなく山は動きますよ)。

いや、すまないがピョートル、お前は自分で山を動かすのだ。そして、自分の山は自分で動かす。))
 
Nikolai Semko:
いや、ピーター、悪いけど、自分で山を動かすんだ。そして、私の山を動かす。))

私は「あなたのような」と言ったのであって、あなたではない)私の「山」を敷設するつもりはなかったのですが......)