MQL4 CLabel と CButton を CAppDialog に載せる

MQL4でボタンを作成していましたが、よりトレードに使えるパネルを CAppDialog と CLabel を使って作成してみたいと思います



CAppDialog

 

トレードパネルを作成する上で、ベタでオブジェクトを組み合わせて作成するよりも、
MQL5でのクラスを利用したほうが後々便利だと思います
 
以下のMQL5の記事を参考にやってみます
ただMQL4ではうまく機能しない部分もあります
 

近年、為替市場の為のトレードロボットの数は、雪だるま式に増えています。これらのトレードロボットの中には、様々な概念や戦略がありますが、負けない人工知能の作成は誰も成し遂げていません。その為、多くのトレーダーは手動取引を支持しています。しかし、このようなスペシャリストの為に、トレードパネルと呼ばれるロボットアシスタントが...
" class="blog-card-thumbnail-link">
近年、為替市場の為のトレードロボットの数は、雪だるま式に増えています。これらのトレードロボットの中には、様々な概念や戦略がありますが、負けない人工知能の作成は誰も成し遂げていません。その為、多くのトレーダーは手動取引を支持しています。しかし、このようなスペシャリストの為に、トレードパネルと呼ばれるロボットアシスタントが...
 

 

パネルをCAppDialogで作成

 

最初に基本的なダイアログを作ります
大まかな流れとして

  • Dialog.mqhのインクルード
    • ..\MQL4\Include\Controls\Dialog.mqh ヘッダーファイルのインクルードします
       
  • カスタムクラスを定義
    • CAppDialogを継承したユーザーが決めたクラス、 CTestPanel クラスを定義してCreate
       
  • オブジェクトの作成
    • CTestPanel からオブジェクト(インスタンス)であるTPanelを作成
      OnInit() でCreateして実行、Run()

TestPanel-1.mq4

シンプルなパネルをチャートに表示できました

 

CLabl を載せる

 

次はこのPanelにLabelを載せてみます

  • Label.mqhのインクルード
    • ..\MQL4\Include\Controls\Label.mqh ヘッダーファイルのインクルードします
       
  • カスタムクラスを定義
    • CAppDialogを継承したユーザーが決めたクラス、 CTestPanel クラスにCLabelを追加
    • CreateLabel() を定義
       
  • オブジェクトの作成
    • CTestPanel からオブジェクト(インスタンス)であるTPanelを作成
    • CreateLabelで位置、テキストなどを作成
      OnInit() でオブジェクトをCreateして実行、Run()

TestPanel-Label.mq4

 

CAppDialogに CButton を配置

 

CButtonをCAppDialogに乗せてみたいと思います
容量としてはCLabelと同様です

クリック動作はMQL5ではEVENT_MAPを使うと細かく操作できますが
MQL4ではうまくいかないところもあり OnChartEvent() を使います

TestPanel-Button.mq4

ボタンを載せたパネルができました




シェアする

  • このエントリーをはてなブックマークに追加

フォローする