マーケット営業時間

cBots (自動売買)

概要

シンボルの取引セッションスケジュールへのアクセス

シグネチャ

1
public abstract interface MarketHours

 

名前空間

cAlgo.API.Internals

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 using cAlgo.API;
 using cAlgo.API.Internals;
 using System;
 namespace cAlgo
 {
     // このサンプルインジケーターは、シンボルMarketHoursの使い方を示します
     [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
     public class MarketHoursSample : Indicator
     {
         private TextBlock _isOpenedTextBlock;
         private TextBlock _timeTillCloseTextBlock;
         private TextBlock _timeTillOpenTextBlock;
         private Symbol _symbol;
         [Parameter("現在のシンボルを使用する", DefaultValue = true)]
         public bool UseCurrentSymbol { get; set; }
         [Parameter("その他のシンボル名", DefaultValue = "GBPUSD")]
         public string OtherSymbolName { get; set; }
         protected override void Initialize()
         {
             var grid = new Grid(6, 2)
             {
                 BackgroundColor = Color.Gold,
                 Opacity = 0.6,
                 HorizontalAlignment = HorizontalAlignment.Center,
                 VerticalAlignment = VerticalAlignment.Center,
             };
             var style = new Style();
             style.Set(ControlProperty.Padding, 1);
             style.Set(ControlProperty.Margin, <span="m">2);
             style.Set<span="p">(<span="n">ControlProperty<span="p">.<span="n">BackgroundColor<span="p">, <span="n">Color<span="p">.<span="n">Black<span="p">);
             <span="n">style<span="p">.<span="n">Set<span="p">(<span="n">ControlProperty<span="p">.<span="n">FontSize<span="p">, <span="m">8<span="p">);
             <span="n">_symbol <span="o">= <span="n">UseCurrentSymbol <span="o">? <span="n">Symbol <span="p">: <span="n">Symbols<span="p">.<span="n">GetSymbol<span="p">(<span="n">OtherSymbolName<span="p">);
             <span="n">grid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock <span="p">{ <span="n">Text <span="o">= <span="s">"シンボル情報"<span="p">, <span="n">Style <span="o">= <span="n">style<span="p">, <span="n">HorizontalAlignment <span="o">= <span="n">HorizontalAlignment<span="p">.<span="n">Center <span="p">}, <span="m">0<span="p">, <span="m">0<span="p">, <span="m">1<span="p">, <span="m">2<span="p">);
             <span="n">grid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock <span="p">{ <span="n">Text <span="o">= <span="s">"オープンまでの時間"<span="p">, <span="n">Style <span="o">= <span="n">style <span="p">}, <span="m">1<span="p">, <span="m">0<span="p">);
             <span="n">_timeTillOpenTextBlock <span="o">= <span="k">new <span="n">TextBlock <span="p">{ <span="n">Text <span="o">= <span="n">_symbol<span="p">.<span="n">MarketHours<span="p">.<span="n">TimeTillOpen<span="p">().<span="n">ToString<span="p">(), <span="n">Style <span="o">= <span="n">style <span="p">};
             <span="n">grid<span="p">.<span="n">AddChild<span="p">(<span="n">_timeTillOpenTextBlock<span="p">, <span="m">1<span="p">, <span="m">1<span="p">);
             <span="n">grid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock <span="p">{ <span="n">Text <span="o">= <span="s">"クローズまでの時間"<span="p">, <span="n">Style <span="o">= <span="n">style <span="p">}, <span="m">2<span="p">, <span="m">0<span="p">);
             <span="n">_timeTillCloseTextBlock <span="o">= <span="k">new <span="n">TextBlock <span="p">{ <span="n">Text <span="o">= <span="n">_symbol<span="p">.<span="n">MarketHours<span="p">.<span="n">TimeTillClose<span="p">().<span="n">ToString<span="p">(), <span="n">Style <span="o">= <span="n">style <span="p">};
             <span="n">grid<span="p">.<span="n">AddChild<span="p">(<span="n">_timeTillCloseTextBlock<span="p">, <span="m">2<span="p">, <span="m">1<span="p">);
             <span="n">grid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock <span="p">{ <span="n">Text <span="o">= <span="s">"オープン済み"<span="p">, <span="n">Style <span="o">= <span="n">style <span="p">}, <span="m">3<span="p">, <span="m">0<span="p">);
             <span="n">_isOpenedTextBlock <span="o">= <span="k">new <span="n">TextBlock <span="p">{ <span="n">Text <span="o">= <span="n">_symbol<span="p">.<span="n">MarketHours<span="p">.<span="n">IsOpened<span="p">().<span="n">ToString<span="p">(), <span="n">Style <span="o">= <span="n">style <span="p">};
             <span="n">grid<span="p">.<span="n">AddChild<span="p">(<span="n">_isOpenedTextBlock<span="p">, <span="m">3<span="p">, <span="m">1<span="p">);
             <span="n">grid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock <span="p">{ <span="n">Text <span="o">= <span="s">"取引セッション数"<span="p">, <span="n">Style <span="o">= <span="n">style <span="p">}, <span="m">4<span="p">, <span="m">0<span="p">);
             <span="n">grid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock <span="p">{ <span="n">Text <span="o">= <span="n">_symbol<span="p">.<span="n">MarketHours<span="p">.<span="n">Sessions<span="p">.<span="n">Count<span="p">.<span="n">ToString<span="p">(), <span="n">Style <span="o">= <span="n">style <span="p">}, <span="m">4<span="p">, <span="m">1<span="p">);
             <span="n">grid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock <span="p">{ <span="n">Text <span="o">= <span="s">"取引セッション曜日"<span="p">, <span="n">Style <span="o">= <span="n">style <span="p">}, <span="m">5<span="p">, <span="m">0<span="p">);
             <span="kt">var <span="n">weekDays <span="o">= <span="kt">string<span="p">.<span="n">Empty<span="p">;
             <span="k">for <span="p">(<span="kt">var <span="n">iSession <span="o">= <span="m">0<span="p">; <span="n">iSession <span="o">< <span="n">_symbol<span="p">.<span="n">MarketHours<span="p">.<span="n">Sessions<span="p">.<span="n">Count<span="p">; <span="n">iSession<span="o">++<span="p">)
             <span="p">{
                 <span="kt">var <span="n">currentSessionWeekDays <span="o">= <span="kt">string<span="p">.<span="n">Format<span="p">(<span="s">"{0}({1})-{2}({3})"<span="p">, <span="n">_symbol<span="p">.<span="n">MarketHours<span="p">.<span="n">Sessions<span="p">[<span="n">iSession<span="p">].<span="n">StartDay<span="p">, <span="n">_symbol<span="p">.<span="n">MarketHours<span="p">.<span="n">Sessions<span="p">[<span="n">iSession<span="p">].<span="n">StartTime<span="p">, <span="n">_symbol<span="p">.<span="n">MarketHours<span="p">.<span="n">Sessions<span="p">[<span="n">iSession<span="p">].<span="n">EndDay<span="p">, <span="n">_symbol<span="p">.<span="n">MarketHours<span="p">.<span="n">Sessions<span="p">[<span="n">iSession<span="p">].<span="n">EndTime<span="p">);
                 <span="n">weekDays <span="o">= <span="n">iSession <span="o">== <span="m">0 <span="o">? <span="n">currentSessionWeekDays <span="p">: <span="kt">string<span="p">.<span="n">Format<span="p">(<span="s">"{0}, {1}"<span="p">, <span="n">weekDays<span="p">, <span="n">currentSessionWeekDays<span="p">);
             <span="p">}
             <span="n">grid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock <span="p">{ <span="n">Text <span="o">= <span="n">weekDays<span="p">, <span="n">Style <span="o">= <span="n">style <span="p">}, <span="m">5<span="p">, <span="m">1<span="p">);
             <span="n">Chart<span="p">.<span="n">AddControl<span="p">(<span="n">grid<span="p">);
             <span="n">Timer<span="p">.<span="n">Start<span="p">(<span="n">TimeSpan<span="p">.<span="n">FromSeconds<span="p">(<span="m">1<span="p">));
         <span="p">}
         <span="k">protected <span="k">override <span="k">void <span="nf">OnTimer<span="p">()
         <span="p">{
             <span="n">_timeTillOpenTextBlock<span="p">.<span="n">Text <span="o">= <span="n">_symbol<span="p">.<span="n">MarketHours<span="p">.<span="n">TimeTillOpen<span="p">().<span="n">ToString<span="p">();
             <span="n">_timeTillCloseTextBlock<span="p">.<span="n">Text <span="o">= <span="n">_symbol<span="p">.<span="n">MarketHours<span="p">.<span="n">TimeTillClose<span="p">().<span="n">ToString<span="p">();
             <span="n">_isOpenedTextBlock<span="p">.<span="n">Text <span="o">= <span="n">_symbol<span="p">.<span="n">MarketHours<span="p">.<span="n">IsOpened<span="p">().<span="n">ToString<span="p">();
         <span="p">}
         <span="k">public <span="k">override <span="k">void <span="nf">Calculate<span="p">(<span="kt">int <span="n">index<span="p">)
         <span="p">{
         <span="p">}
     <span="p">}
 <span="p">}

関連項目

  • cAlgo.API.Internals.MarketHours

メソッド

IsOpened (2)

IsOpened (1 of 2)

概要

取引セッションがアクティブかどうかを示します

シグネチャ

1
public <span="k">abstract <span="kt">bool <span="nf">IsOpened<span="p">()

 

戻り値

bool

IsOpened (2 of 2)

概要

取引セッションがアクティブかどうかを示します

シグネチャ

1
public <span="k">abstract <span="kt">bool <span="nf">IsOpened<span="p">(<span="n">DateTime <span="n">datetime<span="p">)

 

パラメータ

名前説明
datetimeDateTimeチェックする日付と時間

戻り値

bool

TimeTillClose

概要

現在の取引セッションの終了までの残り時間。セッションがアクティブでない場合は0を返します

シグネチャ

1
public <span="k">abstract <span="n">TimeSpan <span="nf">TimeTillClose<span="p">()

 

戻り値

TimeSpan

TimeTillOpen

概要

新しい取引セッションの開始までの残り時間。セッションが既にアクティブであれば0を返します

シグネチャ

1
public <span="k">abstract <span="n">TimeSpan <span="nf">TimeTillOpen<span="p">()

 

戻り値

TimeSpan

プロパティ

Sessions

概要

すべてのシンボルの取引セッションのリスト

シグネチャ

1
public <span="k">abstract <span="n">IReadonlyList<span="o"><<span="n">TradingSession<span="o">> <span="n">Sessions <span="p">{<span="k">get<span="p">;}

 

戻り値

IReadonlyList