ローソク足残り時間をチャートにリアルタイム表示|MT4・MT5インジケータ|Candle time
- 似たようなインジケータは沢山あったのですが、シンプル かつ ローソク足に追従 かつ なるべく更新して欲しい というものが見つからず・・・作ったものです!
このインジケーターでできること
CandleTimeは、現在のローソク足が確定するまでの残り時間(分:秒)をチャート上にリアルタイム表示するインジケーターです。トレードで「あと何秒で足が確定するか」を視覚的に把握できます。
表示例:
05:32
在の足の右端付近、直近の終値ライン上に MM:SS 形式で表示されます。
パラメーター設定
以下のパラメータを設定できます。
共通パラメーター
| パラメーター名 | デフォルト値 | 説明 |
|---|---|---|
ClockColor | Aqua | テキストの文字色 |
textGap | 0 | 縦方向のオフセット(ポイント単位)。0 = 現在の終値と同じ高さ |
textShift | 7 (MQ5) / 18 (MQ4) | 横方向のオフセット(スペース数)。値を増やすと右に移動 |
FontSize | 10 | フォントサイズ(pt) |
InpTimeFrame | 0 / PERIOD_CURRENT | 残り時間を計算する時間足。0またはPERIOD_CURRENTで現在のチャート時間足 |
パラメーターの使い方詳細
textGap — 縦位置の調整
デフォルト(0)では現在の終値と同じ価格座標にテキストを配置します。ローソク足と重なって見づらい場合は正の値を入力して上にずらします。通貨ペアによって随分差がありますので、ご留意ください。
textGap = 500 → 現在価格から500ポイント上に表示
textGap = -30 → 現在価格から30ポイント下に表示
textShift — 横位置の調整
OBJ_TEXTオブジェクトはX座標を時刻で指定するため、ピクセル単位での横オフセットが直接設定できません。このパラメーターはテキストの先頭にスペースを挿入することで横にずらす仕組みです。
textShift = 0 → ローソク足の開始時刻ぴったりから表示
textShift = 10 → スペース10個分右にシフト
textShift = 20 → さらに右にシフト
チャートのズームレベルや足の幅によって適切な値が変わります。見た目を確認しながら調整してください。
FontSize — フォントサイズ
テキストのポイントサイズを指定します。
FontSize = 8 → 小さめ
FontSize = 10 → 標準(デフォルト)
FontSize = 14 → 大きめ
InpTimeFrame — 計算する時間足
通常は現在のチャート足の残り時間を表示しますが、別の時間足を指定することもできます。たとえば5分足チャートを見ながら1時間足の残り時間を表示するといった使い方が可能です。
MQ4での値の指定方法:
| 設定する値 | 時間足 |
|---|---|
| 0 | 現在のチャート時間足 |
| 1 | M1 (1分) |
| 5 | M5 (5分) |
| 15 | M15 (15分) |
| 30 | M30 (30分) |
| 60 | H1 (1時間) |
| 240 | H4 (4時間) |
| 1440 | D1 (日足) |
MQ5ではENUM_TIMEFRAMESのドロップダウンから選択します。
質問
Q. 数字が表示されない
A. チャートに何らかの通貨ペアのデータが存在するか確認してください。CopyClose()やCopyTime()が失敗すると表示がスキップされます。
Q. 時間がずれている気がする
A. MQ4版はティックが来るたびに時刻を更新します。ティックが少ない通貨ペアや時間帯では数秒のずれが生じることがあります。MQ5版はその点を補間で改善していますが、どうしてもズレは生じることがあります。
Q. textShiftを0にしたらローソク足と重なる
A. OBJ_TEXTの時間座標が現在の足の開始時刻に設定されているため、重なるのは仕様です。textShiftを増やして右にずらしてください。チャートのズームによって適切な値が変わります。
注意事項
- このインジケーターはサーバー時刻をベースに計算します。ローカルPCの時刻とは関係ありません。
- リクォートやフィード断絶が発生するとカウントが一時的に止まることがあります。
InpTimeFrameに現在のチャートより長い時間足を設定すると、残り時間が数百分を超える値になることがあります。表示はMM:SS形式のためHH:MM:SSには対応していません。
