キャンドルカウンターの特徴
週の選択:
SelectedWeekパラメータでカウントする週を指定できます。
SelectedWeekが0の場合、すべての週が対象になり、全キャンドルが番号付けされます。
非ゼロの値を指定すると、その週のキャンドルのみが番号付けされます。
逆カウント:
NumberFirstCandleがfalseの場合、カウントは当日の最後のキャンドルから始まり、逆順に進行します。
動的フィルタリング:
指定した週(SelectedWeek)に基づいてキャンドルをフィルタリングし、他の週を無視します。
動的テキスト位置:
キャンドルが強気か弱気かに応じて、番号がキャンドルの上または下に配置されます。
テキストとキャンドルの間隔は、PriceOffsetFactorパラメータで調整できます。
視覚的カスタマイズ:
色、フォント、テキストサイズ、アンカースタイルを調整して外観を向上させることができます。
最適化されたパフォーマンス:
古いチャートオブジェクトを削除してから新しいものを作成し、チャートに不要なオーバーヘッドをかけません。
入力パラメータ
PriceOffsetFactor | テキストとキャンドルの間隔の動的ファクター。 | 0.5 |
InpTextColourAbove | 強気キャンドルの上に表示されるテキストの色。 | clrSpringGreen |
InpTextColourBelow | 弱気キャンドルの下に表示されるテキストの色。 | clrMediumOrchid |
InpFont | 番号を表示するためのフォントタイプ。 | "Arial" |
InpFontSize | フォントサイズ。 | 8 |
Anchor | テキストの位置決めのためのアンカータイプ(中央、上、下など)。 | ANCHOR_CENTER |
NumberFirstCandle | カウントを当日の最初のキャンドル(true)または最後のキャンドル(false)から始めるかを定義します。 | true |
SelectedWeek | カウントする週を選択(0 = すべての週)。 | 1 |
詳細な機能
1. 週によるフィルタリング
GetWeekOfMonth()関数が各キャンドルの月内の週を計算します。
if(SelectedWeek != 0 && currentWeek != SelectedWeek)の条件により、選択された週のキャンドルのみが処理されます。
2. 逐次カウント
日付が変わるとカウントがリセットされます(candleDay != previousDay)。
NumberFirstCandleがtrueの場合、カウントは当日の最初のキャンドルから始まります。
NumberFirstCandleがfalseの場合、カウントは当日の最後のキャンドルから始まり、逆順に続きます。
3. テキスト位置
クローズ価格がオープン価格より低い場合(弱気キャンドル)、テキストはキャンドルの上に配置されます。
クローズ価格がオープン価格より高い場合(強気キャンドル)、テキストはキャンドルの下に配置されます。
4. チャートオブジェクトの作成と更新
CreateText()関数がチャート上のオブジェクトを作成または更新します。
オブジェクトはObjectPrefixプレフィックスを使用して一意に命名され、衝突を避けます。
5. 自動クリーニング
DeleteObjects()関数がインジケーターが削除または再初期化されたときに作成されたすべてのグラフィカルオブジェクトを削除します。
