【超シンプル】当日の高値、安値に自動で水平線を引くMT4インジケーター

最近、スキャルピング手法を
試しています(笑)。

 ▶前日高値、安値に自動で水平線を引くMT4インジケーター
 ▶過去5日間の高値安値にラインを引くタイプはこちら

サポートやレジスタンスに
なりそうな箇所にラインを
良く引きますが、
当日の高値や安値にもラインを
引くことも多いです。

そこで当日の高値、安値だけを
自動で表示するインジケーターを
作りました。

当日の高値、安値が更新されれば、
自動でラインも引き直されます。

当ブログで公開している
インジケーターのラインと見分けが
つくように、太いラインで
引くようにしました。

ソースはこちら↓ ※ご利用は自由ですが自己責任でお願いします。

//+------------------------------------------------------------------+
//|                                          High_Low_line_today.mq4 |
//+------------------------------------------------------------------+
#property strict
#property indicator_chart_window

extern bool ShowLines=true;
double today_high, today_low;


int init()
  {
//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
ObjectDelete("Today Low line");   
ObjectDelete("Today High line");      
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {

//----
today_high=iHigh(NULL, PERIOD_D1,0); 
today_low=iLow(NULL, PERIOD_D1,0);     

if (ShowLines==true && Period() < PERIOD_W1) {  
ObjectDelete("Today Low line");
ObjectCreate("Today Low line",OBJ_HLINE, 0, Time[0], today_low);
ObjectSet("Today Low line", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("Today Low line", OBJPROP_COLOR, Yellow);
ObjectSet("Today Low line", OBJPROP_WIDTH, 2);

ObjectDelete("Today High line");
ObjectCreate("Today High line",OBJ_HLINE, 0, Time[0], today_high);
ObjectSet("Today High line", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("Today High line", OBJPROP_COLOR, Yellow);      
ObjectSet("Today High line", OBJPROP_WIDTH, 2);
}   
//----
   return(0);
  }
//+------------------------------------------------------------------+

このブログでは「WCtake FX投資トレード手法」を実践しています。

MT4用のMACDを使用したアラートインジケーター

MACDは人気のテクニカル指標なので
FXのトレードに使っている方も多いと思います。

自分も最近よくMACDを使っているのですが、
やはりエントリータイミングに来たら
教えてほしいと思い、
MT4用のインジケーターを作りました。

音がなるタイミング(エントリータイミング)は
以下の2点が同時に満たされた時。

<買いエントリー>

  1. 5分足のMACDがゴールデンクロス
  2. 60分足でシグナル値よりもMACD値が大きい

<売りエントリー>

  1. 5分足のMACDがデッドクロス
  2. 60分足でシグナル値よりもMACD値が小さい

つまり5分足と60分足の両方とも
同じ方向にサインが出ている時です。

自分は5分足でエントリーの
タイミングを取るので、
上記条件でもそれぞれ1.が
エントリーのタイミングで、
2.でフィルターを掛けている感じです。

またゼロラインより上か下か、や
ダーバージェンスが発生したかしていないか等は見ていません。
自分の経験上、あまり関係ないような気がするので(笑)。

このブログでは「WCtake FX投資トレード手法」を実践しています。

MT4インジケーターでアラート時、音を鳴らさない方法

MT4でFXのトレードをしながら
インジケーターのアラート音は
鳴らしたくない。
そんな時があります。
PCで動画を見ている時とか、
何かに集中したいから一時的に、とか。

特にこのブログではアラート系の
インジケーターが多いので、
音が鳴る場合が多いのですが、
それが逆に煩わしい時もある(笑)

自分は結構ドラマを見ている時が
あり、突然アラート音が鳴って、
びっくりする時があります。
感動シーンだったりすると興覚めです(泣)

特にイヤホンで聞いている時。

ドラマのセリフを聴くために
いつもより音量を上げている時が
多く、アラート音も大きい。

簡単にアラート音を消せるように
インジケーターを改良しようと
思ったのですが、面倒くさい…。

簡単に音を消す方法はないものかと
調べていたら、ありました。


「ツール」>「オプション」>「音声設定」


この中の「Alert」部分を
ダブルクリックしアイコンに「×」が
つけばインジケーターの音が
鳴らなくなります。

注意しなけらばならないのは
元に戻すのを忘れてしまうことと、
すべてのアラート音が鳴らなくなること。
特定のアラート音のみ消すには
個々のインジケーターでの設定が必要です。

このブログでは「WCtake FX投資トレード手法」を実践しています。

MT4インジケーターが動かない、表示されない、見つからない時のトラブルシューティング

インジケーターが表示されない
というお問い合わせがたまにあります。

以下、2つのケースです。

1)インジケーター名がMT4の
ナビゲーターに表示されない場合。

2)当ブログではチャート上に
テキストや数値、ライン等を
表示させるインジケーターが多いので、
それがチャート上に表示されない場合。

上記2つのケースのトラブル
シューティングを下記に記載します。
該当する場合は参考にしてみてください。

インジケーター名がMT4のナビゲーターに表示されない場合

以下を参考にしてみてください。

ダウンロードしたファイルは拡張子がmq4になっていますか?

正しく入れたはずなのに表示されない場合は
これがもっとも可能性が高いかもしれません。

特にインジケーターをダウンロードした
ブラウザがIEまたはEdgeの場合。
ブラウザの仕様なのかダウンロードすると
htmlファイルになってしまいます。

もしダウンロードしたファイルの拡張子が
htmlになっているならば
mq4にファイルの拡張子を変更してください。
それで正しく動作するはずです。

更新あるいはMT4の再起動をしましたか?

これも「あるある」ですね。
インジケーターをセットしたらナビゲーター上の
「インディケータ」部分を右クリックして
「更新」するか、MT4を再起動しましょう。

インジケータのフォルダに入ってますか?

MT4画面の「ファイル」メニューの中にある
「データフォルダを開く」をクリック。
すると「MQL4」フォルダがあり、
その中の「Indicators」フォルダが
正しい配置場所です。

間違って違うフォルダに
入れていないか確認してみてください。

インジケータリストの正しい場所を見てますか?

あまり間違えようがないと思いますが
「インディケータ」ではない
箇所を見ていたり、
階層状になっているため、
違う階層を見ている可能性もあります。

MT4を使っていますか?

これまたあまりないと思いますが
MT5を使っている場合。

当ブログのインジケーターは
MT4用なので、MT5ではリストに
表示もされず、もちろん動作もしません。

OSはWindowsですか?

Macのエミュレーター上で動作しているMT4、
あるいはMac用のMT4(ってあるの?)で
使えるのかどうか、
残念ながら私にはわかりません。

どうしてもMT4を使いたいなら
Windowsパソコンをおすすめします。

チャート上にテキストや数値、ライン等が表示されない場合

こちら↓に詳しく書いてありますので参考にしてみてください。
MT4にインストールしたインジケーターが使えない

以上、インジケーターのトラブルシューティングでした。

このブログでは「WCtake FX投資トレード手法」を実践しています。

MT4インジケーターにアラートメール機能を追加する方法

このブログで公開しているインジケーターは
条件達成時にアラート画面の表示や
音を鳴らすというパターンが多いのですが、
それと同時にメールを配信できないか?

そんなリクエストをいただくことがあります。

簡単にメール配信機能を実装する方法を
書いておきますので、参考にしてみてください。

MT4のメール配信機能を利用する

もともとMT4にはメールを配信する機能が
付いていますので、それを使って
インジケーターのプログラムソースの条件部分に
メールを配信するSendMailコマンドを
追加するだけで条件達成時にメールを配信できます。

「コマンド」とか書いてあると
自分には難しそうだな、とか思う方も
いらっしゃるかもしれませんが、
普通のテキストファイルを修正できる人
であれば(=つまりほぼ全員?)、
できますのでご安心を。

ただし、そのインジケーターがコンパイル前
でないとプログラムコードを修正することが
できませんので、念のため。
このブログで公開しているインジケーターは
基本的にソースコードが見られるコンパイル前の
ファイルですので、この記事に記載する方法で
実装可能です。

何のことだかさっぱり…という方でも大丈夫。

ちなみに、
コンパイル前のファイルは拡張子が「mq4」、
コンパイル後のファイルは拡張子が「ex4」です。

要は、修正したいインジケーターの拡張子が
「mq4」であれば実装できる可能性がある
ということです。

アラートメール機能を追加する方法

下記3つの設定をすることで
アラートメール機能を利用することができます。

  • Yahoo! JAPANメールの設定(その他のメールでも可)
  • MT4のメール設定
  • インジケーターを修正

Yahoo! JAPANメールの設定

ここではYahoo! JAPANメールを使用する
場合を例にとります。
その他のメールの場合はググってください。

  1. メール画面の右端にある「設定・利用規約」をクリックすると表示される一番上の「メールの設定」をクリック。
  2. 今度はメール画面の左端にある「メール管理」の上から3番目「IMAP/POP/SMTPアクセスとメール転送」をクリック。
  3. 本文上から2番目の「Yahoo! JAPAN公式サービス以外からのアクセスも有効にする」をチェック。

    ※おそらく初めから上記画像のような設定になっていると思いますが、なっていない場合は同じように設定してください。ただし、設定を変更することによって今まで受けていた他のサービスに影響を及ぼす可能性があるので自己責任で。

MT4のメール設定

次はMT4のメール設定を行います。

  1. MT4の、ツール>オプションでオプションダイアログを開きます。
  2. 「E-メール」タブを開きます。
  3. 「有効にする」のチェックボックスをチェック

各項目が入力可能な状態になりますので、
埋めていきます。
※下記はYahoo! JAPANメールを使う場合の例。
 その他の場合はググってください。

  • SMTPサーバー:smtp.mail.yahoo.co.jp:587
  • SMTPログインID:上で設定したYahoo! JAPANメールのID
  • SMTPパスワード:上で設定したYahoo! JAPANメールのパスワード
  • 発信元:上で設定したYahoo! JAPANメールのYahooメールアドレス
  • 送信元:配信先(受信したい)メールアドレス

※SMTPサーバーは「smtp.mail.yahoo.co.jp」の後に
 「:587」を付加してください。

メールテスト

設定したら一番下にある「テスト」ボタンを
クリックしてみましょう。

MT4ターミナルの「操作履歴」に
下図の2行目のように
「Mail: `Test message` has been sent」と
表示されればメールは送信されています。
1行目はエラーメッセージの例です。
設定等を見直し、再確認しましょう。

インジケーターを修正

最後はインジケーターの修正ですが
長くなるので簡単に(笑)

MT4ナビゲーターの該当インジケーターを
右クリックし上から2番目の「修正」を
クリックするとメタエディターが起動し、
プログラムコードの修正ができます。

当ブログのインジケーターはアラートを
表示するケースが多いので、
プログラムコードの中に
「Alert(~」という部分が多くあります(下図参照)。
ここが条件が揃った時にアラートを
表示する部分なので
その直後にSendMailコマンドを
追加すればアラート表示と同時に
メールも送られるということになります。

上図ではメールタイトルに「MA_Shrink_Alert」(インジ名)、
メール本文に通貨ペア名を示す「Symbol()」を
設定してメール送信するコードです。

修正が終わったら、エディター上部にある
「Compile」ボタンを押しましょう。

エディターのToolbox画面にエラー表示が
でなければOKです。

エラーがない場合。

エラーがある場合。

黄色の三角マークは警告ですので
ない方が望ましいですが、
エラーではないので、
インジケーターとしては作動します。

下図はスマホのメール受信画面。

上のメールがインジケーターから送られたメール、
下のメールがMT4メール設定時にテストしたメールです。

このブログでは「WCtake FX投資トレード手法」を実践しています。