*

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に公開されるので、問い合わせ等はメールでお願いします。

関連記事

第25回:EAに指値注文、逆指値注文でエントリーさせる

EAに指値注文、逆指値注文でエントリーさせる記述 これまでには決済で指値注文、逆指値注文をしてきま

記事を読む

MQL4とMQL5の違い(更新中)

・OrdersTotalの扱い MQL4でのOrdersTotalはMQL5ではPositions

記事を読む

MQLxPHP サーバを経由するコピートレードツールを作る1

以前、DLLなしで動くコピートレードツールを連載しましたが、 今回はサーバを経由するコピートレード

記事を読む

第21回:パラメータ設定で変更できる数値を作る

パラメータ変数の作り方 EAはMT4側で設定できるようにした方がユーザーフレンドリーです。

記事を読む

第5回:コンパイルとEAの生成

ここではソースコードからEAを生成します。 mqファイルのコンパイル ソースコードファイルは

記事を読む

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

    株、仮想通貨、それ以外の私に対するご連絡は
    infoあっとfxantenna.com
    まで

一回の演算で複数のリクエストを送る 仮想通貨の自動売買⑪

公開:2017/9/4 基本的にjson形式でAPIをたたく場合

コインチェックAPIで信用取引 仮想通貨の自動売買⑩

公開:2017/9/4 これまではAPIで現物取引を扱ってきまし

POLONIEXのAPIでビットコインのヒストリデータを取得 仮想通貨の自動売買⑨

公開:2017/9/4 国内の取引所でもAPIを発行している取引

APIでコインチェック、ZAIF、bitFlyerのレートの比較&トレード 仮想通貨の自動売買開発⑧

公開:2017/7/11 今回は業者間アービトラージに向け、PU

CoinCheck,bitFlyerにAPIでオーダーを出す 仮想通貨の自動売買開発⑦

公開:2017/7/10 「Private apiでそれぞれの取

→もっと見る

PAGE TOP ↑