cAlgo API リファレンス

その他の型【cAlgo API】

2020年11月11日

cAlgoで定義されているその他の型

解説のタイミングを失ったもろもろの型をここでまとめて説明します。

 

IReadonlyListインターフェース

public interface IReadonlyList : IEnumerable

読み取り専用のリストです。C#のSystem.CllectionsのListの読み取り専用版と思っていいです。

プロパティ
(要素の型) this[int index]

index番目の要素を取得します。

(int) Count

要素数を取得します。

 

 

MarketHoursインターフェース

SymbolInfoがプロパティとして持つ、マーケットの開いてる時間を取得するためのインターフェースですが、FXではあまり使いません。

public interface MarketHours

 

プロパティ
(IReadOnlyList<TradingSession>) Sessions

TradingSessionのリストを取得します。1週間の相場の空いてる時間を。

 

メソッド
(bool) IsOpened( [(DataTime) datetime] )

datetimeにマーケットが開いているかどうか。引数省略で今現在開いているかどうかを返します。

(TimeSpan) TimeTillClose()

マーケットが閉まるまでの時間を返します。しまっている時に呼び出すと0を返します。

(TimeSpan) TimeTillOpen()

マーケットが開くまでの時間を返します。開いている時に呼び出すと0を返します。

 

 

TradingSessionインターフェース

MarketHoursが持つ、マーケットが何曜日の何時に開いて、何曜日の何時にしまるかという情報を取得するためのインターフェースです。

public interface TradingSession

 

プロパティ
(DayOfWeek) StartDay

開始する曜日を取得します。DayOfWeekは曜日を表すC#(.NetのSystem名前空間)の列挙型です。

(DayOfWeek) EndDay

終了する曜日を取得します。

(TimeSpan) StartTime

開始時間を取得します。日付データを持たないためDataTime型ではなくTimeSpan型です。

(TimeSpan) EndTime

終了時間を取得します。

 

サンプルコード

説明読むより、サンプル実行してもらった方がわかりやすいと思います。

// ゴールドの取引可能時間をログに出力する
var xauusd = Symbols.GetSymbolInfo("XAUUSD");
if (xauusd == null) Stop();
var marketHours = xauusd.MarketHours;
foreach(var sess in marketHours.Sessions) {
    Print("{0}-{1}から{2}-{3}", sess.StartDay, sess.StartTime, sess.EndDay, sess.EndTime);
}

FXだとわかりにくいのでゴールド(XAUUSD)のMarketHoursを取得して各TradingSessionを表示しています。Symbol名が異なるブローカーを使ってる場合は"XAUUSD"の部分を書き換えてください。

 

 

余談ですが、ここで紹介したインターフェースやIAccount等はcAlgo.API.Internals名前空間で定義されてるためか、公式リファレンスの目次に見当たりません。(説明ページ自体はありますが。)

内部用とはいえ、わからないと使えないので、目次ページに追加してくれてもいい気がします。

 

-cAlgo API リファレンス
-

© 2021 cTrader's Life Powered by AFFINGER5