MT4入門(8) – 通知に関する関数の使い方(1)

MetaTrader4入門の第8回目です。ちょっと間が空いてしまいましたが、インディケータの簡単な作り方は一通り説明したので、次は何にしようかと思案中でした。
常勝軍団の方で、アラームの使い方とかのリクエストがありましたので、今回は通知に関するいくつかの関数について説明します。
まずは、簡単なところから、Comment() 関数をご紹介します。
これは、チャートの左上に文字列や数値を表示する関数で、表示させたいものをコンマで区切って指定します。
例えば、現在のBid(売値)とAsk(買値)を表示させたい場合、
Comment(“Bid=”, Bid, ” Ask=”, Ask);
と書きます。書く場所は、start()関数の中で一回だけ実行されるところならどこでも構いません。最初に書いておけば確実です。
すると、ちょっと小さいですが、チャートの左上に
Bid=1.2101 Ask=1.2103
と表示されます。

ここで “Bid=” のようにそのまま表示させる文字列は ” で囲みます。
また Bid などの数値に置き換わる変数は変数名をそのまま書きます。
ちなみに Bid や Ask などは変数を定義しなくても使える予約変数です。
行が長くなって改行したい場合は、“\n” という文字列を書きます。
もう一つ応用として、現在の時間を表示させてみましょう。
この場合、LocalTime() という関数を使います。但し、これは1970年1月1日からの秒数を返すのでそのまま表示させても意味がありません。
そこで、それを時間のフォーマットに変換する TimeToStr() という関数を使います。
Comment()の中に
TimeToStr(LocalTime())
と書くと、
2006.04.09 04:39
のようなフォーマットで表示されます。秒も表示させたい場合、
TimeToStr(LocalTime(), TIME_DATE|TIME_SECONDS)
のように、TimeToStr() の2番目のパラメータに TIME_DATE|TIME_SECONDS を追加します。
但し、ここでローカルタイムと言っても日本時間からずれています。おそらくGMTになっていると思うので、その場合、+9時間進めなくてはいけないので、LocalTime() に9時間分の秒数を足します。つまり、9*60*60 を足して
LocalTime()+9*60*60
とします。Comment()関数に次のように書くと、Bid, Ask の前の行に時間を表示させることができます。
Comment(“LocalTime : “, TimeToStr(LocalTime()+9*60*60,TIME_DATE|TIME_SECONDS), “\n”, “Bid=”, Bid, ” Ask=”, Ask);

Comment() 関数は他にも、現在のインディケータの状態を表示させたり、インディケータプログラム中の変数を表示させて動作を確認を行ったりするのに役に立つでしょう。
続いて、インディケータなどが条件にマッチしたときに、音を出したり、画面にウインドウを表示させたりして知らせるためのAlert()という関数をご紹介したいと思います。
が、ちょっと今日は休日でレートが動いていないのでプログラムのチェックができません。また明日以降にお届けします。
にほんブログ村 為替ブログへ為替ブログランキング 現在15位
「次の記事も読んでみたい!」
と思った方はクリックにご協力ください。↑



コメントは受け付けていません