StockSharp
2553 строки · 60.8 Кб
1#region S# License
2/******************************************************************************************
3NOTICE!!! This program and source code is owned and licensed by
4StockSharp, LLC, www.stocksharp.com
5Viewing or use of this code requires your acceptance of the license
6agreement found at https://github.com/StockSharp/StockSharp/blob/master/LICENSE
7Removal of this comment is a violation of the license agreement.
8
9Project: StockSharp.BusinessEntities.BusinessEntities
10File: ExchangeBoard_Instances.cs
11Created: 2015, 11, 11, 2:32 PM
12
13Copyright 2010 by StockSharp, LLC
14*******************************************************************************************/
15#endregion S# License
16namespace StockSharp.BusinessEntities
17{
18using System;
19using System.Linq;
20
21using Ecng.Common;
22using Ecng.Serialization;
23
24using StockSharp.Messages;
25
26partial class ExchangeBoard
27{
28private static readonly DateTime[] _russianSpecialWorkingDays = new DateTime[]
29{
30// http://www.rts.ru/a742
31new(2001, 3, 11),
32new(2001, 4, 28),
33new(2001, 6, 9),
34new(2001, 12, 29),
35
36// http://www.rts.ru/a3414
37new(2002, 4, 27),
38new(2002, 5, 18),
39new(2002, 11, 10),
40
41// http://www.rts.ru/a5194
42new(2003, 1, 4),
43new(2003, 1, 5),
44new(2003, 6, 21),
45
46// http://www.rts.ru/a6598
47// дат нет
48
49// http://www.rts.ru/a7751
50new(2005, 3, 5),
51new(2005, 5, 14),
52
53// http://www.rts.ru/a743
54new(2006, 2, 26),
55new(2006, 5, 6),
56
57// http://www.rts.ru/a13059
58new(2007, 4, 28),
59new(2007, 6, 9),
60
61// http://www.rts.ru/a15065
62new(2008, 5, 4),
63new(2008, 6, 7),
64new(2008, 11, 1),
65
66// http://www.rts.ru/a17902
67new(2009, 1, 11),
68
69// http://www.rts.ru/a19524
70new(2010, 2, 27),
71new(2010, 11, 13),
72
73// http://www.rts.ru/s355
74new(2011, 3, 5),
75
76// http://moex.com/a254
77new(2012, 3, 11),
78new(2012, 4, 28),
79new(2012, 5, 5),
80new(2012, 5, 12),
81new(2012, 6, 9),
82new(2012, 12, 29),
83
84// http://moex.com/a3367
85new(2016, 02, 20)
86};
87private static readonly DateTime[] _russianSpecialHolidays = new DateTime[]
88{
89// http://www.rts.ru/a742
90new(2001, 1, 1),
91new(2001, 1, 2),
92new(2001, 1, 8),
93new(2001, 3, 8),
94new(2001, 3, 9),
95new(2001, 4, 30),
96new(2001, 5, 1),
97new(2001, 5, 2),
98new(2001, 5, 9),
99new(2001, 6, 11),
100new(2001, 6, 12),
101new(2001, 11, 7),
102new(2001, 12, 12),
103new(2001, 12, 31),
104
105// http://www.rts.ru/a3414
106new(2002, 1, 1),
107new(2002, 1, 2),
108new(2002, 1, 7),
109new(2002, 2, 25),
110new(2002, 3, 8),
111new(2002, 3, 9),
112new(2002, 5, 1),
113new(2002, 5, 2),
114new(2002, 5, 3),
115new(2002, 5, 9),
116new(2002, 5, 10),
117new(2002, 6, 12),
118new(2002, 11, 7),
119new(2002, 11, 8),
120new(2002, 12, 12),
121new(2002, 12, 13),
122
123// http://www.rts.ru/a5194
124new(2003, 1, 1),
125new(2003, 1, 2),
126new(2003, 1, 3),
127new(2003, 1, 6),
128new(2003, 1, 7),
129new(2003, 2, 24),
130new(2003, 3, 10),
131new(2003, 5, 1),
132new(2003, 5, 2),
133new(2003, 5, 9),
134new(2003, 6, 12),
135new(2003, 6, 13),
136new(2003, 11, 7),
137new(2003, 12, 12),
138
139// http://www.rts.ru/a6598
140new(2004, 1, 1),
141new(2004, 1, 2),
142new(2004, 1, 7),
143new(2004, 2, 23),
144new(2004, 3, 8),
145new(2004, 5, 3),
146new(2004, 5, 4),
147new(2004, 5, 10),
148new(2004, 6, 14),
149new(2004, 11, 8),
150new(2004, 12, 13),
151
152// http://www.rts.ru/a7751
153new(2005, 1, 3),
154new(2005, 1, 4),
155new(2005, 1, 5),
156new(2005, 1, 6),
157new(2005, 1, 7),
158new(2005, 1, 10),
159new(2005, 2, 23),
160new(2005, 3, 7),
161new(2005, 3, 8),
162new(2005, 5, 2),
163new(2005, 5, 9),
164new(2005, 5, 10),
165new(2005, 6, 13),
166new(2005, 11, 4),
167
168// http://www.rts.ru/a743
169new(2006, 1, 2),
170new(2006, 1, 3),
171new(2006, 1, 4),
172new(2006, 1, 5),
173new(2006, 1, 6),
174new(2006, 1, 9),
175new(2006, 2, 23),
176new(2006, 2, 24),
177new(2006, 3, 8),
178new(2006, 5, 1),
179new(2006, 5, 8),
180new(2006, 5, 9),
181new(2006, 6, 12),
182new(2006, 11, 6),
183
184// http://www.rts.ru/a13059
185new(2007, 1, 1),
186new(2007, 1, 2),
187new(2007, 1, 3),
188new(2007, 1, 4),
189new(2007, 1, 5),
190new(2007, 1, 8),
191new(2007, 2, 23),
192new(2007, 3, 8),
193new(2007, 4, 30),
194new(2007, 5, 1),
195new(2007, 5, 9),
196new(2007, 6, 11),
197new(2007, 6, 12),
198new(2007, 11, 5),
199new(2007, 12, 31),
200
201// http://www.rts.ru/a15065
202new(2008, 1, 1),
203new(2008, 1, 2),
204new(2008, 1, 3),
205new(2008, 1, 4),
206new(2008, 1, 7),
207new(2008, 1, 8),
208new(2008, 2, 25),
209new(2008, 3, 10),
210new(2008, 5, 1),
211new(2008, 5, 2),
212new(2008, 6, 12),
213new(2008, 6, 13),
214new(2008, 11, 3),
215new(2008, 11, 4),
216
217// http://www.rts.ru/a17902
218new(2009, 1, 1),
219new(2009, 1, 2),
220new(2009, 1, 5),
221new(2009, 1, 6),
222new(2009, 1, 7),
223new(2009, 1, 8),
224new(2009, 1, 9),
225new(2009, 2, 23),
226new(2009, 3, 9),
227new(2009, 5, 1),
228new(2009, 5, 11),
229new(2009, 6, 12),
230new(2009, 11, 4),
231
232// http://www.rts.ru/a19524
233new(2010, 1, 1),
234new(2010, 1, 4),
235new(2010, 1, 5),
236new(2010, 1, 6),
237new(2010, 1, 7),
238new(2010, 1, 8),
239new(2010, 2, 22),
240new(2010, 2, 23),
241new(2010, 3, 8),
242new(2010, 5, 3),
243new(2010, 5, 10),
244new(2010, 6, 14),
245new(2010, 11, 4),
246new(2010, 11, 5),
247
248// http://www.rts.ru/s355
249new(2011, 1, 3),
250new(2011, 1, 4),
251new(2011, 1, 5),
252new(2011, 1, 6),
253new(2011, 1, 7),
254new(2011, 1, 10),
255new(2011, 2, 23),
256new(2011, 3, 7),
257new(2011, 3, 8),
258new(2011, 5, 2),
259new(2011, 5, 9),
260new(2011, 6, 13),
261new(2011, 11, 4),
262
263// http://moex.com/a254
264new(2012, 1, 2),
265new(2012, 2, 23),
266new(2012, 3, 8),
267new(2012, 3, 9),
268new(2012, 4, 30),
269new(2012, 5, 1),
270new(2012, 5, 9),
271new(2012, 6, 11),
272new(2012, 6, 12),
273new(2012, 11, 5),
274new(2012, 12, 31),
275
276// http://moex.com/a1343
277new(2013, 1, 1),
278new(2013, 1, 2),
279new(2013, 1, 3),
280new(2013, 1, 4),
281new(2013, 1, 7),
282new(2013, 3, 8),
283new(2013, 5, 1),
284new(2013, 5, 9),
285new(2013, 6, 12),
286new(2013, 11, 4),
287new(2013, 12, 31),
288
289// http://moex.com/a2973
290new(2014, 1, 1),
291new(2014, 1, 2),
292new(2014, 1, 3),
293new(2014, 1, 7),
294new(2014, 3, 10),
295new(2014, 5, 1),
296new(2014, 5, 9),
297new(2014, 6, 12),
298new(2014, 11, 4),
299new(2014, 12, 31),
300
301// http://moex.com/a2793
302new(2015, 1, 1),
303new(2015, 1, 2),
304new(2015, 1, 7),
305new(2015, 2, 23),
306new(2015, 3, 9),
307new(2015, 5, 1),
308new(2015, 5, 4),
309new(2015, 5, 11),
310new(2015, 6, 12),
311new(2015, 11, 4),
312new(2015, 12, 31),
313
314// http://moex.com/a3367
315new(2016, 1, 1),
316new(2016, 1, 7),
317new(2016, 1, 8),
318new(2016, 2, 23),
319new(2016, 3, 8),
320new(2016, 5, 2),
321new(2016, 5, 3),
322new(2016, 5, 9),
323new(2016, 6, 13),
324new(2016, 11, 4),
325};
326
327private static readonly WorkingTime _micexWorkingTime = new()
328{
329IsEnabled = true,
330Periods = new()
331{
332new()
333{
334Till = DateTime.MaxValue,
335Times = new()
336{
337new("10:00:00".To<TimeSpan>(), "18:45:00".To<TimeSpan>())
338},
339}
340},
341SpecialWorkingDays = _russianSpecialWorkingDays,
342SpecialHolidays = _russianSpecialHolidays,
343};
344
345private static ExchangeBoard CreateMoex(string code) => new()
346{
347Code = code,
348WorkingTime = _micexWorkingTime.Clone(),
349Exchange = Exchange.Moex,
350TimeZone = TimeHelper.Moscow,
351};
352
353private static readonly TimeZoneInfo _singaporeTime = "Singapore Standard Time".To<TimeZoneInfo>();
354private static readonly TimeZoneInfo _bangkokTime = "SE Asia Standard Time".To<TimeZoneInfo>();
355private static readonly TimeZoneInfo _indiaTime = "India Standard Time".To<TimeZoneInfo>();
356
357private static TimeZoneInfo GetTimeZone(string id, TimeSpan offset)
358{
359try
360{
361return id.To<TimeZoneInfo>();
362}
363catch (TimeZoneNotFoundException)
364{
365return TimeZoneInfo.GetSystemTimeZones().First(z => z.BaseUtcOffset == offset);
366}
367}
368
369/// <summary>
370/// Information about board <see cref="Associated"/>.
371/// </summary>
372public static ExchangeBoard Associated { get; } = new()
373{
374Code = SecurityId.AssociatedBoardCode,
375Exchange = Exchange.Test,
376};
377
378/// <summary>
379/// Information about board <see cref="Test"/>.
380/// </summary>
381public static ExchangeBoard Test { get; } = new()
382{
383Code = BoardCodes.Test,
384Exchange = Exchange.Test,
385};
386
387/// <summary>
388/// Information about board <see cref="Forts"/>.
389/// </summary>
390public static ExchangeBoard Forts { get; } = new()
391{
392Code = BoardCodes.Forts,
393WorkingTime = new()
394{
395IsEnabled = true,
396Periods = new()
397{
398new()
399{
400Till = DateTime.MaxValue,
401Times = new()
402{
403new("10:00:00".To<TimeSpan>(), "14:00:00".To<TimeSpan>()),
404new("14:03:00".To<TimeSpan>(), "18:45:00".To<TimeSpan>()),
405new("19:00:00".To<TimeSpan>(), "23:50:00".To<TimeSpan>())
406},
407}
408},
409SpecialWorkingDays = _russianSpecialWorkingDays,
410SpecialHolidays = _russianSpecialHolidays,
411},
412ExpiryTime = new TimeSpan(18, 45, 00),
413//IsSupportAtomicReRegister = true,
414Exchange = Exchange.Moex,
415TimeZone = TimeHelper.Moscow,
416};
417
418/// <summary>
419/// Information about board <see cref="Micex"/>.
420/// </summary>
421public static ExchangeBoard Micex { get; } = CreateMoex(BoardCodes.Micex);
422
423/// <summary>
424/// Information about board <see cref="MicexAuct"/>.
425/// </summary>
426public static ExchangeBoard MicexAuct { get; } = CreateMoex(BoardCodes.MicexAuct);
427
428/// <summary>
429/// Information about board <see cref="MicexAubb"/>.
430/// </summary>
431public static ExchangeBoard MicexAubb { get; } = CreateMoex(BoardCodes.MicexAubb);
432
433/// <summary>
434/// Information about board <see cref="MicexCasf"/>.
435/// </summary>
436public static ExchangeBoard MicexCasf { get; } = CreateMoex(BoardCodes.MicexCasf);
437
438/// <summary>
439/// Information about board <see cref="MicexEqbr"/>.
440/// </summary>
441public static ExchangeBoard MicexEqbr { get; } = CreateMoex(BoardCodes.MicexEqbr);
442
443/// <summary>
444/// Information about board <see cref="MicexEqbs"/>.
445/// </summary>
446public static ExchangeBoard MicexEqbs { get; } = CreateMoex(BoardCodes.MicexEqbs);
447
448/// <summary>
449/// Information about board <see cref="MicexEqdp"/>.
450/// </summary>
451public static ExchangeBoard MicexEqdp { get; } = CreateMoex(BoardCodes.MicexEqdp);
452
453/// <summary>
454/// Information about board <see cref="MicexEqeu"/>.
455/// </summary>
456public static ExchangeBoard MicexEqeu { get; } = CreateMoex(BoardCodes.MicexEqeu);
457
458/// <summary>
459/// Information about board <see cref="MicexEqus"/>.
460/// </summary>
461public static ExchangeBoard MicexEqus { get; } = CreateMoex(BoardCodes.MicexEqus);
462
463/// <summary>
464/// Information about board <see cref="MicexEqnb"/>.
465/// </summary>
466public static ExchangeBoard MicexEqnb { get; } = CreateMoex(BoardCodes.MicexEqnb);
467
468/// <summary>
469/// Information about board <see cref="MicexEqne"/>.
470/// </summary>
471public static ExchangeBoard MicexEqne { get; } = CreateMoex(BoardCodes.MicexEqne);
472
473/// <summary>
474/// Information about board <see cref="MicexEqnl"/>.
475/// </summary>
476public static ExchangeBoard MicexEqnl { get; } = CreateMoex(BoardCodes.MicexEqnl);
477
478/// <summary>
479/// Information about board <see cref="MicexEqno"/>.
480/// </summary>
481public static ExchangeBoard MicexEqno { get; } = CreateMoex(BoardCodes.MicexEqno);
482
483/// <summary>
484/// Information about board <see cref="MicexEqob"/>.
485/// </summary>
486public static ExchangeBoard MicexEqob { get; } = CreateMoex(BoardCodes.MicexEqob);
487
488/// <summary>
489/// Information about board <see cref="MicexEqos"/>.
490/// </summary>
491public static ExchangeBoard MicexEqos { get; } = CreateMoex(BoardCodes.MicexEqos);
492
493/// <summary>
494/// Information about board <see cref="MicexEqov"/>.
495/// </summary>
496public static ExchangeBoard MicexEqov { get; } = CreateMoex(BoardCodes.MicexEqov);
497
498/// <summary>
499/// Information about board <see cref="MicexEqlv"/>.
500/// </summary>
501public static ExchangeBoard MicexEqlv { get; } = CreateMoex(BoardCodes.MicexEqlv);
502
503/// <summary>
504/// Information about board <see cref="MicexEqdb"/>.
505/// </summary>
506public static ExchangeBoard MicexEqdb { get; } = CreateMoex(BoardCodes.MicexEqdb);
507
508/// <summary>
509/// Information about board <see cref="MicexEqde"/>.
510/// </summary>
511public static ExchangeBoard MicexEqde { get; } = CreateMoex(BoardCodes.MicexEqde);
512
513/// <summary>
514/// Information about board <see cref="MicexEqli"/>.
515/// </summary>
516public static ExchangeBoard MicexEqli { get; } = CreateMoex(BoardCodes.MicexEqli);
517
518/// <summary>
519/// Information about board <see cref="MicexEqqi"/>.
520/// </summary>
521public static ExchangeBoard MicexEqqi { get; } = CreateMoex(BoardCodes.MicexEqqi);
522
523/// <summary>
524/// Information about board <see cref="MicexSmal"/>.
525/// </summary>
526public static ExchangeBoard MicexSmal { get; } = CreateMoex(BoardCodes.MicexSmal);
527
528/// <summary>
529/// Information about board <see cref="MicexSpob"/>.
530/// </summary>
531public static ExchangeBoard MicexSpob { get; } = CreateMoex(BoardCodes.MicexSpob);
532
533/// <summary>
534/// Information about board <see cref="MicexTqbr"/>.
535/// </summary>
536public static ExchangeBoard MicexTqbr { get; } = CreateMoex(BoardCodes.MicexTqbr);
537
538/// <summary>
539/// Information about board <see cref="MicexTqde"/>.
540/// </summary>
541public static ExchangeBoard MicexTqde { get; } = CreateMoex(BoardCodes.MicexTqde);
542
543/// <summary>
544/// Information about board <see cref="MicexTqbs"/>.
545/// </summary>
546public static ExchangeBoard MicexTqbs { get; } = CreateMoex(BoardCodes.MicexTqbs);
547
548/// <summary>
549/// Information about board <see cref="MicexTqeu"/>.
550/// </summary>
551public static ExchangeBoard MicexTqeu { get; } = CreateMoex(BoardCodes.MicexTqeu);
552
553/// <summary>
554/// Information about board <see cref="MicexTqus"/>.
555/// </summary>
556public static ExchangeBoard MicexTqus { get; } = CreateMoex(BoardCodes.MicexTqus);
557
558/// <summary>
559/// Information about board <see cref="MicexTqnb"/>.
560/// </summary>
561public static ExchangeBoard MicexTqnb { get; } = CreateMoex(BoardCodes.MicexTqnb);
562
563/// <summary>
564/// Information about board <see cref="MicexTqne"/>.
565/// </summary>
566public static ExchangeBoard MicexTqne { get; } = CreateMoex(BoardCodes.MicexTqne);
567
568/// <summary>
569/// Information about board <see cref="MicexTqnl"/>.
570/// </summary>
571public static ExchangeBoard MicexTqnl { get; } = CreateMoex(BoardCodes.MicexTqnl);
572
573/// <summary>
574/// Information about board <see cref="MicexTqno"/>.
575/// </summary>
576public static ExchangeBoard MicexTqno { get; } = CreateMoex(BoardCodes.MicexTqno);
577
578/// <summary>
579/// Information about board <see cref="MicexTqob"/>.
580/// </summary>
581public static ExchangeBoard MicexTqob { get; } = CreateMoex(BoardCodes.MicexTqob);
582
583/// <summary>
584/// Information about board <see cref="MicexTqos"/>.
585/// </summary>
586public static ExchangeBoard MicexTqos { get; } = CreateMoex(BoardCodes.MicexTqos);
587
588/// <summary>
589/// Information about board <see cref="MicexTqov"/>.
590/// </summary>
591public static ExchangeBoard MicexTqov { get; } = CreateMoex(BoardCodes.MicexTqov);
592
593/// <summary>
594/// Information about board <see cref="MicexTqlv"/>.
595/// </summary>
596public static ExchangeBoard MicexTqlv { get; } = CreateMoex(BoardCodes.MicexTqlv);
597
598/// <summary>
599/// Information about board <see cref="MicexTqli"/>.
600/// </summary>
601public static ExchangeBoard MicexTqli { get; } = CreateMoex(BoardCodes.MicexTqli);
602
603/// <summary>
604/// Information about board <see cref="MicexTqqi"/>.
605/// </summary>
606public static ExchangeBoard MicexTqqi { get; } = CreateMoex(BoardCodes.MicexTqqi);
607
608/// <summary>
609/// Information about board <see cref="MicexEqrp"/>.
610/// </summary>
611public static ExchangeBoard MicexEqrp { get; } = CreateMoex(BoardCodes.MicexEqrp);
612
613/// <summary>
614/// Information about board <see cref="MicexPsrp"/>.
615/// </summary>
616public static ExchangeBoard MicexPsrp { get; } = CreateMoex(BoardCodes.MicexPsrp);
617
618/// <summary>
619/// Information about board <see cref="MicexRfnd"/>.
620/// </summary>
621public static ExchangeBoard MicexRfnd { get; } = CreateMoex(BoardCodes.MicexRfnd);
622
623/// <summary>
624/// Information about board <see cref="MicexTadm"/>.
625/// </summary>
626public static ExchangeBoard MicexTadm { get; } = CreateMoex(BoardCodes.MicexTadm);
627
628/// <summary>
629/// Information about board <see cref="MicexNadm"/>.
630/// </summary>
631public static ExchangeBoard MicexNadm { get; } = CreateMoex(BoardCodes.MicexNadm);
632
633/// <summary>
634/// Information about board <see cref="MicexPsau"/>.
635/// </summary>
636public static ExchangeBoard MicexPsau { get; } = CreateMoex(BoardCodes.MicexPsau);
637
638/// <summary>
639/// Information about board <see cref="MicexPaus"/>.
640/// </summary>
641public static ExchangeBoard MicexPaus { get; } = CreateMoex(BoardCodes.MicexPaus);
642
643/// <summary>
644/// Information about board <see cref="MicexPsbb"/>.
645/// </summary>
646public static ExchangeBoard MicexPsbb { get; } = CreateMoex(BoardCodes.MicexPsbb);
647
648/// <summary>
649/// Information about board <see cref="MicexPseq"/>.
650/// </summary>
651public static ExchangeBoard MicexPseq { get; } = CreateMoex(BoardCodes.MicexPseq);
652
653/// <summary>
654/// Information about board <see cref="MicexPses"/>.
655/// </summary>
656public static ExchangeBoard MicexPses { get; } = CreateMoex(BoardCodes.MicexPses);
657
658/// <summary>
659/// Information about board <see cref="MicexPseu"/>.
660/// </summary>
661public static ExchangeBoard MicexPseu { get; } = CreateMoex(BoardCodes.MicexPseu);
662
663/// <summary>
664/// Information about board <see cref="MicexPsdb"/>.
665/// </summary>
666public static ExchangeBoard MicexPsdb { get; } = CreateMoex(BoardCodes.MicexPsdb);
667
668/// <summary>
669/// Information about board <see cref="MicexPsde"/>.
670/// </summary>
671public static ExchangeBoard MicexPsde { get; } = CreateMoex(BoardCodes.MicexPsde);
672
673/// <summary>
674/// Information about board <see cref="MicexPsus"/>.
675/// </summary>
676public static ExchangeBoard MicexPsus { get; } = CreateMoex(BoardCodes.MicexPsus);
677
678/// <summary>
679/// Information about board <see cref="MicexPsnb"/>.
680/// </summary>
681public static ExchangeBoard MicexPsnb { get; } = CreateMoex(BoardCodes.MicexPsnb);
682
683/// <summary>
684/// Information about board <see cref="MicexPsne"/>.
685/// </summary>
686public static ExchangeBoard MicexPsne { get; } = CreateMoex(BoardCodes.MicexPsne);
687
688/// <summary>
689/// Information about board <see cref="MicexPsnl"/>.
690/// </summary>
691public static ExchangeBoard MicexPsnl { get; } = CreateMoex(BoardCodes.MicexPsnl);
692
693/// <summary>
694/// Information about board <see cref="MicexPsno"/>.
695/// </summary>
696public static ExchangeBoard MicexPsno { get; } = CreateMoex(BoardCodes.MicexPsno);
697
698/// <summary>
699/// Information about board <see cref="MicexPsob"/>.
700/// </summary>
701public static ExchangeBoard MicexPsob { get; } = CreateMoex(BoardCodes.MicexPsob);
702
703/// <summary>
704/// Information about board <see cref="MicexPsos"/>.
705/// </summary>
706public static ExchangeBoard MicexPsos { get; } = CreateMoex(BoardCodes.MicexPsos);
707
708/// <summary>
709/// Information about board <see cref="MicexPsov"/>.
710/// </summary>
711public static ExchangeBoard MicexPsov { get; } = CreateMoex(BoardCodes.MicexPsov);
712
713/// <summary>
714/// Information about board <see cref="MicexPslv"/>.
715/// </summary>
716public static ExchangeBoard MicexPslv { get; } = CreateMoex(BoardCodes.MicexPslv);
717
718/// <summary>
719/// Information about board <see cref="MicexPsli"/>.
720/// </summary>
721public static ExchangeBoard MicexPsli { get; } = CreateMoex(BoardCodes.MicexPsli);
722
723/// <summary>
724/// Information about board <see cref="MicexPsqi"/>.
725/// </summary>
726public static ExchangeBoard MicexPsqi { get; } = CreateMoex(BoardCodes.MicexPsqi);
727
728/// <summary>
729/// Information about board <see cref="MicexRpeu"/>.
730/// </summary>
731public static ExchangeBoard MicexRpeu { get; } = CreateMoex(BoardCodes.MicexRpeu);
732
733/// <summary>
734/// Information about board <see cref="MicexRpma"/>.
735/// </summary>
736public static ExchangeBoard MicexRpma { get; } = CreateMoex(BoardCodes.MicexRpma);
737
738/// <summary>
739/// Information about board <see cref="MicexRpmo"/>.
740/// </summary>
741public static ExchangeBoard MicexRpmo { get; } = CreateMoex(BoardCodes.MicexRpmo);
742
743/// <summary>
744/// Information about board <see cref="MicexRpua"/>.
745/// </summary>
746public static ExchangeBoard MicexRpua { get; } = CreateMoex(BoardCodes.MicexRpua);
747
748/// <summary>
749/// Information about board <see cref="MicexRpuo"/>.
750/// </summary>
751public static ExchangeBoard MicexRpuo { get; } = CreateMoex(BoardCodes.MicexRpuo);
752
753/// <summary>
754/// Information about board <see cref="MicexRpuq"/>.
755/// </summary>
756public static ExchangeBoard MicexRpuq { get; } = CreateMoex(BoardCodes.MicexRpuq);
757
758/// <summary>
759/// Information about board <see cref="MicexFbcb"/>.
760/// </summary>
761public static ExchangeBoard MicexFbcb { get; } = CreateMoex(BoardCodes.MicexFbcb);
762
763/// <summary>
764/// Information about board <see cref="MicexFbfx"/>.
765/// </summary>
766public static ExchangeBoard MicexFbfx { get; } = CreateMoex(BoardCodes.MicexFbfx);
767
768/// <summary>
769/// Information about board <see cref="MicexIrk2"/>.
770/// </summary>
771public static ExchangeBoard MicexIrk2 { get; } = CreateMoex(BoardCodes.MicexIrk2);
772
773/// <summary>
774/// Information about board <see cref="MicexRpqi"/>.
775/// </summary>
776public static ExchangeBoard MicexRpqi { get; } = CreateMoex(BoardCodes.MicexRpqi);
777
778/// <summary>
779/// Information about board <see cref="MicexPteq"/>.
780/// </summary>
781public static ExchangeBoard MicexPteq { get; } = CreateMoex(BoardCodes.MicexPteq);
782
783/// <summary>
784/// Information about board <see cref="MicexPtes"/>.
785/// </summary>
786public static ExchangeBoard MicexPtes { get; } = CreateMoex(BoardCodes.MicexPtes);
787
788/// <summary>
789/// Information about board <see cref="MicexPteu"/>.
790/// </summary>
791public static ExchangeBoard MicexPteu { get; } = CreateMoex(BoardCodes.MicexPteu);
792
793/// <summary>
794/// Information about board <see cref="MicexPtus"/>.
795/// </summary>
796public static ExchangeBoard MicexPtus { get; } = CreateMoex(BoardCodes.MicexPtus);
797
798/// <summary>
799/// Information about board <see cref="MicexPtnb"/>.
800/// </summary>
801public static ExchangeBoard MicexPtnb { get; } = CreateMoex(BoardCodes.MicexPtnb);
802
803/// <summary>
804/// Information about board <see cref="MicexPtne"/>.
805/// </summary>
806public static ExchangeBoard MicexPtne { get; } = CreateMoex(BoardCodes.MicexPtne);
807
808/// <summary>
809/// Information about board <see cref="MicexPtnl"/>.
810/// </summary>
811public static ExchangeBoard MicexPtnl { get; } = CreateMoex(BoardCodes.MicexPtnl);
812
813/// <summary>
814/// Information about board <see cref="MicexPtno"/>.
815/// </summary>
816public static ExchangeBoard MicexPtno { get; } = CreateMoex(BoardCodes.MicexPtno);
817
818/// <summary>
819/// Information about board <see cref="MicexPtob"/>.
820/// </summary>
821public static ExchangeBoard MicexPtob { get; } = CreateMoex(BoardCodes.MicexPtob);
822
823/// <summary>
824/// Information about board <see cref="MicexPtos"/>.
825/// </summary>
826public static ExchangeBoard MicexPtos { get; } = CreateMoex(BoardCodes.MicexPtos);
827
828/// <summary>
829/// Information about board <see cref="MicexPtov"/>.
830/// </summary>
831public static ExchangeBoard MicexPtov { get; } = CreateMoex(BoardCodes.MicexPtov);
832
833/// <summary>
834/// Information about board <see cref="MicexPtlv"/>.
835/// </summary>
836public static ExchangeBoard MicexPtlv { get; } = CreateMoex(BoardCodes.MicexPtlv);
837
838/// <summary>
839/// Information about board <see cref="MicexPtli"/>.
840/// </summary>
841public static ExchangeBoard MicexPtli { get; } = CreateMoex(BoardCodes.MicexPtli);
842
843/// <summary>
844/// Information about board <see cref="MicexPtqi"/>.
845/// </summary>
846public static ExchangeBoard MicexPtqi { get; } = CreateMoex(BoardCodes.MicexPtqi);
847
848/// <summary>
849/// Information about board <see cref="MicexScvc"/>.
850/// </summary>
851public static ExchangeBoard MicexScvc { get; } = CreateMoex(BoardCodes.MicexScvc);
852
853/// <summary>
854/// Information about board <see cref="MicexRpng"/>.
855/// </summary>
856public static ExchangeBoard MicexRpng { get; } = CreateMoex(BoardCodes.MicexRpng);
857
858/// <summary>
859/// Information about board <see cref="MicexRpfg"/>.
860/// </summary>
861public static ExchangeBoard MicexRpfg { get; } = CreateMoex(BoardCodes.MicexRpfg);
862
863/// <summary>
864/// Information about board <see cref="MicexCbcr"/>.
865/// </summary>
866public static ExchangeBoard MicexCbcr { get; } = CreateMoex(BoardCodes.MicexCbcr);
867
868/// <summary>
869/// Information about board <see cref="MicexCred"/>.
870/// </summary>
871public static ExchangeBoard MicexCred { get; } = CreateMoex(BoardCodes.MicexCred);
872
873/// <summary>
874/// Information about board <see cref="MicexDepz"/>.
875/// </summary>
876public static ExchangeBoard MicexDepz { get; } = CreateMoex(BoardCodes.MicexDepz);
877
878/// <summary>
879/// Information about board <see cref="MicexDpvb"/>.
880/// </summary>
881public static ExchangeBoard MicexDpvb { get; } = CreateMoex(BoardCodes.MicexDpvb);
882
883/// <summary>
884/// Information about board <see cref="MicexDpfk"/>.
885/// </summary>
886public static ExchangeBoard MicexDpfk { get; } = CreateMoex(BoardCodes.MicexDpfk);
887
888/// <summary>
889/// Information about board <see cref="MicexDpfo"/>.
890/// </summary>
891public static ExchangeBoard MicexDpfo { get; } = CreateMoex(BoardCodes.MicexDpfo);
892
893/// <summary>
894/// Information about board <see cref="MicexDppf"/>.
895/// </summary>
896public static ExchangeBoard MicexDppf { get; } = CreateMoex(BoardCodes.MicexDppf);
897
898/// <summary>
899/// Information about board <see cref="MicexCets"/>.
900/// </summary>
901public static ExchangeBoard MicexCets { get; } = CreateMoex(BoardCodes.MicexCets);
902
903/// <summary>
904/// Information about board <see cref="MicexAets"/>.
905/// </summary>
906public static ExchangeBoard MicexAets { get; } = CreateMoex(BoardCodes.MicexAets);
907
908/// <summary>
909/// Information about board <see cref="MicexCngd"/>.
910/// </summary>
911public static ExchangeBoard MicexCngd { get; } = CreateMoex(BoardCodes.MicexCngd);
912
913/// <summary>
914/// Information about board <see cref="MicexTran"/>.
915/// </summary>
916public static ExchangeBoard MicexTran { get; } = CreateMoex(BoardCodes.MicexTran);
917
918/// <summary>
919/// Information about board <see cref="MicexJunior"/>.
920/// </summary>
921public static ExchangeBoard MicexJunior { get; } = CreateMoex(BoardCodes.MicexJunior);
922
923/// <summary>
924/// Information about board <see cref="Spb"/>.
925/// </summary>
926public static ExchangeBoard Spb { get; } = new()
927{
928Code = BoardCodes.Spb,
929Exchange = Exchange.Spb,
930TimeZone = TimeHelper.Moscow,
931};
932
933/// <summary>
934/// Information about board <see cref="Ux"/>.
935/// </summary>
936public static ExchangeBoard Ux { get; } = new()
937{
938Code = BoardCodes.Ux,
939WorkingTime = new()
940{
941IsEnabled = true,
942Periods = new()
943{
944new()
945{
946Till = DateTime.MaxValue,
947Times = new()
948{
949new("10:30:00".To<TimeSpan>(), "13:00:00".To<TimeSpan>()),
950new("13:03:00".To<TimeSpan>(), "17:30:00".To<TimeSpan>())
951},
952}
953},
954},
955ExpiryTime = new TimeSpan(18, 45, 00),
956//IsSupportAtomicReRegister = true,
957Exchange = Exchange.Ux,
958TimeZone = TimeHelper.Fle,
959};
960
961/// <summary>
962/// Information about board <see cref="UxStock"/>.
963/// </summary>
964public static ExchangeBoard UxStock { get; } = new()
965{
966Code = BoardCodes.UxStock,
967WorkingTime = new()
968{
969IsEnabled = true,
970Periods = new()
971{
972new()
973{
974Till = DateTime.MaxValue,
975Times = new()
976{
977new("10:30:00".To<TimeSpan>(), "17:30:00".To<TimeSpan>())
978},
979}
980},
981},
982Exchange = Exchange.Ux,
983TimeZone = TimeHelper.Fle,
984};
985
986/// <summary>
987/// Information about board <see cref="Cme"/>.
988/// </summary>
989public static ExchangeBoard Cme { get; } = new()
990{
991Code = BoardCodes.Cme,
992TimeZone = TimeHelper.Cst,
993Exchange = Exchange.Cme,
994};
995
996/// <summary>
997/// Information about board <see cref="Cme"/>.
998/// </summary>
999public static ExchangeBoard CmeMini { get; } = new()
1000{
1001Code = BoardCodes.CmeMini,
1002TimeZone = TimeHelper.Cst,
1003Exchange = Exchange.Cme,
1004};
1005
1006/// <summary>
1007/// Information about board <see cref="Cce"/>.
1008/// </summary>
1009public static ExchangeBoard Cce { get; } = new()
1010{
1011Code = BoardCodes.Cce,
1012TimeZone = TimeHelper.Cst,
1013Exchange = Exchange.Cce,
1014};
1015
1016/// <summary>
1017/// Information about board <see cref="Cbot"/>.
1018/// </summary>
1019public static ExchangeBoard Cbot { get; } = new()
1020{
1021Code = BoardCodes.Cbot,
1022TimeZone = TimeHelper.Cst,
1023Exchange = Exchange.Cbot,
1024};
1025
1026/// <summary>
1027/// Information about board <see cref="Nymex"/>.
1028/// </summary>
1029public static ExchangeBoard Nymex { get; } = new()
1030{
1031Code = BoardCodes.Nymex,
1032TimeZone = TimeHelper.Est,
1033Exchange = Exchange.Nymex,
1034};
1035
1036/// <summary>
1037/// Information about board <see cref="Amex"/>.
1038/// </summary>
1039public static ExchangeBoard Amex { get; } = new()
1040{
1041Code = BoardCodes.Amex,
1042WorkingTime = new()
1043{
1044IsEnabled = true,
1045Periods = new()
1046{
1047new()
1048{
1049Till = DateTime.MaxValue,
1050Times = new()
1051{
1052new("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1053},
1054}
1055},
1056},
1057//IsSupportMarketOrders = true,
1058TimeZone = TimeHelper.Est,
1059Exchange = Exchange.Amex
1060};
1061
1062/// <summary>
1063/// Information about board <see cref="Nyse"/>.
1064/// </summary>
1065public static ExchangeBoard Nyse { get; } = new()
1066{
1067Code = BoardCodes.Nyse,
1068WorkingTime = new()
1069{
1070IsEnabled = true,
1071Periods = new()
1072{
1073new()
1074{
1075Till = DateTime.MaxValue,
1076Times = new()
1077{
1078new("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1079},
1080}
1081},
1082},
1083//IsSupportMarketOrders = true,
1084TimeZone = TimeHelper.Est,
1085Exchange = Exchange.Nyse
1086};
1087
1088/// <summary>
1089/// Information about board <see cref="Nasdaq"/>.
1090/// </summary>
1091public static ExchangeBoard Nasdaq { get; } = new()
1092{
1093Code = BoardCodes.Nasdaq,
1094WorkingTime = new()
1095{
1096IsEnabled = true,
1097Periods = new()
1098{
1099new()
1100{
1101Till = DateTime.MaxValue,
1102Times = new()
1103{
1104new("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1105},
1106}
1107},
1108},
1109//IsSupportMarketOrders = true,
1110Exchange = Exchange.Nasdaq,
1111TimeZone = TimeHelper.Est,
1112};
1113
1114/// <summary>
1115/// Information about board <see cref="Nqlx"/>.
1116/// </summary>
1117public static ExchangeBoard Nqlx { get; } = new()
1118{
1119Code = BoardCodes.Nqlx,
1120Exchange = Exchange.Nqlx,
1121TimeZone = TimeHelper.Est,
1122};
1123
1124/// <summary>
1125/// Information about board <see cref="Lse"/>.
1126/// </summary>
1127public static ExchangeBoard Lse { get; } = new()
1128{
1129Code = BoardCodes.Lse,
1130WorkingTime = new()
1131{
1132IsEnabled = true,
1133Periods = new()
1134{
1135new()
1136{
1137Till = DateTime.MaxValue,
1138Times = new()
1139{
1140new("08:00:00".To<TimeSpan>(), "16:30:00".To<TimeSpan>())
1141},
1142}
1143},
1144},
1145Exchange = Exchange.Lse,
1146TimeZone = TimeHelper.Gmt,
1147};
1148
1149/// <summary>
1150/// Information about board <see cref="Lme"/>.
1151/// </summary>
1152public static ExchangeBoard Lme { get; } = new()
1153{
1154Code = BoardCodes.Lme,
1155WorkingTime = new()
1156{
1157IsEnabled = true,
1158Periods = new()
1159{
1160new()
1161{
1162Till = DateTime.MaxValue,
1163Times = new()
1164{
1165new("09:00:00".To<TimeSpan>(), "18:00:00".To<TimeSpan>())
1166},
1167}
1168},
1169},
1170Exchange = Exchange.Lme,
1171TimeZone = TimeHelper.Gmt,
1172};
1173
1174/// <summary>
1175/// Information about board <see cref="Tse"/>.
1176/// </summary>
1177public static ExchangeBoard Tse { get; } = new()
1178{
1179Code = BoardCodes.Tse,
1180WorkingTime = new()
1181{
1182IsEnabled = true,
1183Periods = new()
1184{
1185new()
1186{
1187Till = DateTime.MaxValue,
1188Times = new()
1189{
1190new("09:00:00".To<TimeSpan>(), "11:30:00".To<TimeSpan>()),
1191new("12:30:00".To<TimeSpan>(), "15:00:00".To<TimeSpan>())
1192},
1193}
1194},
1195},
1196Exchange = Exchange.Tse,
1197TimeZone = TimeHelper.Tokyo,
1198};
1199
1200/// <summary>
1201/// Information about board <see cref="Hkex"/>.
1202/// </summary>
1203public static ExchangeBoard Hkex { get; } = new()
1204{
1205Code = BoardCodes.Hkex,
1206WorkingTime = new()
1207{
1208IsEnabled = true,
1209Periods = new()
1210{
1211new()
1212{
1213Till = DateTime.MaxValue,
1214Times = new()
1215{
1216new("09:20:00".To<TimeSpan>(), "12:00:00".To<TimeSpan>()),
1217new("13:00:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1218},
1219}
1220},
1221},
1222Exchange = Exchange.Hkex,
1223TimeZone = TimeHelper.China,
1224};
1225
1226/// <summary>
1227/// Information about board <see cref="Hkfe"/>.
1228/// </summary>
1229public static ExchangeBoard Hkfe { get; } = new()
1230{
1231Code = BoardCodes.Hkfe,
1232WorkingTime = new()
1233{
1234IsEnabled = true,
1235Periods = new()
1236{
1237new()
1238{
1239Till = DateTime.MaxValue,
1240Times = new()
1241{
1242new("09:15:00".To<TimeSpan>(), "12:00:00".To<TimeSpan>()),
1243new("13:00:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1244},
1245}
1246},
1247},
1248Exchange = Exchange.Hkfe,
1249TimeZone = TimeHelper.China,
1250};
1251
1252/// <summary>
1253/// Information about board <see cref="Sse"/>.
1254/// </summary>
1255public static ExchangeBoard Sse { get; } = new()
1256{
1257Code = BoardCodes.Sse,
1258WorkingTime = new()
1259{
1260IsEnabled = true,
1261Periods = new()
1262{
1263new()
1264{
1265Till = DateTime.MaxValue,
1266Times = new()
1267{
1268new("09:30:00".To<TimeSpan>(), "11:30:00".To<TimeSpan>()),
1269new("13:00:00".To<TimeSpan>(), "15:00:00".To<TimeSpan>())
1270},
1271}
1272},
1273},
1274Exchange = Exchange.Sse,
1275TimeZone = TimeHelper.China,
1276};
1277
1278/// <summary>
1279/// Information about board <see cref="Szse"/>.
1280/// </summary>
1281public static ExchangeBoard Szse { get; } = new()
1282{
1283Code = BoardCodes.Szse,
1284WorkingTime = new()
1285{
1286IsEnabled = true,
1287Periods = new()
1288{
1289new()
1290{
1291Till = DateTime.MaxValue,
1292Times = new()
1293{
1294new("09:30:00".To<TimeSpan>(), "11:30:00".To<TimeSpan>()),
1295new("13:00:00".To<TimeSpan>(), "15:00:00".To<TimeSpan>())
1296},
1297}
1298},
1299},
1300Exchange = Exchange.Szse,
1301TimeZone = TimeHelper.China,
1302};
1303
1304/// <summary>
1305/// Information about board <see cref="Tsx"/>.
1306/// </summary>
1307public static ExchangeBoard Tsx { get; } = new()
1308{
1309Code = BoardCodes.Tsx,
1310WorkingTime = new()
1311{
1312IsEnabled = true,
1313Periods = new()
1314{
1315new()
1316{
1317Till = DateTime.MaxValue,
1318Times = new()
1319{
1320new("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1321},
1322}
1323},
1324},
1325Exchange = Exchange.Tsx,
1326TimeZone = TimeHelper.Est,
1327};
1328
1329/// <summary>
1330/// Information about board <see cref="Fwb"/>.
1331/// </summary>
1332public static ExchangeBoard Fwb { get; } = new()
1333{
1334Code = BoardCodes.Fwb,
1335WorkingTime = new()
1336{
1337IsEnabled = true,
1338Periods = new()
1339{
1340new()
1341{
1342Till = DateTime.MaxValue,
1343Times = new()
1344{
1345new("08:00:00".To<TimeSpan>(), "22:00:00".To<TimeSpan>())
1346},
1347}
1348},
1349},
1350Exchange = Exchange.Fwb,
1351TimeZone = "W. Europe Standard Time".To<TimeZoneInfo>(),
1352};
1353
1354/// <summary>
1355/// Information about board <see cref="Asx"/>.
1356/// </summary>
1357public static ExchangeBoard Asx { get; } = new()
1358{
1359Code = BoardCodes.Asx,
1360WorkingTime = new()
1361{
1362IsEnabled = true,
1363Periods = new()
1364{
1365new()
1366{
1367Till = DateTime.MaxValue,
1368Times = new()
1369{
1370new("09:50:00".To<TimeSpan>(), "16:12:00".To<TimeSpan>())
1371},
1372}
1373},
1374},
1375Exchange = Exchange.Asx,
1376TimeZone = "AUS Eastern Standard Time".To<TimeZoneInfo>(),
1377};
1378
1379/// <summary>
1380/// Information about board <see cref="Nzx"/>.
1381/// </summary>
1382public static ExchangeBoard Nzx { get; } = new()
1383{
1384Code = BoardCodes.Nzx,
1385WorkingTime = new()
1386{
1387IsEnabled = true,
1388Periods = new()
1389{
1390new()
1391{
1392Till = DateTime.MaxValue,
1393Times = new()
1394{
1395new("10:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
1396},
1397}
1398},
1399},
1400Exchange = Exchange.Nzx,
1401TimeZone = "New Zealand Standard Time".To<TimeZoneInfo>(),
1402};
1403
1404/// <summary>
1405/// Information about board <see cref="Bse"/>.
1406/// </summary>
1407public static ExchangeBoard Bse { get; } = new()
1408{
1409Code = BoardCodes.Bse,
1410WorkingTime = new()
1411{
1412IsEnabled = true,
1413Periods = new()
1414{
1415new()
1416{
1417Till = DateTime.MaxValue,
1418Times = new()
1419{
1420new("09:15:00".To<TimeSpan>(), "15:30:00".To<TimeSpan>())
1421},
1422}
1423},
1424},
1425Exchange = Exchange.Bse,
1426TimeZone = _indiaTime,
1427};
1428
1429/// <summary>
1430/// Information about board <see cref="Nse"/>.
1431/// </summary>
1432public static ExchangeBoard Nse { get; } = new()
1433{
1434Code = BoardCodes.Nse,
1435WorkingTime = new()
1436{
1437IsEnabled = true,
1438Periods = new()
1439{
1440new()
1441{
1442Till = DateTime.MaxValue,
1443Times = new()
1444{
1445new("09:15:00".To<TimeSpan>(), "15:30:00".To<TimeSpan>())
1446},
1447}
1448},
1449},
1450Exchange = Exchange.Nse,
1451TimeZone = _indiaTime,
1452};
1453
1454/// <summary>
1455/// Information about board <see cref="Swx"/>.
1456/// </summary>
1457public static ExchangeBoard Swx { get; } = new()
1458{
1459Code = BoardCodes.Swx,
1460WorkingTime = new()
1461{
1462IsEnabled = true,
1463Periods = new()
1464{
1465new()
1466{
1467Till = DateTime.MaxValue,
1468Times = new()
1469{
1470new("9:00:00".To<TimeSpan>(), "17:30:00".To<TimeSpan>())
1471},
1472}
1473},
1474},
1475Exchange = Exchange.Swx,
1476TimeZone = GetTimeZone("Central European Standard Time", TimeSpan.FromHours(1)),
1477};
1478
1479/// <summary>
1480/// Information about board <see cref="Krx"/>.
1481/// </summary>
1482public static ExchangeBoard Krx { get; } = new()
1483{
1484Code = BoardCodes.Krx,
1485WorkingTime = new()
1486{
1487IsEnabled = true,
1488Periods = new()
1489{
1490new()
1491{
1492Till = DateTime.MaxValue,
1493Times = new()
1494{
1495new("09:00:00".To<TimeSpan>(), "15:00:00".To<TimeSpan>())
1496},
1497}
1498},
1499},
1500Exchange = Exchange.Krx,
1501TimeZone = TimeHelper.Korea,
1502};
1503
1504/// <summary>
1505/// Information about board <see cref="Mse"/>.
1506/// </summary>
1507public static ExchangeBoard Mse { get; } = new()
1508{
1509Code = BoardCodes.Mse,
1510WorkingTime = new()
1511{
1512IsEnabled = true,
1513Periods = new()
1514{
1515new()
1516{
1517Till = DateTime.MaxValue,
1518Times = new()
1519{
1520new("9:00:00".To<TimeSpan>(), "17:30:00".To<TimeSpan>())
1521},
1522}
1523},
1524},
1525Exchange = Exchange.Mse,
1526TimeZone = "Romance Standard Time".To<TimeZoneInfo>(),
1527};
1528
1529/// <summary>
1530/// Information about board <see cref="Jse"/>.
1531/// </summary>
1532public static ExchangeBoard Jse { get; } = new()
1533{
1534Code = BoardCodes.Jse,
1535WorkingTime = new()
1536{
1537IsEnabled = true,
1538Periods = new()
1539{
1540new()
1541{
1542Till = DateTime.MaxValue,
1543Times = new()
1544{
1545new("9:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
1546},
1547}
1548},
1549},
1550Exchange = Exchange.Jse,
1551TimeZone = GetTimeZone("South Africa Standard Time", TimeSpan.FromHours(2)),
1552};
1553
1554/// <summary>
1555/// Information about board <see cref="Sgx"/>.
1556/// </summary>
1557public static ExchangeBoard Sgx { get; } = new()
1558{
1559Code = BoardCodes.Sgx,
1560WorkingTime = new()
1561{
1562IsEnabled = true,
1563Periods = new()
1564{
1565new()
1566{
1567Till = DateTime.MaxValue,
1568Times = new()
1569{
1570new("09:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
1571},
1572}
1573},
1574},
1575Exchange = Exchange.Sgx,
1576TimeZone = _singaporeTime,
1577};
1578
1579/// <summary>
1580/// Information about board <see cref="Tsec"/>.
1581/// </summary>
1582public static ExchangeBoard Tsec { get; } = new()
1583{
1584Code = BoardCodes.Tsec,
1585WorkingTime = new()
1586{
1587IsEnabled = true,
1588Periods = new()
1589{
1590new()
1591{
1592Till = DateTime.MaxValue,
1593Times = new()
1594{
1595new("09:00:00".To<TimeSpan>(), "13:30:00".To<TimeSpan>())
1596},
1597}
1598},
1599},
1600Exchange = Exchange.Tsec,
1601TimeZone = TimeHelper.China,
1602};
1603
1604/// <summary>
1605/// Information about board <see cref="Pse"/>.
1606/// </summary>
1607public static ExchangeBoard Pse { get; } = new()
1608{
1609Code = BoardCodes.Pse,
1610WorkingTime = new()
1611{
1612IsEnabled = true,
1613Periods = new()
1614{
1615new()
1616{
1617Till = DateTime.MaxValue,
1618Times = new()
1619{
1620new("09:30:00".To<TimeSpan>(), "12:00:00".To<TimeSpan>()),
1621new("13:30:00".To<TimeSpan>(), "15:30:00".To<TimeSpan>())
1622},
1623}
1624},
1625},
1626Exchange = Exchange.Pse,
1627TimeZone = _singaporeTime,
1628};
1629
1630/// <summary>
1631/// Information about board <see cref="Klse"/>.
1632/// </summary>
1633public static ExchangeBoard Klse { get; } = new()
1634{
1635Code = BoardCodes.Klse,
1636WorkingTime = new()
1637{
1638IsEnabled = true,
1639Periods = new()
1640{
1641new()
1642{
1643Till = DateTime.MaxValue,
1644Times = new()
1645{
1646new("09:00:00".To<TimeSpan>(), "12:30:00".To<TimeSpan>()),
1647new("14:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
1648},
1649}
1650},
1651},
1652Exchange = Exchange.Klse,
1653TimeZone = _singaporeTime,
1654};
1655
1656/// <summary>
1657/// Information about board <see cref="Idx"/>.
1658/// </summary>
1659public static ExchangeBoard Idx { get; } = new()
1660{
1661Code = BoardCodes.Idx,
1662WorkingTime = new()
1663{
1664IsEnabled = true,
1665Periods = new()
1666{
1667new()
1668{
1669Till = DateTime.MaxValue,
1670Times = new()
1671{
1672new("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1673},
1674}
1675},
1676},
1677Exchange = Exchange.Idx,
1678TimeZone = _bangkokTime,
1679};
1680
1681/// <summary>
1682/// Information about board <see cref="Set"/>.
1683/// </summary>
1684public static ExchangeBoard Set { get; } = new()
1685{
1686Code = BoardCodes.Set,
1687WorkingTime = new()
1688{
1689IsEnabled = true,
1690Periods = new()
1691{
1692new()
1693{
1694Till = DateTime.MaxValue,
1695Times = new()
1696{
1697new("10:00:00".To<TimeSpan>(), "12:30:00".To<TimeSpan>()),
1698new("14:30:00".To<TimeSpan>(), "16:30:00".To<TimeSpan>())
1699},
1700}
1701},
1702},
1703Exchange = Exchange.Set,
1704TimeZone = _bangkokTime,
1705};
1706
1707/// <summary>
1708/// Information about board <see cref="Cse"/>.
1709/// </summary>
1710public static ExchangeBoard Cse { get; } = new()
1711{
1712Code = BoardCodes.Cse,
1713WorkingTime = new()
1714{
1715IsEnabled = true,
1716Periods = new()
1717{
1718new()
1719{
1720Till = DateTime.MaxValue,
1721Times = new()
1722{
1723new("09:30:00".To<TimeSpan>(), "14:30:00".To<TimeSpan>())
1724},
1725}
1726},
1727},
1728Exchange = Exchange.Cse,
1729TimeZone = "Sri Lanka Standard Time".To<TimeZoneInfo>(),
1730};
1731
1732/// <summary>
1733/// Information about board <see cref="Tase"/>.
1734/// </summary>
1735public static ExchangeBoard Tase { get; } = new()
1736{
1737Code = BoardCodes.Tase,
1738WorkingTime = new()
1739{
1740IsEnabled = true,
1741Periods = new()
1742{
1743new()
1744{
1745Till = DateTime.MaxValue,
1746Times = new()
1747{
1748new("09:00:00".To<TimeSpan>(), "16:25:00".To<TimeSpan>())
1749},
1750}
1751},
1752},
1753Exchange = Exchange.Tase,
1754TimeZone = "Israel Standard Time".To<TimeZoneInfo>(),
1755};
1756
1757/// <summary>
1758/// Information about board <see cref="Lmax"/>.
1759/// </summary>
1760public static ExchangeBoard Lmax { get; } = new()
1761{
1762Code = BoardCodes.Lmax,
1763WorkingTime = new()
1764{
1765IsEnabled = true,
1766Periods = new()
1767{
1768new()
1769{
1770Till = DateTime.MaxValue,
1771Times = new()
1772{
1773new("9:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
1774},
1775}
1776},
1777},
1778Exchange = Exchange.Lmax,
1779};
1780
1781/// <summary>
1782/// Information about board <see cref="DukasCopy"/>.
1783/// </summary>
1784public static ExchangeBoard DukasCopy { get; } = new()
1785{
1786Code = BoardCodes.DukasCopy,
1787Exchange = Exchange.DukasCopy,
1788};
1789
1790/// <summary>
1791/// Information about board <see cref="GainCapital"/>.
1792/// </summary>
1793public static ExchangeBoard GainCapital { get; } = new()
1794{
1795Code = BoardCodes.GainCapital,
1796Exchange = Exchange.GainCapital,
1797};
1798
1799/// <summary>
1800/// Information about board <see cref="MBTrading"/>.
1801/// </summary>
1802public static ExchangeBoard MBTrading { get; } = new()
1803{
1804Code = BoardCodes.MBTrading,
1805Exchange = Exchange.MBTrading,
1806};
1807
1808/// <summary>
1809/// Information about board <see cref="TrueFX"/>.
1810/// </summary>
1811public static ExchangeBoard TrueFX { get; } = new()
1812{
1813Code = BoardCodes.TrueFX,
1814Exchange = Exchange.TrueFX,
1815};
1816
1817/// <summary>
1818/// Information about board <see cref="Integral"/>.
1819/// </summary>
1820public static ExchangeBoard Integral { get; } = new()
1821{
1822Code = BoardCodes.Integral,
1823Exchange = Exchange.Integral,
1824};
1825
1826/// <summary>
1827/// Information about board <see cref="Cfh"/>.
1828/// </summary>
1829public static ExchangeBoard Cfh { get; } = new()
1830{
1831Code = BoardCodes.Cfh,
1832Exchange = Exchange.Cfh,
1833};
1834
1835/// <summary>
1836/// Information about board <see cref="Ond"/>.
1837/// </summary>
1838public static ExchangeBoard Ond { get; } = new()
1839{
1840Code = BoardCodes.Ond,
1841Exchange = Exchange.Ond,
1842};
1843
1844/// <summary>
1845/// Information about board <see cref="Nasdaq"/>.
1846/// </summary>
1847public static ExchangeBoard Smart { get; } = new()
1848{
1849Code = BoardCodes.Smart,
1850Exchange = Exchange.Nasdaq,
1851};
1852
1853/// <summary>
1854/// Information about board <see cref="Btce"/>.
1855/// </summary>
1856public static ExchangeBoard Btce { get; } = new()
1857{
1858Code = Exchange.Btce.Name,
1859Exchange = Exchange.Btce,
1860};
1861
1862/// <summary>
1863/// Information about board <see cref="BitStamp"/>.
1864/// </summary>
1865public static ExchangeBoard BitStamp { get; } = new()
1866{
1867Code = Exchange.BitStamp.Name,
1868Exchange = Exchange.BitStamp,
1869};
1870
1871/// <summary>
1872/// Information about board <see cref="BtcChina"/>.
1873/// </summary>
1874public static ExchangeBoard BtcChina { get; } = new()
1875{
1876Code = Exchange.BtcChina.Name,
1877Exchange = Exchange.BtcChina,
1878};
1879
1880/// <summary>
1881/// Information about board <see cref="Icbit"/>.
1882/// </summary>
1883public static ExchangeBoard Icbit { get; } = new()
1884{
1885Code = Exchange.Icbit.Name,
1886Exchange = Exchange.Icbit,
1887};
1888
1889/// <summary>
1890/// Information about board <see cref="Finam"/>.
1891/// </summary>
1892public static ExchangeBoard Finam { get; } = new()
1893{
1894Code = BoardCodes.Finam,
1895Exchange = Exchange.Test,
1896};
1897
1898/// <summary>
1899/// Information about board <see cref="Mfd"/>.
1900/// </summary>
1901public static ExchangeBoard Mfd { get; } = new()
1902{
1903Code = BoardCodes.Mfd,
1904Exchange = Exchange.Test,
1905};
1906
1907/// <summary>
1908/// Information about board <see cref="Arca"/>.
1909/// </summary>
1910public static ExchangeBoard Arca { get; } = new()
1911{
1912Code = BoardCodes.Arca,
1913Exchange = Exchange.Nyse,
1914};
1915
1916/// <summary>
1917/// Information about board <see cref="Bats"/>.
1918/// </summary>
1919public static ExchangeBoard Bats { get; } = new()
1920{
1921Code = BoardCodes.Bats,
1922Exchange = Exchange.Cbot,
1923};
1924
1925/// <summary>
1926/// Information about board <see cref="Currenex"/>.
1927/// </summary>
1928public static ExchangeBoard Currenex { get; } = new()
1929{
1930Code = Exchange.Currenex.Name,
1931Exchange = Exchange.Currenex,
1932};
1933
1934/// <summary>
1935/// Information about board <see cref="Fxcm"/>.
1936/// </summary>
1937public static ExchangeBoard Fxcm { get; } = new()
1938{
1939Code = Exchange.Fxcm.Name,
1940Exchange = Exchange.Fxcm,
1941};
1942
1943/// <summary>
1944/// Information about board <see cref="Poloniex"/>.
1945/// </summary>
1946public static ExchangeBoard Poloniex { get; } = new()
1947{
1948Code = Exchange.Poloniex.Name,
1949Exchange = Exchange.Poloniex,
1950};
1951
1952/// <summary>
1953/// Information about board <see cref="Kraken"/>.
1954/// </summary>
1955public static ExchangeBoard Kraken { get; } = new()
1956{
1957Code = Exchange.Kraken.Name,
1958Exchange = Exchange.Kraken,
1959};
1960
1961/// <summary>
1962/// Information about board <see cref="Bittrex"/>.
1963/// </summary>
1964public static ExchangeBoard Bittrex { get; } = new()
1965{
1966Code = Exchange.Bittrex.Name,
1967Exchange = Exchange.Bittrex,
1968};
1969
1970/// <summary>
1971/// Information about board <see cref="Bitfinex"/>.
1972/// </summary>
1973public static ExchangeBoard Bitfinex { get; } = new()
1974{
1975Code = Exchange.Bitfinex.Name,
1976Exchange = Exchange.Bitfinex,
1977};
1978
1979/// <summary>
1980/// Information about board <see cref="Coinbase"/>.
1981/// </summary>
1982public static ExchangeBoard Coinbase { get; } = new()
1983{
1984Code = Exchange.Coinbase.Name,
1985Exchange = Exchange.Coinbase,
1986};
1987
1988/// <summary>
1989/// Information about board <see cref="Gdax"/>.
1990/// </summary>
1991public static ExchangeBoard Gdax { get; } = new()
1992{
1993Code = Exchange.Gdax.Name,
1994Exchange = Exchange.Gdax,
1995};
1996
1997/// <summary>
1998/// Information about board <see cref="Bithumb"/>.
1999/// </summary>
2000public static ExchangeBoard Bithumb { get; } = new()
2001{
2002Code = Exchange.Bithumb.Name,
2003Exchange = Exchange.Bithumb,
2004};
2005
2006/// <summary>
2007/// Information about board <see cref="HitBtc"/>.
2008/// </summary>
2009public static ExchangeBoard HitBtc { get; } = new()
2010{
2011Code = Exchange.HitBtc.Name,
2012Exchange = Exchange.HitBtc,
2013};
2014
2015/// <summary>
2016/// Information about board <see cref="OkCoin"/>.
2017/// </summary>
2018public static ExchangeBoard OkCoin { get; } = new()
2019{
2020Code = Exchange.OkCoin.Name,
2021Exchange = Exchange.OkCoin,
2022};
2023
2024/// <summary>
2025/// Information about board <see cref="Coincheck"/>.
2026/// </summary>
2027public static ExchangeBoard Coincheck { get; } = new()
2028{
2029Code = Exchange.Coincheck.Name,
2030Exchange = Exchange.Coincheck,
2031};
2032
2033/// <summary>
2034/// Information about board <see cref="Binance"/>.
2035/// </summary>
2036public static ExchangeBoard Binance { get; } = new()
2037{
2038Code = Exchange.Binance.Name,
2039Exchange = Exchange.Binance,
2040};
2041
2042/// <summary>
2043/// Information about board <see cref="BinanceCoin"/>.
2044/// </summary>
2045public static ExchangeBoard BinanceCoin { get; } = new()
2046{
2047Code = BoardCodes.BinanceCoin,
2048Exchange = Exchange.Binance,
2049};
2050
2051/// <summary>
2052/// Information about board <see cref="Bitexbook"/>.
2053/// </summary>
2054public static ExchangeBoard Bitexbook { get; } = new()
2055{
2056Code = Exchange.Bitexbook.Name,
2057Exchange = Exchange.Bitexbook,
2058};
2059
2060/// <summary>
2061/// Information about board <see cref="Bitmex"/>.
2062/// </summary>
2063public static ExchangeBoard Bitmex { get; } = new()
2064{
2065Code = Exchange.Bitmex.Name,
2066Exchange = Exchange.Bitmex,
2067};
2068
2069/// <summary>
2070/// Information about board <see cref="Cex"/>.
2071/// </summary>
2072public static ExchangeBoard Cex { get; } = new()
2073{
2074Code = Exchange.Cex.Name,
2075Exchange = Exchange.Cex,
2076};
2077
2078/// <summary>
2079/// Information about board <see cref="Cryptopia"/>.
2080/// </summary>
2081public static ExchangeBoard Cryptopia { get; } = new()
2082{
2083Code = Exchange.Cryptopia.Name,
2084Exchange = Exchange.Cryptopia,
2085};
2086
2087/// <summary>
2088/// Information about board <see cref="Okex"/>.
2089/// </summary>
2090public static ExchangeBoard Okex { get; } = new()
2091{
2092Code = Exchange.Okex.Name,
2093Exchange = Exchange.Okex,
2094};
2095
2096/// <summary>
2097/// Information about board <see cref="Bitmart"/>.
2098/// </summary>
2099public static ExchangeBoard Bitmart { get; } = new()
2100{
2101Code = Exchange.Bitmart.Name,
2102Exchange = Exchange.Bitmart,
2103};
2104
2105/// <summary>
2106/// Information about board <see cref="Yobit"/>.
2107/// </summary>
2108public static ExchangeBoard Yobit { get; } = new()
2109{
2110Code = Exchange.Yobit.Name,
2111Exchange = Exchange.Yobit,
2112};
2113
2114/// <summary>
2115/// Information about board <see cref="CoinExchange"/>.
2116/// </summary>
2117public static ExchangeBoard CoinExchange { get; } = new()
2118{
2119Code = Exchange.CoinExchange.Name,
2120Exchange = Exchange.CoinExchange,
2121};
2122
2123/// <summary>
2124/// Information about board <see cref="LiveCoin"/>.
2125/// </summary>
2126public static ExchangeBoard LiveCoin { get; } = new()
2127{
2128Code = Exchange.LiveCoin.Name,
2129Exchange = Exchange.LiveCoin,
2130};
2131
2132/// <summary>
2133/// Information about board <see cref="Exmo"/>.
2134/// </summary>
2135public static ExchangeBoard Exmo { get; } = new()
2136{
2137Code = Exchange.Exmo.Name,
2138Exchange = Exchange.Exmo,
2139};
2140
2141/// <summary>
2142/// Information about board <see cref="Deribit"/>.
2143/// </summary>
2144public static ExchangeBoard Deribit { get; } = new()
2145{
2146Code = Exchange.Deribit.Name,
2147Exchange = Exchange.Deribit,
2148};
2149
2150/// <summary>
2151/// Information about board <see cref="Kucoin"/>.
2152/// </summary>
2153public static ExchangeBoard Kucoin { get; } = new()
2154{
2155Code = Exchange.Kucoin.Name,
2156Exchange = Exchange.Kucoin,
2157};
2158
2159/// <summary>
2160/// Information about board <see cref="Liqui"/>.
2161/// </summary>
2162public static ExchangeBoard Liqui { get; } = new()
2163{
2164Code = Exchange.Liqui.Name,
2165Exchange = Exchange.Liqui,
2166};
2167
2168/// <summary>
2169/// Information about board <see cref="Huobi"/>.
2170/// </summary>
2171public static ExchangeBoard Huobi { get; } = new()
2172{
2173Code = Exchange.Huobi.Name,
2174Exchange = Exchange.Huobi,
2175};
2176
2177/// <summary>
2178/// Information about board <see cref="Globex"/>.
2179/// </summary>
2180public static ExchangeBoard Globex { get; } = new()
2181{
2182Code = BoardCodes.Globex,
2183Exchange = Exchange.Cme,
2184};
2185
2186/// <summary>
2187/// Information about board <see cref="IEX"/>.
2188/// </summary>
2189public static ExchangeBoard IEX { get; } = new()
2190{
2191Code = Exchange.IEX.Name,
2192Exchange = Exchange.IEX,
2193};
2194
2195/// <summary>
2196/// Information about board <see cref="AlphaVantage"/>.
2197/// </summary>
2198public static ExchangeBoard AlphaVantage { get; } = new()
2199{
2200Code = Exchange.AlphaVantage.Name,
2201Exchange = Exchange.AlphaVantage,
2202};
2203
2204/// <summary>
2205/// Information about board <see cref="Bitbank"/>.
2206/// </summary>
2207public static ExchangeBoard Bitbank { get; } = new()
2208{
2209Code = Exchange.Bitbank.Name,
2210Exchange = Exchange.Bitbank,
2211};
2212
2213/// <summary>
2214/// Information about board <see cref="Zaif"/>.
2215/// </summary>
2216public static ExchangeBoard Zaif { get; } = new()
2217{
2218Code = Exchange.Zaif.Name,
2219Exchange = Exchange.Zaif,
2220};
2221
2222/// <summary>
2223/// Information about board <see cref="Quoinex"/>.
2224/// </summary>
2225public static ExchangeBoard Quoinex { get; } = new()
2226{
2227Code = Exchange.Quoinex.Name,
2228Exchange = Exchange.Quoinex,
2229};
2230
2231/// <summary>
2232/// Information about board <see cref="Wiki"/>.
2233/// </summary>
2234public static ExchangeBoard Wiki { get; } = new()
2235{
2236Code = Exchange.Wiki.Name,
2237Exchange = Exchange.Wiki,
2238};
2239
2240/// <summary>
2241/// Information about board <see cref="Idax"/>.
2242/// </summary>
2243public static ExchangeBoard Idax { get; } = new()
2244{
2245Code = Exchange.Idax.Name,
2246Exchange = Exchange.Idax,
2247};
2248
2249/// <summary>
2250/// Information about board <see cref="Digifinex"/>.
2251/// </summary>
2252public static ExchangeBoard Digifinex { get; } = new()
2253{
2254Code = Exchange.Digifinex.Name,
2255Exchange = Exchange.Digifinex,
2256};
2257
2258/// <summary>
2259/// Information about board <see cref="TradeOgre"/>.
2260/// </summary>
2261public static ExchangeBoard TradeOgre { get; } = new()
2262{
2263Code = Exchange.TradeOgre.Name,
2264Exchange = Exchange.TradeOgre,
2265};
2266
2267/// <summary>
2268/// Information about board <see cref="CoinCap"/>.
2269/// </summary>
2270public static ExchangeBoard CoinCap { get; } = new()
2271{
2272Code = Exchange.CoinCap.Name,
2273Exchange = Exchange.CoinCap,
2274};
2275
2276/// <summary>
2277/// Information about board <see cref="Coinigy"/>.
2278/// </summary>
2279public static ExchangeBoard Coinigy { get; } = new()
2280{
2281Code = Exchange.Coinigy.Name,
2282Exchange = Exchange.Coinigy,
2283};
2284
2285/// <summary>
2286/// Information about board <see cref="LBank"/>.
2287/// </summary>
2288public static ExchangeBoard LBank { get; } = new()
2289{
2290Code = Exchange.LBank.Name,
2291Exchange = Exchange.LBank,
2292};
2293
2294/// <summary>
2295/// Information about board <see cref="BitMax"/>.
2296/// </summary>
2297public static ExchangeBoard BitMax { get; } = new()
2298{
2299Code = Exchange.BitMax.Name,
2300Exchange = Exchange.BitMax,
2301};
2302
2303/// <summary>
2304/// Information about board <see cref="BW"/>.
2305/// </summary>
2306public static ExchangeBoard BW { get; } = new()
2307{
2308Code = Exchange.BW.Name,
2309Exchange = Exchange.BW,
2310};
2311
2312/// <summary>
2313/// Information about board <see cref="Bibox"/>.
2314/// </summary>
2315public static ExchangeBoard Bibox { get; } = new()
2316{
2317Code = Exchange.Bibox.Name,
2318Exchange = Exchange.Bibox,
2319};
2320
2321/// <summary>
2322/// Information about board <see cref="CoinBene"/>.
2323/// </summary>
2324public static ExchangeBoard CoinBene { get; } = new()
2325{
2326Code = Exchange.CoinBene.Name,
2327Exchange = Exchange.CoinBene,
2328};
2329
2330/// <summary>
2331/// Information about board <see cref="BitZ"/>.
2332/// </summary>
2333public static ExchangeBoard BitZ { get; } = new()
2334{
2335Code = Exchange.BitZ.Name,
2336Exchange = Exchange.BitZ,
2337};
2338
2339/// <summary>
2340/// Information about board <see cref="ZB"/>.
2341/// </summary>
2342public static ExchangeBoard ZB { get; } = new()
2343{
2344Code = Exchange.ZB.Name,
2345Exchange = Exchange.ZB,
2346};
2347
2348/// <summary>
2349/// Information about board <see cref="Tradier"/>.
2350/// </summary>
2351public static ExchangeBoard Tradier { get; } = new()
2352{
2353Code = Exchange.Tradier.Name,
2354Exchange = Exchange.Tradier,
2355};
2356
2357/// <summary>
2358/// Information about board <see cref="SwSq"/>.
2359/// </summary>
2360public static ExchangeBoard SwSq { get; } = new()
2361{
2362Code = Exchange.SwSq.Name,
2363Exchange = Exchange.SwSq,
2364};
2365
2366/// <summary>
2367/// Information about board <see cref="StockSharp"/>.
2368/// </summary>
2369public static ExchangeBoard StockSharp { get; } = new()
2370{
2371Code = Exchange.StockSharp.Name,
2372Exchange = Exchange.StockSharp,
2373};
2374
2375/// <summary>
2376/// Information about board <see cref="Upbit"/>.
2377/// </summary>
2378public static ExchangeBoard Upbit { get; } = new()
2379{
2380Code = Exchange.Upbit.Name,
2381Exchange = Exchange.Upbit,
2382};
2383
2384/// <summary>
2385/// Information about board <see cref="CoinEx"/>.
2386/// </summary>
2387public static ExchangeBoard CoinEx { get; } = new()
2388{
2389Code = Exchange.CoinEx.Name,
2390Exchange = Exchange.CoinEx,
2391};
2392
2393/// <summary>
2394/// Information about board <see cref="FatBtc"/>.
2395/// </summary>
2396public static ExchangeBoard FatBtc { get; } = new()
2397{
2398Code = Exchange.FatBtc.Name,
2399Exchange = Exchange.FatBtc,
2400};
2401
2402/// <summary>
2403/// Information about board <see cref="Latoken"/>.
2404/// </summary>
2405public static ExchangeBoard Latoken { get; } = new()
2406{
2407Code = Exchange.Latoken.Name,
2408Exchange = Exchange.Latoken,
2409};
2410
2411/// <summary>
2412/// Information about board <see cref="Gopax"/>.
2413/// </summary>
2414public static ExchangeBoard Gopax { get; } = new()
2415{
2416Code = Exchange.Gopax.Name,
2417Exchange = Exchange.Gopax,
2418};
2419
2420/// <summary>
2421/// Information about board <see cref="CoinHub"/>.
2422/// </summary>
2423public static ExchangeBoard CoinHub { get; } = new()
2424{
2425Code = Exchange.CoinHub.Name,
2426Exchange = Exchange.CoinHub,
2427};
2428
2429/// <summary>
2430/// Information about board <see cref="Hotbit"/>.
2431/// </summary>
2432public static ExchangeBoard Hotbit { get; } = new()
2433{
2434Code = Exchange.Hotbit.Name,
2435Exchange = Exchange.Hotbit,
2436};
2437
2438/// <summary>
2439/// Information about board <see cref="Bitalong"/>.
2440/// </summary>
2441public static ExchangeBoard Bitalong { get; } = new()
2442{
2443Code = Exchange.Bitalong.Name,
2444Exchange = Exchange.Bitalong,
2445};
2446
2447/// <summary>
2448/// Information about board <see cref="PrizmBit"/>.
2449/// </summary>
2450public static ExchangeBoard PrizmBit { get; } = new()
2451{
2452Code = Exchange.PrizmBit.Name,
2453Exchange = Exchange.PrizmBit,
2454};
2455
2456/// <summary>
2457/// Information about board <see cref="DigitexFutures"/>.
2458/// </summary>
2459public static ExchangeBoard DigitexFutures { get; } = new()
2460{
2461Code = Exchange.DigitexFutures.Name,
2462Exchange = Exchange.DigitexFutures,
2463};
2464
2465/// <summary>
2466/// Information about board <see cref="Bovespa"/>.
2467/// </summary>
2468public static ExchangeBoard Bovespa { get; } = new()
2469{
2470Code = Exchange.Bovespa.Name,
2471Exchange = Exchange.Bovespa,
2472};
2473
2474/// <summary>
2475/// Information about board <see cref="Bvmt"/>.
2476/// </summary>
2477public static ExchangeBoard Bvmt { get; } = new()
2478{
2479Code = Exchange.Bvmt.Name,
2480Exchange = Exchange.Bvmt,
2481TimeZone = TimeHelper.Tunisia,
2482WorkingTime = new()
2483{
2484IsEnabled = true,
2485Periods = new()
2486{
2487new()
2488{
2489Till = DateTime.MaxValue,
2490Times = new()
2491{
2492new("09:00:00".To<TimeSpan>(), "14:00:00".To<TimeSpan>())
2493},
2494}
2495},
2496},
2497};
2498
2499/// <summary>
2500/// Information about board <see cref="IQFeed"/>.
2501/// </summary>
2502public static ExchangeBoard IQFeed { get; } = new()
2503{
2504Code = Exchange.IQFeed.Name,
2505Exchange = Exchange.IQFeed,
2506};
2507
2508/// <summary>
2509/// Information about board <see cref="IBKR"/>.
2510/// </summary>
2511public static ExchangeBoard IBKR { get; } = new()
2512{
2513Code = Exchange.IBKR.Name,
2514Exchange = Exchange.IBKR,
2515};
2516
2517/// <summary>
2518/// Information about board <see cref="STRLG"/>.
2519/// </summary>
2520public static ExchangeBoard STRLG { get; } = new()
2521{
2522Code = Exchange.STRLG.Name,
2523Exchange = Exchange.STRLG,
2524};
2525
2526/// <summary>
2527/// Information about board <see cref="QNDL"/>.
2528/// </summary>
2529public static ExchangeBoard QNDL { get; } = new()
2530{
2531Code = Exchange.QNDL.Name,
2532Exchange = Exchange.QNDL,
2533};
2534
2535/// <summary>
2536/// Information about board <see cref="FTX"/>.
2537/// </summary>
2538public static ExchangeBoard FTX { get; } = new()
2539{
2540Code = Exchange.FTX.Name,
2541Exchange = Exchange.FTX,
2542};
2543
2544/// <summary>
2545/// Information about board <see cref="YHF"/>.
2546/// </summary>
2547public static ExchangeBoard YHF { get; } = new()
2548{
2549Code = Exchange.YHF.Name,
2550Exchange = Exchange.YHF,
2551};
2552}
2553}
2554