cAlgo API リファレンス

ChartStaticText【cAlgo API】

2020年10月26日

チャート上に常に置いておく固定テキスト

チャート上に常に表示させておきたい情報ってありますよね。いま動いてるcBotのバージョン情報とか、cBotが解析した現在のトレンド情報とか、内容はいろいろだと思いますが、要は時間経過でローソク足とともに流れていっては都合が悪い情報です。

普通にチャート上からマウスで描き込むテキストはローソク足の場所に紐づくため、時間経過で流れて行ってしまうのですが、プログラムからはチャート上に固定のテキストが描画できます

 

ChartStaticText インターフェース

チャート上の決まった場所に表示するテキストです。Chart.DrawStaticText(...)で描きます。

public interface ChartStaticText : ChartObject

もちろんChartObjectを継承してるんですが、実はコイツだけはIsIntaractiveプロパティが無効です。チャート上に表示されたStaticTextはマウスでは動かせません。

あとChartTextでは指定できるFontSizeも指定できません。(cTrader ver3.8時点)

 

プロパティ
(string) Text {get; set;}

テキストの内容を取得、設定します。

(Color) Color {get; set;}

テキストの色を取得、設定します。

(HorizontalAlignment) HorizontalAlignment {get; set;}

横位置を取得、設定します。なお、Stretchはテキストボックスが引き伸ばされるだけなので表示上はCenterと同じです。

(VerticalAlignment) VerticalAlignment {get; set;}

縦位置を取得、設定します。同上。

ChartObjectのプロパティ

Name、Commentなど。

 

 

HorizontalAlignment列挙型

テキストの横位置をいずれかで表します。

Left
Center 中央
Right
Stretch 左右に引き伸ばす

 

 

VerticalAlignment列挙型

テキストの縦位置をいずれかで表します。

Top
Center 中央
Bottom
Stretch 上下に引き伸ばす

位置はこれらの組み合わせなので全部で9種類となります。

 

サンプルコード
//cBot名とcTraderのバージョン情報をチャート右上に表示する
var text = this.ToString() + " ( on ctrader ver" + Application.Version.ToString() + ")";
Chart.DrawStaticText("version_info", text, VerticalAlignment.Top, HorizontalAlignment.Left, Color.White);

細かな位置が指定できなかったり、フォントサイズが小さかったりと、今一つ使いにくいのですが今後のアップデートに期待しましょう。

-cAlgo API リファレンス
-

© 2021 cTrader's Life Powered by AFFINGER5