mt4チャート上にボタンとテキストフィールドを表示できるようになりました。 - ページ 2

 
良い
 

Ghostは、現在動作している0.3があります。0.2については不明ですが、0.3ではCHECKBOXとBUTTONSのテキストとbgcolorsは確実にサポートしています(残りは未実装です)。

チェックボックスのステータスを取得するために新しい関数を 定義する予定ですが、現在tbIsClicked(handle)はクリックを検出できるので、ステータスをキャッチする内部関数を作成することができます。

テキストボックスの値を取得するには

文字列tbGetText(ハンドル)

ボタンの値を取得する関数は予定されていませんが、ボタンのテキストを設定することはできます。

tbSetText( obj, text, fontsize, fontname ) で設定できます。

この関数は、ラベル、テキストフィールドなどの値も設定できます。

fx1

 
fx1.net:

ここで、mt4用の新しい無料アドオンをプレビューとして紹介したいと思います。現在、mt4guiという製品をテストしています。この製品は、ボタン、テキストフィールド、リストフィールドを直接チャートに配置することを可能にします。

http://fx1.net/wiki/uploads/img_7.png

ボタンはブローカー側のティックを待つことなく、クリック後すぐに反応します。来週にはさらに多くの機能を追加して、この製品を改良する予定です。なぜこれを投稿したかというと、コミュニティから何が必要なのかアイデアを 得るためです。もちろん、すべてが実現できるわけではありませんが、興味深いアイデアをここでフィルタリングします。

ここでは、非常に基本的なコードで使い方を説明します。

lib akaダイアグラムにオブジェクトを追加するのはどうでしょうか? winapi

重宝がる

 

Britanecです。

このようなオブジェクトは、バージョン1.0まですべての共通オブジェクトをリリースしたいので、この段階で実装するのは非常に複雑ですが、提案に感謝し、新しいアイデアについて教えてください。


fx1.net

 

前回の投稿では、あまり明確でなかったと思います。もう一度やってみましょう。

1) あなたの関数が 画面上にボタンを配置する方法は、mqlのObjectCreateとは少し異なります。コーナーに縛られないのです。そのため、下のコーナーに関連してオブジェクトを配置するには、負の座標が必要です。また、配置はチャートウインドウではなく、ウインドウ全体から行います。しかし、負の座標を持つボタンの横にテキストを配置することは、一般的なmql関数では不可能である、というか私にはできない。pxy関数は、チャートウィンドウにテキストを配置するのに適していますが、座標の与え方が違うので、うまくいきませんでした。

2)カラーがバージョン2で使えなくなった。バージョン3へのアップデートをありがとうございました。色については、もう全く問題ありません。素晴らしいです。

3) もう一度お尋ねしますが、御社のDLLのtbPutObject関数を使って、オブジェクトを別のサブウィンドウに配置することは可能でしょうか?それができれば、御社の製品は10倍価値があると私は考えています。トレードコンソールのようなものになり、ウィンドウ内で非常に管理しやすくなります。さらに、1.で挙げた座標の問題もすべて解決されるでしょう。

4) ここに掲載されているサンプルとfx1のサイトにあるサンプルは持っています。もちろん、deinitで各オブジェクトにtbRemoveを設定しています。ただ、エキスパートが削除されたときに、オブジェクトが削除されません。なぜなのかさっぱりわかりません。

もう一度、製品に感謝したいと思います。本当に素晴らしい製品で、まさに私が長い間探していたものです。

しかし、一つ注意したいことがあります。MT4のExpertAdvisorボタンがOFFの状態でボタンをクリックしても何も起こらないのは正しいのですが、ExpertAdvisorボタンを再度ONにした瞬間にEAがクリックしたコマンドを全て実行します。試しにExpertAdvisorがOFFの状態でBuyとSellの両方をクリックしたところ、ONにした瞬間に売買が行われました。これは修正する必要があると思います。

 

fx1.net : チャート上でコントロールが 非常に頻繁に点滅するのですが、この問題を解決することはできますか?点滅の頻度はティックデータに依存するのでしょうね。

 
Ghost: 私のビデオを見てください。もしカチカチ 音を立てるたびに削除して再適用すれば、このようなことが起こるかもしれませんが、そうでない場合は、多かれ少なかれ静止しているものです。少なくとも私側では。どのように実装したのか投稿していただけますか?
 
pro_:

前回の投稿では、あまり明確でなかったと思います。もう一度やってみましょう。

1) あなたの関数が画面上にボタンを配置する方法は、mqlのObjectCreateとは少し異なります。コーナーに縛られないのです。そのため、下のコーナーに関連してオブジェクトを配置するには、負の座標が必要です。また、配置はチャートウインドウではなく、ウインドウ全体から行います。しかし、負の座標を持つボタンの横にテキストを配置することは、一般的なmql関数では不可能である、というか私にはできない。pxy関数は、チャートウィンドウにテキストを配置するのに適していますが、座標の与え方が違うので、うまくいきませんでした。


pro_: はい、MQLは別のプロパティを設定することでこれを行い、位置を正に保っています。私は負の座標でも同じことができると信じているので、そのように実装しました。pxy関数について ですが、座標を少し修正することで理解できるようになります。.dllではチャートの軸などが見えないので、ウィンドウ全体が表示されます。一方、静止画のように見えるので、単純に幅と高さを測り、それに対してx,yのテキストを配置することができます。

2)カラーがバージョン2で使えなくなった。バージョン3へのアップデートをありがとうございました。色については、もう全く問題ありません。素晴らしいです。

v3はまだボタン、チェックボックスのカラーをサポートしていません。


3) もう一度お尋ねしますが、御社のDLLのtbPutObject関数を使って、オブジェクトを別のサブウィンドウに配置することは可能でしょうか?それができれば、御社の製品は10倍価値があると私は考えています。トレードコンソールのようなものになり、ウィンドウ内で非常に管理しやすくなります。さらに、1.で指摘した座標の問題もすべて解決します。

主な仕事は、チャートウィンドウに配置することです。ウィンドウを分けて配置することは非常に簡単ですが、現在私たちはその方法を選択しています。チャート上に配置するか、別のウィンドウに配置するかで、実装が若干異なります。今後のバージョンアップで対応する予定です。MDIウィンドウの大きさを変えずに、チャートを小さくすることができるようにする予定です。そうすれば、右側か下側に、追加のボタンを置くためのスペースを確保できます。チャートの横にあるボタンのように見えるでしょう。


4) ここに掲載されているサンプルとfx1のサイトにあるサンプルは持っています。もちろん、deinitで各オブジェクトにtbRemoveはしています。ただ、エキスパートが削除されたときにオブジェクトが削除されません。なぜなのか、さっぱりわかりません。

はい、確認しました。以前は動作していました。この重要な問題を確認するつもりです。

しかし、1つの問題があり、あなたの注意を喚起したいと思います。MT4のExpertAdvisorボタンがOFFの状態で、いずれかのボタンをクリックしても、何も起こらないのは正しいのですが、ExpertAdvisorボタンを再度ONにした瞬間に、EAがクリックしたコマンドをすべて実行します。試しにExpertAdvisorがOFFの状態でBuyとSellの両方をクリックしたところ、ONにした瞬間に売買が行われました。これは修正する必要があると思います。

はい、おっしゃる通りです。この問題は確認してませんでした。私はまたそれに取り組んでいきます。

mt4guiのテスト、ありがとうございました。

 

fx1.net: 私のコードを投稿する前に、あなたのサンプルコードをチェックするつもりです。

tbSetTextを使って、tickごとに ラベルのテキストを更新しているのが問題でしょうか?

アドオンにラジオボタンを追加する予定でしょうか?そうでない場合、チェックボックスのチェック状態を変更するにはどうしたらよいでしょうか?

 

tbRemoveとtbRemoveAllのバグがv0.4で修正されました。

チェックボックスの サポートが拡張されました。

int tbSetChecked(int,bool)。

int tbIsChecked(int)です。

サイト上のデモコードを更新しました。