cAlgo API リファレンス

ChartFibonacci~ 【cAlgo API】

2020年10月27日

フィボナッチ系オブジェクト

フィボナッチリトレースメント、フィボナッチエクスパンジョン、 フィボナッチファンのインターフェースはそれぞれChartFibonacciBaseを継承して独自のインターフェースを経由してアクセスします。いずれもChart.DrawFibonacci~(...)で描画し、返り値でこれらの型を取得します。

ChartShape同様に特有のメンバとしては位置情報を持ってるだけなので、ChartFibonacciBaseのメンバさえ確認しておけば使えます

これらの独自インターフェースの説明はほぼ不要と思うので後回しにして、先にリトレースメントとエクスパンジョンのサンプルコードだけ書いておきます。

 

サンプルコード
// 冒頭にusing System.Linqが必要 
// 直近100本の高値安値を探す
int period = 100;
if (Bars.Count <= period) Bars.LoadMoreHistory();
var bars = Bars.Skip(Bars.Count - period);
var highest = Bars.HighPrices.Skip(Bars.Count - period).Max();
var hIndex = Bars.HighPrices.ToList().LastIndexOf(highest);
var lowest = Bars.LowPrices.Skip(Bars.Count - period).Min();
var lIndex = Bars.LowPrices.ToList().LastIndexOf(lowest);

// Fibonacci~の座標確定
var x1 = (hIndex <= lIndex ? hIndex : lIndex);
var x2 = (hIndex > lIndex ? hIndex : lIndex);
var y1 = (hIndex <= lIndex ? highest: lowest);
var y2 = (hIndex > lIndex ? highest : lowest);
var x3 = Bars.Count - 1;
var y3 = Bid;

// 描く
var retracement = Chart.DrawFibonacciRetracement("fibo_retracement", x1, y1, x2, y2, Color.Red);
var expansion = Chart.DrawFibonacciExpansion("fibo_expansion", x1, y1, x2, y2, x3, y3, Color.Yellow);
var fan = Chart.DrawFibonacciFan("fibo_fan", x1, y1, x2, y2, Color.Blue);
retracement.IsInteractive = expansion.IsInteractive = fan.IsInteractive = true;
retracement.LineStyle = LineStyle.DotsVeryRare;

// リトレースメントのレベル設定
var retDisplayLevels = new double[] { 0.0, 38.2, 50.0, 61.8, 100.0 };
foreach (var level in retracement.FibonacciLevels) {
    if (retDisplayLevels.Contains(level.PercentLevel)) level.IsVisible = true;
    else                                               level.IsVisible = false;
}

// エクスパンジョンののレベル設定
var exDisplayLevels = new double[] { 100.0, 161.8, 261.8};
foreach (var level in expansion.FibonacciLevels) {
    if (exDisplayLevels.Contains(level.PercentLevel)) level.IsVisible = true;
    else                                              level.IsVisible = false;
}

実行するとチャート上にフィボナッチリトレースメントとフィボナッチエクスパンジョンが表示されます。

 

 

ChartFibonacciRetracementインターフェース

public interface ChartFibonacciRetracement : ChartFibonacciBase, ChartObject

 

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

フィボナッチリトレースメント始点のX座標の時間を取得、設定します。

(double) Y1 {get; set;}

フィボナッチリトレースメント始点のY座標の価格を取得、設定します。

(DateTime) Time2 {get; set;}

フィボナッチリトレースメント終点のX座標の時間を取得、設定します。

(double) Y2 {get; set;}

フィボナッチリトレースメント終点のY座標の価格を取得、設定します。

ChartFibonacciBaseChartObjectのプロパティ

IsIntaractive、Name、Comment、Color、LineStyle、Thickness、FobonacciLevelsなど。プログラムから描画した場合FibonacciLevelsは設定必須です。初期状態だと18本ものラインが表示されて使い物になりません。

 

 

ChartFibonacciExpansionインターフェース

public interface ChartFibonacciExpansion : ChartFibonacciBase, ChartObject

 

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

フィボナッチエクスパンジョン始点のX座標の時間を取得、設定します。

(double) Y1 {get; set;}

フィボナッチエクスパンジョン始点のY座標の価格を取得、設定します。

(DateTime) Time2 {get; set;}

フィボナッチエクスパンジョン第2点のX座標の時間を取得、設定します。

(double) Y2 {get; set;}

フィボナッチエクスパンジョン第2点のY座標の価格を取得、設定します。

(DateTime) Time3 {get; set;}

フィボナッチエクスパンジョン第3点のX座標の時間を取得、設定します。

(double) Y3 {get; set;}

フィボナッチエクスパンジョン第3点のY座標の価格を取得、設定します。

ChartFibonacciBaseChartObjectのプロパティ

IsIntaractive、Name、Comment、Color、LineStyle、Thickness、FobonacciLevelsなど。FibonacciLevelsは7本。人によっては200%のラインが欲しいかもしれませんが、そのときは不要なFibonacciLevelの.PercentLevelを書き換えて使ってください。

 

 

ChartFibonaccieFanインターフェース

public interface ChartFibonacciFan : ChartFibonacciBase, ChartObject

 

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

フィボナッチファン始点のX座標の時間を取得、設定します。

(double) Y1 {get; set;}

フィボナッチファン始点のY座標の価格を取得、設定します。

(DateTime) Time2 {get; set;}

フィボナッチファン終点のX座標の時間を取得、設定します。

(double) Y2 {get; set;}

フィボナッチファン終点のY座標の価格を取得、設定します。

ChartFibonacciBaseChartObjectのプロパティ

IsIntaractive、Name、Comment、Color、LineStyle、Thicknessなど。

 

-cAlgo API リファレンス
-, ,

© 2024 cTrader's Life Powered by AFFINGER5