cAlgo API リファレンス

ChartTrendLine【cAlgo API】

2020年10月26日

トレンドライン

ChartTrendLineインターフェース

トレンドラインを操作するためのインターフェースです。Chart.DrawTrendLine(...)で描画し、返り値でこの型を取得します。

public interface ChartTrendLine : ChartObject

 

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

トレンドラインの色を取得、設定します。

(DateTime) Time1 {get; set;}

トレンドラインの開始点の横位置を取得、設定します。

(double) Y1 {get; set;}

トレンドラインの開始点の縦位置を取得、設定します。

(DateTime) Time2 {get; set;}

トレンドラインの終了点の横位置を取得、設定します。

 (double) Y2 {get; set;}

トレンドラインの終了点の縦位置を取得、設定します。

(LineStyle) LineStyle {get; set;}

ラインスタイルを取得、設定します。

(int) Thickness {get; set;}

線の太さを取得、設定します。

(bool) ExtendToInfinity {get; set;}

ラインをY2Time2方向に無限延長するかどうかを取得、設定します。

(bool) ShowAngle {get; set;}

角度を表示するかどうかを取得、設定します。これがtrueのChartTrendLineがRayです。

ChartObjectのプロパティ

IsAlive、IsIntaractive、Name、Commentなど。

 

メソッド
(double) CalculateY(int barIndex)

barindexのローソク足位置のトレンドラインの価格を計算し、返します。

(double) CalculateY(DateTime time)

time時点でのトレンドラインの価格を計算し、返します。

 

サンプルコード
// ファイル冒頭に using System.Linq が必要。
// 直近20本最高値とその前20本最高値を結ぶトレンドラインを引く
int period = 20;
var y2 = Bars.HighPrices.Skip(Bars.Count - period).Max();
var x2 = Bars.HighPrices.ToList().LastIndexOf(y2);
var y1 = Bars.HighPrices.Skip(Bars.Count - period*2).Take(period).Max();
var x1 = Bars.HighPrices.Take(Bars.Count - period).ToList().LastIndexOf(y1);
var trendLine  = Chart.DrawTrendLine("sample_trendline", x1, y1, x2, y2, Color.Red);
trendLine.IsInteractive = true;
trendLine.ExtendToInfinity = true;
// 一つ前のBarの終値がラインより上か下か見てみる
var closePrice = Bars.Last(1).Close;
var linePrice = trendLine.CalculateY(Bars.Count - 2);
if (closePrice > linePrice) Print("終値ははラインより上!");
else Print("終値はラインより下!");

ラインを意識したトレードをするcBotを作る場合、CalculateYはよく使います。

 

-cAlgo API リファレンス
-

© 2021 cTrader's Life Powered by AFFINGER5