チャート上のメモ的なやつ
ChartTextインターフェース
チャート上にローソク足の位置に紐づいたテキストボックスを表示します。チャートがスクロールされると一緒に動きます。
public interface ChartText : ChartObject
プロパティ
ほぼ見ればわかりますが、HorizontalAlignmentとVerticalAlignmentはChartStaticTextとは異なりテキストボックス内での位置を示します。
(string) Text {get; set;}
テキストの内容を取得、設定します。
(Color) Color {get; set;}
色を取得、設定します。
(double) FontSize {get; set;}
フォントサイズを取得、設定します。
(DateTime) Time {get; set;}
横位置をローソク足の時間で取得、設定します。
(double) Y {get; set;}
縦位置を価格で取得、設定します。
(bool) IsBold {get; set;}
太字かどうかを取得、設定します。
(bool) IsItalic {get; set;}
斜体かどうかを取得、設定します。
(bool) IsUnderlined {get; set;}
下線付きかどうかを取得、設定します。
(HorizontalAlignment) HorizontalAlignment {get; set;}
テキストボックス内の水平位置を取得、設定します。
(VerticalAlignment) VerticalAlignment {get; set;}
テキストボックス内の垂直位置を取得、設定します。
ChartObjectのプロパティ
IsAlive、IsIntaractive、Name、Commentなど。
サンプルコード
//直近20本最高値の位置にテキストを描く
double highest = Bars.HighPrices.Skip(Bars.Count - 20).Max();
int hIndex = Bars.HighPrices.ToList().LastIndexOf(highest);
var highestText = Chart.DrawText("highest_text", "直近最高値", hIndex, highest, Color.Green);
// 直近20本最安値の位置にテキスト描く
double lowest = Bars.LowPrices.Skip(Bars.Count - 20).Min();
int lIndex = Bars.LowPrices.ToList().LastIndexOf(lowest);
var lowestText = Chart.DrawText("lowest_text", "直近最安値", lIndex, lowest, Color.Red);
// サイズを20、太字にして、マウスで操作できるようにする。
highestText.FontSize = lowestText.FontSize = 20;
highestText.IsBold = lowestText.IsBold = true;
highestText.IsInteractive = lowestText.IsInteractive = true;
直近20本以内の最高値と最安値にテキストを描きます。なお、位置はテキストの左上が基準点となります。そのため、このコードだと最高値の位置は若干不自然に見えます。