*

MT4のチャート上にボタンを作る

公開日: : FX自動売買開発 , , , ,

現在のMT4は結構いろいろな機能が追加されていて、
DLLや拡張ファイルを使わずに、
EA単体でボタンやフォームを作ることが可能です。

ボタンをただ表示するだけでなく、
「ボタンを押したら××を実行する」
などのようなインタラクティブな機能を実装することができます。

(GUI拡張ソフトを売っていた業者さん涙目ですね)

ボタン操作は、OnChartEvent内に記述します。

これはティック更新のイベントとは別で、
チャート内でイベントが発生した際に呼び出されます。

ボタンは、
色、大きさ、文字、位置など
すべて自由に変更できます。

また、複数同時に表示させることもできるので、
EAを稼働させつつ、裁量トレードボタンを表示する、
なんていうことも可能になります。

bandicam-2016-12-28-15-47-06-958

応用版:外部ソフトなしでチャート上に操作パネルを表示する

Comment

  1. 山崎 より:

    ボタンスイッチすごく重宝しています
    しかしスイッチを複数同時に表示させる方法がどうしてもわからなく
    初めてメールさせていただきました

    お手数だとは思いますがどのように作ればいいのか教えてはいただけないでしょうか?
    よろしくお願いします

  2. kanrinin より:

    ボタンオブジェクトはオブジェクトの名前でそれぞれ区別することができます。
    http://fxantenna.com/post-1417/
    を例にすると、
    BUYボタン、SELLボタン、△、▽、各種時間足ボタンがありますが、
    それぞれ名前と座標を変えれば別物として扱えます。


    CreateButton("▲ CALL/BUY",200,70,30*1,30*10,clrRed,20);
    CreateButton("▼ PUT/SELL",200,70,30*1,30*6,clrBlue,20);

    CreateButton("1min", 40,20,20, 30*1+10,clrNavy,8);
    CreateButton("3min", 40,20,20+45*1,30*1+10,clrNavy,8);
    CreateButton("5min", 40,20,20+45*2,30*1+10,clrNavy,8);
    CreateButton("10min",40,20,20+45*3,30*1+10,clrNavy,8);
    CreateButton("60min",40,20,20+45*4,30*1+10,clrNavy,8);

    CreateButton("▲",15,15,110,80,clrNavy,5);
    CreateButton("▼",15,15,110,64,clrNavy,5);
    //CreateButtonはオリジナル関数

    あとはOnChartEvent内で

    if(id==CHARTEVENT_OBJECT_CLICK)
    {
    if(clickedChartObject==IntegerToString(30*1,3)+IntegerToString(30*10,3))
    {
    selected=ObjectGetInteger(ChartID(),IntegerToString(30*1,3)+IntegerToString(30*10,3),OBJPROP_STATE);
    if(selected)
    {
    //ボタン(BUY)が押された時の処理
    }
    }
    if(clickedChartObject==IntegerToString(30*1,3)+IntegerToString(30*6,3))
    {
    selected=ObjectGetInteger(ChartID(),IntegerToString(30*1,3)+IntegerToString(30*6,3),OBJPROP_STATE);
    if(selected)
    {
    //ボタン(SELL)が押された時の処理
    }
    }

    のときのようにifで分けて処理すればOKです。

Message

メールアドレスが公開されることはありません。

このコメントはWEBに公開されるので、問い合わせ等はメールでお願いします。

関連記事

第19回:for文で回す

MQLのfor文 プログラミングでは同じような処理を何回もしなければならないことがあります。

記事を読む

自動売買プログラム他 無料プレゼント 2019年2月

口座開設プレゼント企画 下記のリンクより口座開設していただいた方にお好きなツールを一つプレゼントし

記事を読む

第22回:チャート上にデータを表示させる

MT4のチャート上にデータを表示させる Comment()という関数を使うとビジュアルモードのバッ

記事を読む

【MT4MT5】チャート上にWEBサイトの情報を載せる その2

今回はWEBサイトから取得したデータのスクレイピングです。 スクレイピングとは、すごい長い文字列か

記事を読む

EA化できないインジケーターをむりやりEA化する方法

意外と知られていないようなので、ちょっとした小ネタです。 世の中にはいろいろなインジケーターが

記事を読む

 
  • ブログ管理人の横瀬兼元(ペンネーム)です。

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽者がいるらしいのでご注意ください。
バイナリーオプションで特定の手法が勝てるかどうか検証する方法

バイナリーオプションの場合、 リアルタイムの自動売買開発と過去検証の

【MQL4】シンプルに稼働するコピートレードツールを作る。その⑩

今回はリバーストレードができるように改良します。 端的に言うと、コピ

【一覧】シンプルに稼働するコピートレードツールを作る。

MT4以外のソフトを使わずに、DLLも使わずに、同一コンピュータ上で高

自動売買プログラム他 無料プレゼント 2019年2月

口座開設プレゼント企画 下記のリンクより口座開設していただいた方にお

MT4/MT5対応のFX/仮想通貨 業者 一覧

MT4とEAが利用可能な業者一覧 .brokers{

→もっと見る

PAGE TOP ↑