StockSharp

Форк
0
/
ExchangeBoard_Instances.cs 
2553 строки · 60.8 Кб
1
#region S# License
2
/******************************************************************************************
3
NOTICE!!!  This program and source code is owned and licensed by
4
StockSharp, LLC, www.stocksharp.com
5
Viewing or use of this code requires your acceptance of the license
6
agreement found at https://github.com/StockSharp/StockSharp/blob/master/LICENSE
7
Removal of this comment is a violation of the license agreement.
8

9
Project: StockSharp.BusinessEntities.BusinessEntities
10
File: ExchangeBoard_Instances.cs
11
Created: 2015, 11, 11, 2:32 PM
12

13
Copyright 2010 by StockSharp, LLC
14
*******************************************************************************************/
15
#endregion S# License
16
namespace StockSharp.BusinessEntities
17
{
18
	using System;
19
	using System.Linq;
20

21
	using Ecng.Common;
22
	using Ecng.Serialization;
23

24
	using StockSharp.Messages;
25

26
	partial class ExchangeBoard
27
	{
28
		private static readonly DateTime[] _russianSpecialWorkingDays = new DateTime[]
29
		{
30
			// http://www.rts.ru/a742
31
			new(2001, 3, 11),
32
			new(2001, 4, 28),
33
			new(2001, 6, 9),
34
			new(2001, 12, 29),
35

36
			// http://www.rts.ru/a3414
37
			new(2002, 4, 27),
38
			new(2002, 5, 18),
39
			new(2002, 11, 10),
40

41
			// http://www.rts.ru/a5194
42
			new(2003, 1, 4),
43
			new(2003, 1, 5),
44
			new(2003, 6, 21),
45

46
			// http://www.rts.ru/a6598
47
			// дат нет
48

49
			// http://www.rts.ru/a7751
50
			new(2005, 3, 5),
51
			new(2005, 5, 14),
52

53
			// http://www.rts.ru/a743
54
			new(2006, 2, 26),
55
			new(2006, 5, 6),
56

57
			// http://www.rts.ru/a13059
58
			new(2007, 4, 28),
59
			new(2007, 6, 9),
60

61
			// http://www.rts.ru/a15065
62
			new(2008, 5, 4),
63
			new(2008, 6, 7),
64
			new(2008, 11, 1),
65

66
			// http://www.rts.ru/a17902
67
			new(2009, 1, 11),
68

69
			// http://www.rts.ru/a19524
70
			new(2010, 2, 27),
71
			new(2010, 11, 13),
72

73
			// http://www.rts.ru/s355
74
			new(2011, 3, 5),
75

76
			// http://moex.com/a254
77
			new(2012, 3, 11),
78
			new(2012, 4, 28),
79
			new(2012, 5, 5),
80
			new(2012, 5, 12),
81
			new(2012, 6, 9),
82
			new(2012, 12, 29),
83

84
			// http://moex.com/a3367
85
			new(2016, 02, 20)
86
		};
87
		private static readonly DateTime[] _russianSpecialHolidays = new DateTime[]
88
		{
89
			// http://www.rts.ru/a742
90
			new(2001, 1, 1),
91
			new(2001, 1, 2),
92
			new(2001, 1, 8),
93
			new(2001, 3, 8),
94
			new(2001, 3, 9),
95
			new(2001, 4, 30),
96
			new(2001, 5, 1),
97
			new(2001, 5, 2),
98
			new(2001, 5, 9),
99
			new(2001, 6, 11),
100
			new(2001, 6, 12),
101
			new(2001, 11, 7),
102
			new(2001, 12, 12),
103
			new(2001, 12, 31),
104

105
			// http://www.rts.ru/a3414
106
			new(2002, 1, 1),
107
			new(2002, 1, 2),
108
			new(2002, 1, 7),
109
			new(2002, 2, 25),
110
			new(2002, 3, 8),
111
			new(2002, 3, 9),
112
			new(2002, 5, 1),
113
			new(2002, 5, 2),
114
			new(2002, 5, 3),
115
			new(2002, 5, 9),
116
			new(2002, 5, 10),
117
			new(2002, 6, 12),
118
			new(2002, 11, 7),
119
			new(2002, 11, 8),
120
			new(2002, 12, 12),
121
			new(2002, 12, 13),
122

123
			// http://www.rts.ru/a5194
124
			new(2003, 1, 1),
125
			new(2003, 1, 2),
126
			new(2003, 1, 3),
127
			new(2003, 1, 6),
128
			new(2003, 1, 7),
129
			new(2003, 2, 24),
130
			new(2003, 3, 10),
131
			new(2003, 5, 1),
132
			new(2003, 5, 2),
133
			new(2003, 5, 9),
134
			new(2003, 6, 12),
135
			new(2003, 6, 13),
136
			new(2003, 11, 7),
137
			new(2003, 12, 12),
138

139
			// http://www.rts.ru/a6598
140
			new(2004, 1, 1),
141
			new(2004, 1, 2),
142
			new(2004, 1, 7),
143
			new(2004, 2, 23),
144
			new(2004, 3, 8),
145
			new(2004, 5, 3),
146
			new(2004, 5, 4),
147
			new(2004, 5, 10),
148
			new(2004, 6, 14),
149
			new(2004, 11, 8),
150
			new(2004, 12, 13),
151

152
			// http://www.rts.ru/a7751
153
			new(2005, 1, 3),
154
			new(2005, 1, 4),
155
			new(2005, 1, 5),
156
			new(2005, 1, 6),
157
			new(2005, 1, 7),
158
			new(2005, 1, 10),
159
			new(2005, 2, 23),
160
			new(2005, 3, 7),
161
			new(2005, 3, 8),
162
			new(2005, 5, 2),
163
			new(2005, 5, 9),
164
			new(2005, 5, 10),
165
			new(2005, 6, 13),
166
			new(2005, 11, 4),
167

168
			// http://www.rts.ru/a743
169
			new(2006, 1, 2),
170
			new(2006, 1, 3),
171
			new(2006, 1, 4),
172
			new(2006, 1, 5),
173
			new(2006, 1, 6),
174
			new(2006, 1, 9),
175
			new(2006, 2, 23),
176
			new(2006, 2, 24),
177
			new(2006, 3, 8),
178
			new(2006, 5, 1),
179
			new(2006, 5, 8),
180
			new(2006, 5, 9),
181
			new(2006, 6, 12),
182
			new(2006, 11, 6),
183

184
			// http://www.rts.ru/a13059
185
			new(2007, 1, 1),
186
			new(2007, 1, 2),
187
			new(2007, 1, 3),
188
			new(2007, 1, 4),
189
			new(2007, 1, 5),
190
			new(2007, 1, 8),
191
			new(2007, 2, 23),
192
			new(2007, 3, 8),
193
			new(2007, 4, 30),
194
			new(2007, 5, 1),
195
			new(2007, 5, 9),
196
			new(2007, 6, 11),
197
			new(2007, 6, 12),
198
			new(2007, 11, 5),
199
			new(2007, 12, 31),
200

201
			// http://www.rts.ru/a15065
202
			new(2008, 1, 1),
203
			new(2008, 1, 2),
204
			new(2008, 1, 3),
205
			new(2008, 1, 4),
206
			new(2008, 1, 7),
207
			new(2008, 1, 8),
208
			new(2008, 2, 25),
209
			new(2008, 3, 10),
210
			new(2008, 5, 1),
211
			new(2008, 5, 2),
212
			new(2008, 6, 12),
213
			new(2008, 6, 13),
214
			new(2008, 11, 3),
215
			new(2008, 11, 4),
216

217
			// http://www.rts.ru/a17902
218
			new(2009, 1, 1),
219
			new(2009, 1, 2),
220
			new(2009, 1, 5),
221
			new(2009, 1, 6),
222
			new(2009, 1, 7),
223
			new(2009, 1, 8),
224
			new(2009, 1, 9),
225
			new(2009, 2, 23),
226
			new(2009, 3, 9),
227
			new(2009, 5, 1),
228
			new(2009, 5, 11),
229
			new(2009, 6, 12),
230
			new(2009, 11, 4),
231

232
			// http://www.rts.ru/a19524
233
			new(2010, 1, 1),
234
			new(2010, 1, 4),
235
			new(2010, 1, 5),
236
			new(2010, 1, 6),
237
			new(2010, 1, 7),
238
			new(2010, 1, 8),
239
			new(2010, 2, 22),
240
			new(2010, 2, 23),
241
			new(2010, 3, 8),
242
			new(2010, 5, 3),
243
			new(2010, 5, 10),
244
			new(2010, 6, 14),
245
			new(2010, 11, 4),
246
			new(2010, 11, 5),
247

248
			// http://www.rts.ru/s355
249
			new(2011, 1, 3),
250
			new(2011, 1, 4),
251
			new(2011, 1, 5),
252
			new(2011, 1, 6),
253
			new(2011, 1, 7),
254
			new(2011, 1, 10),
255
			new(2011, 2, 23),
256
			new(2011, 3, 7),
257
			new(2011, 3, 8),
258
			new(2011, 5, 2),
259
			new(2011, 5, 9),
260
			new(2011, 6, 13),
261
			new(2011, 11, 4),
262

263
			// http://moex.com/a254
264
			new(2012, 1, 2),
265
			new(2012, 2, 23),
266
			new(2012, 3, 8),
267
			new(2012, 3, 9),
268
			new(2012, 4, 30),
269
			new(2012, 5, 1),
270
			new(2012, 5, 9),
271
			new(2012, 6, 11),
272
			new(2012, 6, 12),
273
			new(2012, 11, 5),
274
			new(2012, 12, 31),
275

276
			// http://moex.com/a1343
277
			new(2013, 1, 1),
278
			new(2013, 1, 2),
279
			new(2013, 1, 3),
280
			new(2013, 1, 4),
281
			new(2013, 1, 7),
282
			new(2013, 3, 8),
283
			new(2013, 5, 1),
284
			new(2013, 5, 9),
285
			new(2013, 6, 12),
286
			new(2013, 11, 4),
287
			new(2013, 12, 31),
288

289
			// http://moex.com/a2973
290
			new(2014, 1, 1),
291
			new(2014, 1, 2),
292
			new(2014, 1, 3),
293
			new(2014, 1, 7),
294
			new(2014, 3, 10),
295
			new(2014, 5, 1),
296
			new(2014, 5, 9),
297
			new(2014, 6, 12),
298
			new(2014, 11, 4),
299
			new(2014, 12, 31),
300

301
			// http://moex.com/a2793
302
			new(2015, 1, 1),
303
			new(2015, 1, 2),
304
			new(2015, 1, 7),
305
			new(2015, 2, 23),
306
			new(2015, 3, 9),
307
			new(2015, 5, 1),
308
			new(2015, 5, 4),
309
			new(2015, 5, 11),
310
			new(2015, 6, 12),
311
			new(2015, 11, 4),
312
			new(2015, 12, 31),
313

314
			// http://moex.com/a3367
315
			new(2016, 1, 1),
316
			new(2016, 1, 7),
317
			new(2016, 1, 8),
318
			new(2016, 2, 23),
319
			new(2016, 3, 8),
320
			new(2016, 5, 2),
321
			new(2016, 5, 3),
322
			new(2016, 5, 9),
323
			new(2016, 6, 13),
324
			new(2016, 11, 4),
325
		};
326

327
		private static readonly WorkingTime _micexWorkingTime = new()
328
		{
329
			IsEnabled = true,
330
			Periods = new()
331
			{
332
				new()
333
				{
334
					Till = DateTime.MaxValue,
335
					Times = new()
336
					{
337
						new("10:00:00".To<TimeSpan>(), "18:45:00".To<TimeSpan>())
338
					},
339
				}
340
			},
341
			SpecialWorkingDays = _russianSpecialWorkingDays,
342
			SpecialHolidays = _russianSpecialHolidays,
343
		};
344

345
		private static ExchangeBoard CreateMoex(string code) => new()
346
		{
347
			Code = code,
348
			WorkingTime = _micexWorkingTime.Clone(),
349
			Exchange = Exchange.Moex,
350
			TimeZone = TimeHelper.Moscow,
351
		};
352

353
		private static readonly TimeZoneInfo _singaporeTime = "Singapore Standard Time".To<TimeZoneInfo>();
354
		private static readonly TimeZoneInfo _bangkokTime = "SE Asia Standard Time".To<TimeZoneInfo>();
355
		private static readonly TimeZoneInfo _indiaTime = "India Standard Time".To<TimeZoneInfo>();
356

357
		private static TimeZoneInfo GetTimeZone(string id, TimeSpan offset)
358
		{
359
			try
360
			{
361
				return id.To<TimeZoneInfo>();
362
			}
363
			catch (TimeZoneNotFoundException)
364
			{
365
				return TimeZoneInfo.GetSystemTimeZones().First(z => z.BaseUtcOffset == offset);
366
			}
367
		}
368

369
		/// <summary>
370
		/// Information about board <see cref="Associated"/>.
371
		/// </summary>
372
		public static ExchangeBoard Associated { get; } = new()
373
		{
374
			Code = SecurityId.AssociatedBoardCode,
375
			Exchange = Exchange.Test,
376
		};
377

378
		/// <summary>
379
		/// Information about board <see cref="Test"/>.
380
		/// </summary>
381
		public static ExchangeBoard Test { get; } = new()
382
		{
383
			Code = BoardCodes.Test,
384
			Exchange = Exchange.Test,
385
		};
386

387
		/// <summary>
388
		/// Information about board <see cref="Forts"/>.
389
		/// </summary>
390
		public static ExchangeBoard Forts { get; } = new()
391
		{
392
			Code = BoardCodes.Forts,
393
			WorkingTime = new()
394
			{
395
				IsEnabled = true,
396
				Periods = new()
397
				{
398
					new()
399
					{
400
						Till = DateTime.MaxValue,
401
						Times = new()
402
						{
403
							new("10:00:00".To<TimeSpan>(), "14:00:00".To<TimeSpan>()),
404
							new("14:03:00".To<TimeSpan>(), "18:45:00".To<TimeSpan>()),
405
							new("19:00:00".To<TimeSpan>(), "23:50:00".To<TimeSpan>())
406
						},
407
					}
408
				},
409
				SpecialWorkingDays = _russianSpecialWorkingDays,
410
				SpecialHolidays = _russianSpecialHolidays,
411
			},
412
			ExpiryTime = new TimeSpan(18, 45, 00),
413
			//IsSupportAtomicReRegister = true,
414
			Exchange = Exchange.Moex,
415
			TimeZone = TimeHelper.Moscow,
416
		};
417

418
		/// <summary>
419
		/// Information about board <see cref="Micex"/>.
420
		/// </summary>
421
		public static ExchangeBoard Micex { get; } = CreateMoex(BoardCodes.Micex);
422

423
		/// <summary>
424
		/// Information about board <see cref="MicexAuct"/>.
425
		/// </summary>
426
		public static ExchangeBoard MicexAuct { get; } = CreateMoex(BoardCodes.MicexAuct);
427

428
		/// <summary>
429
		/// Information about board <see cref="MicexAubb"/>.
430
		/// </summary>
431
		public static ExchangeBoard MicexAubb { get; } = CreateMoex(BoardCodes.MicexAubb);
432

433
		/// <summary>
434
		/// Information about board <see cref="MicexCasf"/>.
435
		/// </summary>
436
		public static ExchangeBoard MicexCasf { get; } = CreateMoex(BoardCodes.MicexCasf);
437

438
		/// <summary>
439
		/// Information about board <see cref="MicexEqbr"/>.
440
		/// </summary>
441
		public static ExchangeBoard MicexEqbr { get; } = CreateMoex(BoardCodes.MicexEqbr);
442

443
		/// <summary>
444
		/// Information about board <see cref="MicexEqbs"/>.
445
		/// </summary>
446
		public static ExchangeBoard MicexEqbs { get; } = CreateMoex(BoardCodes.MicexEqbs);
447

448
		/// <summary>
449
		/// Information about board <see cref="MicexEqdp"/>.
450
		/// </summary>
451
		public static ExchangeBoard MicexEqdp { get; } = CreateMoex(BoardCodes.MicexEqdp);
452

453
		/// <summary>
454
		/// Information about board <see cref="MicexEqeu"/>.
455
		/// </summary>
456
		public static ExchangeBoard MicexEqeu { get; } = CreateMoex(BoardCodes.MicexEqeu);
457

458
		/// <summary>
459
		/// Information about board <see cref="MicexEqus"/>.
460
		/// </summary>
461
		public static ExchangeBoard MicexEqus { get; } = CreateMoex(BoardCodes.MicexEqus);
462

463
		/// <summary>
464
		/// Information about board <see cref="MicexEqnb"/>.
465
		/// </summary>
466
		public static ExchangeBoard MicexEqnb { get; } = CreateMoex(BoardCodes.MicexEqnb);
467

468
		/// <summary>
469
		/// Information about board <see cref="MicexEqne"/>.
470
		/// </summary>
471
		public static ExchangeBoard MicexEqne { get; } = CreateMoex(BoardCodes.MicexEqne);
472

473
		/// <summary>
474
		/// Information about board <see cref="MicexEqnl"/>.
475
		/// </summary>
476
		public static ExchangeBoard MicexEqnl { get; } = CreateMoex(BoardCodes.MicexEqnl);
477

478
		/// <summary>
479
		/// Information about board <see cref="MicexEqno"/>.
480
		/// </summary>
481
		public static ExchangeBoard MicexEqno { get; } = CreateMoex(BoardCodes.MicexEqno);
482

483
		/// <summary>
484
		/// Information about board <see cref="MicexEqob"/>.
485
		/// </summary>
486
		public static ExchangeBoard MicexEqob { get; } = CreateMoex(BoardCodes.MicexEqob);
487

488
		/// <summary>
489
		/// Information about board <see cref="MicexEqos"/>.
490
		/// </summary>
491
		public static ExchangeBoard MicexEqos { get; } = CreateMoex(BoardCodes.MicexEqos);
492

493
		/// <summary>
494
		/// Information about board <see cref="MicexEqov"/>.
495
		/// </summary>
496
		public static ExchangeBoard MicexEqov { get; } = CreateMoex(BoardCodes.MicexEqov);
497

498
		/// <summary>
499
		/// Information about board <see cref="MicexEqlv"/>.
500
		/// </summary>
501
		public static ExchangeBoard MicexEqlv { get; } = CreateMoex(BoardCodes.MicexEqlv);
502

503
		/// <summary>
504
		/// Information about board <see cref="MicexEqdb"/>.
505
		/// </summary>
506
		public static ExchangeBoard MicexEqdb { get; } = CreateMoex(BoardCodes.MicexEqdb);
507

508
		/// <summary>
509
		/// Information about board <see cref="MicexEqde"/>.
510
		/// </summary>
511
		public static ExchangeBoard MicexEqde { get; } = CreateMoex(BoardCodes.MicexEqde);
512

513
		/// <summary>
514
		/// Information about board <see cref="MicexEqli"/>.
515
		/// </summary>
516
		public static ExchangeBoard MicexEqli { get; } = CreateMoex(BoardCodes.MicexEqli);
517

518
		/// <summary>
519
		/// Information about board <see cref="MicexEqqi"/>.
520
		/// </summary>
521
		public static ExchangeBoard MicexEqqi { get; } = CreateMoex(BoardCodes.MicexEqqi);
522

523
		/// <summary>
524
		/// Information about board <see cref="MicexSmal"/>.
525
		/// </summary>
526
		public static ExchangeBoard MicexSmal { get; } = CreateMoex(BoardCodes.MicexSmal);
527

528
		/// <summary>
529
		/// Information about board <see cref="MicexSpob"/>.
530
		/// </summary>
531
		public static ExchangeBoard MicexSpob { get; } = CreateMoex(BoardCodes.MicexSpob);
532

533
		/// <summary>
534
		/// Information about board <see cref="MicexTqbr"/>.
535
		/// </summary>
536
		public static ExchangeBoard MicexTqbr { get; } = CreateMoex(BoardCodes.MicexTqbr);
537

538
		/// <summary>
539
		/// Information about board <see cref="MicexTqde"/>.
540
		/// </summary>
541
		public static ExchangeBoard MicexTqde { get; } = CreateMoex(BoardCodes.MicexTqde);
542

543
		/// <summary>
544
		/// Information about board <see cref="MicexTqbs"/>.
545
		/// </summary>
546
		public static ExchangeBoard MicexTqbs { get; } = CreateMoex(BoardCodes.MicexTqbs);
547

548
		/// <summary>
549
		/// Information about board <see cref="MicexTqeu"/>.
550
		/// </summary>
551
		public static ExchangeBoard MicexTqeu { get; } = CreateMoex(BoardCodes.MicexTqeu);
552

553
		/// <summary>
554
		/// Information about board <see cref="MicexTqus"/>.
555
		/// </summary>
556
		public static ExchangeBoard MicexTqus { get; } = CreateMoex(BoardCodes.MicexTqus);
557

558
		/// <summary>
559
		/// Information about board <see cref="MicexTqnb"/>.
560
		/// </summary>
561
		public static ExchangeBoard MicexTqnb { get; } = CreateMoex(BoardCodes.MicexTqnb);
562

563
		/// <summary>
564
		/// Information about board <see cref="MicexTqne"/>.
565
		/// </summary>
566
		public static ExchangeBoard MicexTqne { get; } = CreateMoex(BoardCodes.MicexTqne);
567

568
		/// <summary>
569
		/// Information about board <see cref="MicexTqnl"/>.
570
		/// </summary>
571
		public static ExchangeBoard MicexTqnl { get; } = CreateMoex(BoardCodes.MicexTqnl);
572

573
		/// <summary>
574
		/// Information about board <see cref="MicexTqno"/>.
575
		/// </summary>
576
		public static ExchangeBoard MicexTqno { get; } = CreateMoex(BoardCodes.MicexTqno);
577

578
		/// <summary>
579
		/// Information about board <see cref="MicexTqob"/>.
580
		/// </summary>
581
		public static ExchangeBoard MicexTqob { get; } = CreateMoex(BoardCodes.MicexTqob);
582

583
		/// <summary>
584
		/// Information about board <see cref="MicexTqos"/>.
585
		/// </summary>
586
		public static ExchangeBoard MicexTqos { get; } = CreateMoex(BoardCodes.MicexTqos);
587

588
		/// <summary>
589
		/// Information about board <see cref="MicexTqov"/>.
590
		/// </summary>
591
		public static ExchangeBoard MicexTqov { get; } = CreateMoex(BoardCodes.MicexTqov);
592

593
		/// <summary>
594
		/// Information about board <see cref="MicexTqlv"/>.
595
		/// </summary>
596
		public static ExchangeBoard MicexTqlv { get; } = CreateMoex(BoardCodes.MicexTqlv);
597

598
		/// <summary>
599
		/// Information about board <see cref="MicexTqli"/>.
600
		/// </summary>
601
		public static ExchangeBoard MicexTqli { get; } = CreateMoex(BoardCodes.MicexTqli);
602

603
		/// <summary>
604
		/// Information about board <see cref="MicexTqqi"/>.
605
		/// </summary>
606
		public static ExchangeBoard MicexTqqi { get; } = CreateMoex(BoardCodes.MicexTqqi);
607

608
		/// <summary>
609
		/// Information about board <see cref="MicexEqrp"/>.
610
		/// </summary>
611
		public static ExchangeBoard MicexEqrp { get; } = CreateMoex(BoardCodes.MicexEqrp);
612

613
		/// <summary>
614
		/// Information about board <see cref="MicexPsrp"/>.
615
		/// </summary>
616
		public static ExchangeBoard MicexPsrp { get; } = CreateMoex(BoardCodes.MicexPsrp);
617

618
		/// <summary>
619
		/// Information about board <see cref="MicexRfnd"/>.
620
		/// </summary>
621
		public static ExchangeBoard MicexRfnd { get; } = CreateMoex(BoardCodes.MicexRfnd);
622

623
		/// <summary>
624
		/// Information about board <see cref="MicexTadm"/>.
625
		/// </summary>
626
		public static ExchangeBoard MicexTadm { get; } = CreateMoex(BoardCodes.MicexTadm);
627

628
		/// <summary>
629
		/// Information about board <see cref="MicexNadm"/>.
630
		/// </summary>
631
		public static ExchangeBoard MicexNadm { get; } = CreateMoex(BoardCodes.MicexNadm);
632

633
		/// <summary>
634
		/// Information about board <see cref="MicexPsau"/>.
635
		/// </summary>
636
		public static ExchangeBoard MicexPsau { get; } = CreateMoex(BoardCodes.MicexPsau);
637

638
		/// <summary>
639
		/// Information about board <see cref="MicexPaus"/>.
640
		/// </summary>
641
		public static ExchangeBoard MicexPaus { get; } = CreateMoex(BoardCodes.MicexPaus);
642

643
		/// <summary>
644
		/// Information about board <see cref="MicexPsbb"/>.
645
		/// </summary>
646
		public static ExchangeBoard MicexPsbb { get; } = CreateMoex(BoardCodes.MicexPsbb);
647

648
		/// <summary>
649
		/// Information about board <see cref="MicexPseq"/>.
650
		/// </summary>
651
		public static ExchangeBoard MicexPseq { get; } = CreateMoex(BoardCodes.MicexPseq);
652

653
		/// <summary>
654
		/// Information about board <see cref="MicexPses"/>.
655
		/// </summary>
656
		public static ExchangeBoard MicexPses { get; } = CreateMoex(BoardCodes.MicexPses);
657

658
		/// <summary>
659
		/// Information about board <see cref="MicexPseu"/>.
660
		/// </summary>
661
		public static ExchangeBoard MicexPseu { get; } = CreateMoex(BoardCodes.MicexPseu);
662

663
		/// <summary>
664
		/// Information about board <see cref="MicexPsdb"/>.
665
		/// </summary>
666
		public static ExchangeBoard MicexPsdb { get; } = CreateMoex(BoardCodes.MicexPsdb);
667

668
		/// <summary>
669
		/// Information about board <see cref="MicexPsde"/>.
670
		/// </summary>
671
		public static ExchangeBoard MicexPsde { get; } = CreateMoex(BoardCodes.MicexPsde);
672

673
		/// <summary>
674
		/// Information about board <see cref="MicexPsus"/>.
675
		/// </summary>
676
		public static ExchangeBoard MicexPsus { get; } = CreateMoex(BoardCodes.MicexPsus);
677

678
		/// <summary>
679
		/// Information about board <see cref="MicexPsnb"/>.
680
		/// </summary>
681
		public static ExchangeBoard MicexPsnb { get; } = CreateMoex(BoardCodes.MicexPsnb);
682

683
		/// <summary>
684
		/// Information about board <see cref="MicexPsne"/>.
685
		/// </summary>
686
		public static ExchangeBoard MicexPsne { get; } = CreateMoex(BoardCodes.MicexPsne);
687

688
		/// <summary>
689
		/// Information about board <see cref="MicexPsnl"/>.
690
		/// </summary>
691
		public static ExchangeBoard MicexPsnl { get; } = CreateMoex(BoardCodes.MicexPsnl);
692

693
		/// <summary>
694
		/// Information about board <see cref="MicexPsno"/>.
695
		/// </summary>
696
		public static ExchangeBoard MicexPsno { get; } = CreateMoex(BoardCodes.MicexPsno);
697

698
		/// <summary>
699
		/// Information about board <see cref="MicexPsob"/>.
700
		/// </summary>
701
		public static ExchangeBoard MicexPsob { get; } = CreateMoex(BoardCodes.MicexPsob);
702

703
		/// <summary>
704
		/// Information about board <see cref="MicexPsos"/>.
705
		/// </summary>
706
		public static ExchangeBoard MicexPsos { get; } = CreateMoex(BoardCodes.MicexPsos);
707

708
		/// <summary>
709
		/// Information about board <see cref="MicexPsov"/>.
710
		/// </summary>
711
		public static ExchangeBoard MicexPsov { get; } = CreateMoex(BoardCodes.MicexPsov);
712

713
		/// <summary>
714
		/// Information about board <see cref="MicexPslv"/>.
715
		/// </summary>
716
		public static ExchangeBoard MicexPslv { get; } = CreateMoex(BoardCodes.MicexPslv);
717

718
		/// <summary>
719
		/// Information about board <see cref="MicexPsli"/>.
720
		/// </summary>
721
		public static ExchangeBoard MicexPsli { get; } = CreateMoex(BoardCodes.MicexPsli);
722

723
		/// <summary>
724
		/// Information about board <see cref="MicexPsqi"/>.
725
		/// </summary>
726
		public static ExchangeBoard MicexPsqi { get; } = CreateMoex(BoardCodes.MicexPsqi);
727

728
		/// <summary>
729
		/// Information about board <see cref="MicexRpeu"/>.
730
		/// </summary>
731
		public static ExchangeBoard MicexRpeu { get; } = CreateMoex(BoardCodes.MicexRpeu);
732

733
		/// <summary>
734
		/// Information about board <see cref="MicexRpma"/>.
735
		/// </summary>
736
		public static ExchangeBoard MicexRpma { get; } = CreateMoex(BoardCodes.MicexRpma);
737

738
		/// <summary>
739
		/// Information about board <see cref="MicexRpmo"/>.
740
		/// </summary>
741
		public static ExchangeBoard MicexRpmo { get; } = CreateMoex(BoardCodes.MicexRpmo);
742

743
		/// <summary>
744
		/// Information about board <see cref="MicexRpua"/>.
745
		/// </summary>
746
		public static ExchangeBoard MicexRpua { get; } = CreateMoex(BoardCodes.MicexRpua);
747

748
		/// <summary>
749
		/// Information about board <see cref="MicexRpuo"/>.
750
		/// </summary>
751
		public static ExchangeBoard MicexRpuo { get; } = CreateMoex(BoardCodes.MicexRpuo);
752

753
		/// <summary>
754
		/// Information about board <see cref="MicexRpuq"/>.
755
		/// </summary>
756
		public static ExchangeBoard MicexRpuq { get; } = CreateMoex(BoardCodes.MicexRpuq);
757

758
		/// <summary>
759
		/// Information about board <see cref="MicexFbcb"/>.
760
		/// </summary>
761
		public static ExchangeBoard MicexFbcb { get; } = CreateMoex(BoardCodes.MicexFbcb);
762

763
		/// <summary>
764
		/// Information about board <see cref="MicexFbfx"/>.
765
		/// </summary>
766
		public static ExchangeBoard MicexFbfx { get; } = CreateMoex(BoardCodes.MicexFbfx);
767

768
		/// <summary>
769
		/// Information about board <see cref="MicexIrk2"/>.
770
		/// </summary>
771
		public static ExchangeBoard MicexIrk2 { get; } = CreateMoex(BoardCodes.MicexIrk2);
772

773
		/// <summary>
774
		/// Information about board <see cref="MicexRpqi"/>.
775
		/// </summary>
776
		public static ExchangeBoard MicexRpqi { get; } = CreateMoex(BoardCodes.MicexRpqi);
777

778
		/// <summary>
779
		/// Information about board <see cref="MicexPteq"/>.
780
		/// </summary>
781
		public static ExchangeBoard MicexPteq { get; } = CreateMoex(BoardCodes.MicexPteq);
782

783
		/// <summary>
784
		/// Information about board <see cref="MicexPtes"/>.
785
		/// </summary>
786
		public static ExchangeBoard MicexPtes { get; } = CreateMoex(BoardCodes.MicexPtes);
787

788
		/// <summary>
789
		/// Information about board <see cref="MicexPteu"/>.
790
		/// </summary>
791
		public static ExchangeBoard MicexPteu { get; } = CreateMoex(BoardCodes.MicexPteu);
792

793
		/// <summary>
794
		/// Information about board <see cref="MicexPtus"/>.
795
		/// </summary>
796
		public static ExchangeBoard MicexPtus { get; } = CreateMoex(BoardCodes.MicexPtus);
797

798
		/// <summary>
799
		/// Information about board <see cref="MicexPtnb"/>.
800
		/// </summary>
801
		public static ExchangeBoard MicexPtnb { get; } = CreateMoex(BoardCodes.MicexPtnb);
802

803
		/// <summary>
804
		/// Information about board <see cref="MicexPtne"/>.
805
		/// </summary>
806
		public static ExchangeBoard MicexPtne { get; } = CreateMoex(BoardCodes.MicexPtne);
807

808
		/// <summary>
809
		/// Information about board <see cref="MicexPtnl"/>.
810
		/// </summary>
811
		public static ExchangeBoard MicexPtnl { get; } = CreateMoex(BoardCodes.MicexPtnl);
812

813
		/// <summary>
814
		/// Information about board <see cref="MicexPtno"/>.
815
		/// </summary>
816
		public static ExchangeBoard MicexPtno { get; } = CreateMoex(BoardCodes.MicexPtno);
817

818
		/// <summary>
819
		/// Information about board <see cref="MicexPtob"/>.
820
		/// </summary>
821
		public static ExchangeBoard MicexPtob { get; } = CreateMoex(BoardCodes.MicexPtob);
822

823
		/// <summary>
824
		/// Information about board <see cref="MicexPtos"/>.
825
		/// </summary>
826
		public static ExchangeBoard MicexPtos { get; } = CreateMoex(BoardCodes.MicexPtos);
827

828
		/// <summary>
829
		/// Information about board <see cref="MicexPtov"/>.
830
		/// </summary>
831
		public static ExchangeBoard MicexPtov { get; } = CreateMoex(BoardCodes.MicexPtov);
832

833
		/// <summary>
834
		/// Information about board <see cref="MicexPtlv"/>.
835
		/// </summary>
836
		public static ExchangeBoard MicexPtlv { get; } = CreateMoex(BoardCodes.MicexPtlv);
837

838
		/// <summary>
839
		/// Information about board <see cref="MicexPtli"/>.
840
		/// </summary>
841
		public static ExchangeBoard MicexPtli { get; } = CreateMoex(BoardCodes.MicexPtli);
842

843
		/// <summary>
844
		/// Information about board <see cref="MicexPtqi"/>.
845
		/// </summary>
846
		public static ExchangeBoard MicexPtqi { get; } = CreateMoex(BoardCodes.MicexPtqi);
847

848
		/// <summary>
849
		/// Information about board <see cref="MicexScvc"/>.
850
		/// </summary>
851
		public static ExchangeBoard MicexScvc { get; } = CreateMoex(BoardCodes.MicexScvc);
852

853
		/// <summary>
854
		/// Information about board <see cref="MicexRpng"/>.
855
		/// </summary>
856
		public static ExchangeBoard MicexRpng { get; } = CreateMoex(BoardCodes.MicexRpng);
857

858
		/// <summary>
859
		/// Information about board <see cref="MicexRpfg"/>.
860
		/// </summary>
861
		public static ExchangeBoard MicexRpfg { get; } = CreateMoex(BoardCodes.MicexRpfg);
862

863
		/// <summary>
864
		/// Information about board <see cref="MicexCbcr"/>.
865
		/// </summary>
866
		public static ExchangeBoard MicexCbcr { get; } = CreateMoex(BoardCodes.MicexCbcr);
867

868
		/// <summary>
869
		/// Information about board <see cref="MicexCred"/>.
870
		/// </summary>
871
		public static ExchangeBoard MicexCred { get; } = CreateMoex(BoardCodes.MicexCred);
872

873
		/// <summary>
874
		/// Information about board <see cref="MicexDepz"/>.
875
		/// </summary>
876
		public static ExchangeBoard MicexDepz { get; } = CreateMoex(BoardCodes.MicexDepz);
877

878
		/// <summary>
879
		/// Information about board <see cref="MicexDpvb"/>.
880
		/// </summary>
881
		public static ExchangeBoard MicexDpvb { get; } = CreateMoex(BoardCodes.MicexDpvb);
882

883
		/// <summary>
884
		/// Information about board <see cref="MicexDpfk"/>.
885
		/// </summary>
886
		public static ExchangeBoard MicexDpfk { get; } = CreateMoex(BoardCodes.MicexDpfk);
887

888
		/// <summary>
889
		/// Information about board <see cref="MicexDpfo"/>.
890
		/// </summary>
891
		public static ExchangeBoard MicexDpfo { get; } = CreateMoex(BoardCodes.MicexDpfo);
892

893
		/// <summary>
894
		/// Information about board <see cref="MicexDppf"/>.
895
		/// </summary>
896
		public static ExchangeBoard MicexDppf { get; } = CreateMoex(BoardCodes.MicexDppf);
897

898
		/// <summary>
899
		/// Information about board <see cref="MicexCets"/>.
900
		/// </summary>
901
		public static ExchangeBoard MicexCets { get; } = CreateMoex(BoardCodes.MicexCets);
902

903
		/// <summary>
904
		/// Information about board <see cref="MicexAets"/>.
905
		/// </summary>
906
		public static ExchangeBoard MicexAets { get; } = CreateMoex(BoardCodes.MicexAets);
907

908
		/// <summary>
909
		/// Information about board <see cref="MicexCngd"/>.
910
		/// </summary>
911
		public static ExchangeBoard MicexCngd { get; } = CreateMoex(BoardCodes.MicexCngd);
912

913
		/// <summary>
914
		/// Information about board <see cref="MicexTran"/>.
915
		/// </summary>
916
		public static ExchangeBoard MicexTran { get; } = CreateMoex(BoardCodes.MicexTran);
917

918
		/// <summary>
919
		/// Information about board <see cref="MicexJunior"/>.
920
		/// </summary>
921
		public static ExchangeBoard MicexJunior { get; } = CreateMoex(BoardCodes.MicexJunior);
922

923
		/// <summary>
924
		/// Information about board <see cref="Spb"/>.
925
		/// </summary>
926
		public static ExchangeBoard Spb { get; } = new()
927
		{
928
			Code = BoardCodes.Spb,
929
			Exchange = Exchange.Spb,
930
			TimeZone = TimeHelper.Moscow,
931
		};
932

933
		/// <summary>
934
		/// Information about board <see cref="Ux"/>.
935
		/// </summary>
936
		public static ExchangeBoard Ux { get; } = new()
937
		{
938
			Code = BoardCodes.Ux,
939
			WorkingTime = new()
940
			{
941
				IsEnabled = true,
942
				Periods = new()
943
				{
944
					new()
945
					{
946
						Till = DateTime.MaxValue,
947
						Times = new()
948
						{
949
							new("10:30:00".To<TimeSpan>(), "13:00:00".To<TimeSpan>()),
950
							new("13:03:00".To<TimeSpan>(), "17:30:00".To<TimeSpan>())
951
						},
952
					}
953
				},
954
			},
955
			ExpiryTime = new TimeSpan(18, 45, 00),
956
			//IsSupportAtomicReRegister = true,
957
			Exchange = Exchange.Ux,
958
			TimeZone = TimeHelper.Fle,
959
		};
960

961
		/// <summary>
962
		/// Information about board <see cref="UxStock"/>.
963
		/// </summary>
964
		public static ExchangeBoard UxStock { get; } = new()
965
		{
966
			Code = BoardCodes.UxStock,
967
			WorkingTime = new()
968
			{
969
				IsEnabled = true,
970
				Periods = new()
971
				{
972
					new()
973
					{
974
						Till = DateTime.MaxValue,
975
						Times = new()
976
						{
977
							new("10:30:00".To<TimeSpan>(), "17:30:00".To<TimeSpan>())
978
						},
979
					}
980
				},
981
			},
982
			Exchange = Exchange.Ux,
983
			TimeZone = TimeHelper.Fle,
984
		};
985

986
		/// <summary>
987
		/// Information about board <see cref="Cme"/>.
988
		/// </summary>
989
		public static ExchangeBoard Cme { get; } = new()
990
		{
991
			Code = BoardCodes.Cme,
992
			TimeZone = TimeHelper.Cst,
993
			Exchange = Exchange.Cme,
994
		};
995

996
		/// <summary>
997
		/// Information about board <see cref="Cme"/>.
998
		/// </summary>
999
		public static ExchangeBoard CmeMini { get; } = new()
1000
		{
1001
			Code = BoardCodes.CmeMini,
1002
			TimeZone = TimeHelper.Cst,
1003
			Exchange = Exchange.Cme,
1004
		};
1005

1006
		/// <summary>
1007
		/// Information about board <see cref="Cce"/>.
1008
		/// </summary>
1009
		public static ExchangeBoard Cce { get; } = new()
1010
		{
1011
			Code = BoardCodes.Cce,
1012
			TimeZone = TimeHelper.Cst,
1013
			Exchange = Exchange.Cce,
1014
		};
1015

1016
		/// <summary>
1017
		/// Information about board <see cref="Cbot"/>.
1018
		/// </summary>
1019
		public static ExchangeBoard Cbot { get; } = new()
1020
		{
1021
			Code = BoardCodes.Cbot,
1022
			TimeZone = TimeHelper.Cst,
1023
			Exchange = Exchange.Cbot,
1024
		};
1025

1026
		/// <summary>
1027
		/// Information about board <see cref="Nymex"/>.
1028
		/// </summary>
1029
		public static ExchangeBoard Nymex { get; } = new()
1030
		{
1031
			Code = BoardCodes.Nymex,
1032
			TimeZone = TimeHelper.Est,
1033
			Exchange = Exchange.Nymex,
1034
		};
1035

1036
		/// <summary>
1037
		/// Information about board <see cref="Amex"/>.
1038
		/// </summary>
1039
		public static ExchangeBoard Amex { get; } = new()
1040
		{
1041
			Code = BoardCodes.Amex,
1042
			WorkingTime = new()
1043
			{
1044
				IsEnabled = true,
1045
				Periods = new()
1046
				{
1047
					new()
1048
					{
1049
						Till = DateTime.MaxValue,
1050
						Times = new()
1051
						{
1052
							new("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1053
						},
1054
					}
1055
				},
1056
			},
1057
			//IsSupportMarketOrders = true,
1058
			TimeZone = TimeHelper.Est,
1059
			Exchange = Exchange.Amex
1060
		};
1061

1062
		/// <summary>
1063
		/// Information about board <see cref="Nyse"/>.
1064
		/// </summary>
1065
		public static ExchangeBoard Nyse { get; } = new()
1066
		{
1067
			Code = BoardCodes.Nyse,
1068
			WorkingTime = new()
1069
			{
1070
				IsEnabled = true,
1071
				Periods = new()
1072
				{
1073
					new()
1074
					{
1075
						Till = DateTime.MaxValue,
1076
						Times = new()
1077
						{
1078
							new("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1079
						},
1080
					}
1081
				},
1082
			},
1083
			//IsSupportMarketOrders = true,
1084
			TimeZone = TimeHelper.Est,
1085
			Exchange = Exchange.Nyse
1086
		};
1087

1088
		/// <summary>
1089
		/// Information about board <see cref="Nasdaq"/>.
1090
		/// </summary>
1091
		public static ExchangeBoard Nasdaq { get; } = new()
1092
		{
1093
			Code = BoardCodes.Nasdaq,
1094
			WorkingTime = new()
1095
			{
1096
				IsEnabled = true,
1097
				Periods = new()
1098
				{
1099
					new()
1100
					{
1101
						Till = DateTime.MaxValue,
1102
						Times = new()
1103
						{
1104
							new("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1105
						},
1106
					}
1107
				},
1108
			},
1109
			//IsSupportMarketOrders = true,
1110
			Exchange = Exchange.Nasdaq,
1111
			TimeZone = TimeHelper.Est,
1112
		};
1113

1114
		/// <summary>
1115
		/// Information about board <see cref="Nqlx"/>.
1116
		/// </summary>
1117
		public static ExchangeBoard Nqlx { get; } = new()
1118
		{
1119
			Code = BoardCodes.Nqlx,
1120
			Exchange = Exchange.Nqlx,
1121
			TimeZone = TimeHelper.Est,
1122
		};
1123

1124
		/// <summary>
1125
		/// Information about board <see cref="Lse"/>.
1126
		/// </summary>
1127
		public static ExchangeBoard Lse { get; } = new()
1128
		{
1129
			Code = BoardCodes.Lse,
1130
			WorkingTime = new()
1131
			{
1132
				IsEnabled = true,
1133
				Periods = new()
1134
				{
1135
					new()
1136
					{
1137
						Till = DateTime.MaxValue,
1138
						Times = new()
1139
						{
1140
							new("08:00:00".To<TimeSpan>(), "16:30:00".To<TimeSpan>())
1141
						},
1142
					}
1143
				},
1144
			},
1145
			Exchange = Exchange.Lse,
1146
			TimeZone = TimeHelper.Gmt,
1147
		};
1148

1149
		/// <summary>
1150
		/// Information about board <see cref="Lme"/>.
1151
		/// </summary>
1152
		public static ExchangeBoard Lme { get; } = new()
1153
		{
1154
			Code = BoardCodes.Lme,
1155
			WorkingTime = new()
1156
			{
1157
				IsEnabled = true,
1158
				Periods = new()
1159
				{
1160
					new()
1161
					{
1162
						Till = DateTime.MaxValue,
1163
						Times = new()
1164
						{
1165
							new("09:00:00".To<TimeSpan>(), "18:00:00".To<TimeSpan>())
1166
						},
1167
					}
1168
				},
1169
			},
1170
			Exchange = Exchange.Lme,
1171
			TimeZone = TimeHelper.Gmt,
1172
		};
1173

1174
		/// <summary>
1175
		/// Information about board <see cref="Tse"/>.
1176
		/// </summary>
1177
		public static ExchangeBoard Tse { get; } = new()
1178
		{
1179
			Code = BoardCodes.Tse,
1180
			WorkingTime = new()
1181
			{
1182
				IsEnabled = true,
1183
				Periods = new()
1184
				{
1185
					new()
1186
					{
1187
						Till = DateTime.MaxValue,
1188
						Times = new()
1189
						{
1190
							new("09:00:00".To<TimeSpan>(), "11:30:00".To<TimeSpan>()),
1191
							new("12:30:00".To<TimeSpan>(), "15:00:00".To<TimeSpan>())
1192
						},
1193
					}
1194
				},
1195
			},
1196
			Exchange = Exchange.Tse,
1197
			TimeZone = TimeHelper.Tokyo,
1198
		};
1199

1200
		/// <summary>
1201
		/// Information about board <see cref="Hkex"/>.
1202
		/// </summary>
1203
		public static ExchangeBoard Hkex { get; } = new()
1204
		{
1205
			Code = BoardCodes.Hkex,
1206
			WorkingTime = new()
1207
			{
1208
				IsEnabled = true,
1209
				Periods = new()
1210
				{
1211
					new()
1212
					{
1213
						Till = DateTime.MaxValue,
1214
						Times = new()
1215
						{
1216
							new("09:20:00".To<TimeSpan>(), "12:00:00".To<TimeSpan>()),
1217
							new("13:00:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1218
						},
1219
					}
1220
				},
1221
			},
1222
			Exchange = Exchange.Hkex,
1223
			TimeZone = TimeHelper.China,
1224
		};
1225

1226
		/// <summary>
1227
		/// Information about board <see cref="Hkfe"/>.
1228
		/// </summary>
1229
		public static ExchangeBoard Hkfe { get; } = new()
1230
		{
1231
			Code = BoardCodes.Hkfe,
1232
			WorkingTime = new()
1233
			{
1234
				IsEnabled = true,
1235
				Periods = new()
1236
				{
1237
					new()
1238
					{
1239
						Till = DateTime.MaxValue,
1240
						Times = new()
1241
						{
1242
							new("09:15:00".To<TimeSpan>(), "12:00:00".To<TimeSpan>()),
1243
							new("13:00:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1244
						},
1245
					}
1246
				},
1247
			},
1248
			Exchange = Exchange.Hkfe,
1249
			TimeZone = TimeHelper.China,
1250
		};
1251

1252
		/// <summary>
1253
		/// Information about board <see cref="Sse"/>.
1254
		/// </summary>
1255
		public static ExchangeBoard Sse { get; } = new()
1256
		{
1257
			Code = BoardCodes.Sse,
1258
			WorkingTime = new()
1259
			{
1260
				IsEnabled = true,
1261
				Periods = new()
1262
				{
1263
					new()
1264
					{
1265
						Till = DateTime.MaxValue,
1266
						Times = new()
1267
						{
1268
							new("09:30:00".To<TimeSpan>(), "11:30:00".To<TimeSpan>()),
1269
							new("13:00:00".To<TimeSpan>(), "15:00:00".To<TimeSpan>())
1270
						},
1271
					}
1272
				},
1273
			},
1274
			Exchange = Exchange.Sse,
1275
			TimeZone = TimeHelper.China,
1276
		};
1277

1278
		/// <summary>
1279
		/// Information about board <see cref="Szse"/>.
1280
		/// </summary>
1281
		public static ExchangeBoard Szse { get; } = new()
1282
		{
1283
			Code = BoardCodes.Szse,
1284
			WorkingTime = new()
1285
			{
1286
				IsEnabled = true,
1287
				Periods = new()
1288
				{
1289
					new()
1290
					{
1291
						Till = DateTime.MaxValue,
1292
						Times = new()
1293
						{
1294
							new("09:30:00".To<TimeSpan>(), "11:30:00".To<TimeSpan>()),
1295
							new("13:00:00".To<TimeSpan>(), "15:00:00".To<TimeSpan>())
1296
						},
1297
					}
1298
				},
1299
			},
1300
			Exchange = Exchange.Szse,
1301
			TimeZone = TimeHelper.China,
1302
		};
1303

1304
		/// <summary>
1305
		/// Information about board <see cref="Tsx"/>.
1306
		/// </summary>
1307
		public static ExchangeBoard Tsx { get; } = new()
1308
		{
1309
			Code = BoardCodes.Tsx,
1310
			WorkingTime = new()
1311
			{
1312
				IsEnabled = true,
1313
				Periods = new()
1314
				{
1315
					new()
1316
					{
1317
						Till = DateTime.MaxValue,
1318
						Times = new()
1319
						{
1320
							new("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1321
						},
1322
					}
1323
				},
1324
			},
1325
			Exchange = Exchange.Tsx,
1326
			TimeZone = TimeHelper.Est,
1327
		};
1328

1329
		/// <summary>
1330
		/// Information about board <see cref="Fwb"/>.
1331
		/// </summary>
1332
		public static ExchangeBoard Fwb { get; } = new()
1333
		{
1334
			Code = BoardCodes.Fwb,
1335
			WorkingTime = new()
1336
			{
1337
				IsEnabled = true,
1338
				Periods = new()
1339
				{
1340
					new()
1341
					{
1342
						Till = DateTime.MaxValue,
1343
						Times = new()
1344
						{
1345
							new("08:00:00".To<TimeSpan>(), "22:00:00".To<TimeSpan>())
1346
						},
1347
					}
1348
				},
1349
			},
1350
			Exchange = Exchange.Fwb,
1351
			TimeZone = "W. Europe Standard Time".To<TimeZoneInfo>(),
1352
		};
1353

1354
		/// <summary>
1355
		/// Information about board <see cref="Asx"/>.
1356
		/// </summary>
1357
		public static ExchangeBoard Asx { get; } = new()
1358
		{
1359
			Code = BoardCodes.Asx,
1360
			WorkingTime = new()
1361
			{
1362
				IsEnabled = true,
1363
				Periods = new()
1364
				{
1365
					new()
1366
					{
1367
						Till = DateTime.MaxValue,
1368
						Times = new()
1369
						{
1370
							new("09:50:00".To<TimeSpan>(), "16:12:00".To<TimeSpan>())
1371
						},
1372
					}
1373
				},
1374
			},
1375
			Exchange = Exchange.Asx,
1376
			TimeZone = "AUS Eastern Standard Time".To<TimeZoneInfo>(),
1377
		};
1378

1379
		/// <summary>
1380
		/// Information about board <see cref="Nzx"/>.
1381
		/// </summary>
1382
		public static ExchangeBoard Nzx { get; } = new()
1383
		{
1384
			Code = BoardCodes.Nzx,
1385
			WorkingTime = new()
1386
			{
1387
				IsEnabled = true,
1388
				Periods = new()
1389
				{
1390
					new()
1391
					{
1392
						Till = DateTime.MaxValue,
1393
						Times = new()
1394
						{
1395
							new("10:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
1396
						},
1397
					}
1398
				},
1399
			},
1400
			Exchange = Exchange.Nzx,
1401
			TimeZone = "New Zealand Standard Time".To<TimeZoneInfo>(),
1402
		};
1403

1404
		/// <summary>
1405
		/// Information about board <see cref="Bse"/>.
1406
		/// </summary>
1407
		public static ExchangeBoard Bse { get; } = new()
1408
		{
1409
			Code = BoardCodes.Bse,
1410
			WorkingTime = new()
1411
			{
1412
				IsEnabled = true,
1413
				Periods = new()
1414
				{
1415
					new()
1416
					{
1417
						Till = DateTime.MaxValue,
1418
						Times = new()
1419
						{
1420
							new("09:15:00".To<TimeSpan>(), "15:30:00".To<TimeSpan>())
1421
						},
1422
					}
1423
				},
1424
			},
1425
			Exchange = Exchange.Bse,
1426
			TimeZone = _indiaTime,
1427
		};
1428

1429
		/// <summary>
1430
		/// Information about board <see cref="Nse"/>.
1431
		/// </summary>
1432
		public static ExchangeBoard Nse { get; } = new()
1433
		{
1434
			Code = BoardCodes.Nse,
1435
			WorkingTime = new()
1436
			{
1437
				IsEnabled = true,
1438
				Periods = new()
1439
				{
1440
					new()
1441
					{
1442
						Till = DateTime.MaxValue,
1443
						Times = new()
1444
						{
1445
							new("09:15:00".To<TimeSpan>(), "15:30:00".To<TimeSpan>())
1446
						},
1447
					}
1448
				},
1449
			},
1450
			Exchange = Exchange.Nse,
1451
			TimeZone = _indiaTime,
1452
		};
1453

1454
		/// <summary>
1455
		/// Information about board <see cref="Swx"/>.
1456
		/// </summary>
1457
		public static ExchangeBoard Swx { get; } = new()
1458
		{
1459
			Code = BoardCodes.Swx,
1460
			WorkingTime = new()
1461
			{
1462
				IsEnabled = true,
1463
				Periods = new()
1464
				{
1465
					new()
1466
					{
1467
						Till = DateTime.MaxValue,
1468
						Times = new()
1469
						{
1470
							new("9:00:00".To<TimeSpan>(), "17:30:00".To<TimeSpan>())
1471
						},
1472
					}
1473
				},
1474
			},
1475
			Exchange = Exchange.Swx,
1476
			TimeZone = GetTimeZone("Central European Standard Time", TimeSpan.FromHours(1)),
1477
		};
1478

1479
		/// <summary>
1480
		/// Information about board <see cref="Krx"/>.
1481
		/// </summary>
1482
		public static ExchangeBoard Krx { get; } = new()
1483
		{
1484
			Code = BoardCodes.Krx,
1485
			WorkingTime = new()
1486
			{
1487
				IsEnabled = true,
1488
				Periods = new()
1489
				{
1490
					new()
1491
					{
1492
						Till = DateTime.MaxValue,
1493
						Times = new()
1494
						{
1495
							new("09:00:00".To<TimeSpan>(), "15:00:00".To<TimeSpan>())
1496
						},
1497
					}
1498
				},
1499
			},
1500
			Exchange = Exchange.Krx,
1501
			TimeZone = TimeHelper.Korea,
1502
		};
1503

1504
		/// <summary>
1505
		/// Information about board <see cref="Mse"/>.
1506
		/// </summary>
1507
		public static ExchangeBoard Mse { get; } = new()
1508
		{
1509
			Code = BoardCodes.Mse,
1510
			WorkingTime = new()
1511
			{
1512
				IsEnabled = true,
1513
				Periods = new()
1514
				{
1515
					new()
1516
					{
1517
						Till = DateTime.MaxValue,
1518
						Times = new()
1519
						{
1520
							new("9:00:00".To<TimeSpan>(), "17:30:00".To<TimeSpan>())
1521
						},
1522
					}
1523
				},
1524
			},
1525
			Exchange = Exchange.Mse,
1526
			TimeZone = "Romance Standard Time".To<TimeZoneInfo>(),
1527
		};
1528

1529
		/// <summary>
1530
		/// Information about board <see cref="Jse"/>.
1531
		/// </summary>
1532
		public static ExchangeBoard Jse { get; } = new()
1533
		{
1534
			Code = BoardCodes.Jse,
1535
			WorkingTime = new()
1536
			{
1537
				IsEnabled = true,
1538
				Periods = new()
1539
				{
1540
					new()
1541
					{
1542
						Till = DateTime.MaxValue,
1543
						Times = new()
1544
						{
1545
							new("9:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
1546
						},
1547
					}
1548
				},
1549
			},
1550
			Exchange = Exchange.Jse,
1551
			TimeZone = GetTimeZone("South Africa Standard Time", TimeSpan.FromHours(2)),
1552
		};
1553

1554
		/// <summary>
1555
		/// Information about board <see cref="Sgx"/>.
1556
		/// </summary>
1557
		public static ExchangeBoard Sgx { get; } = new()
1558
		{
1559
			Code = BoardCodes.Sgx,
1560
			WorkingTime = new()
1561
			{
1562
				IsEnabled = true,
1563
				Periods = new()
1564
				{
1565
					new()
1566
					{
1567
						Till = DateTime.MaxValue,
1568
						Times = new()
1569
						{
1570
							new("09:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
1571
						},
1572
					}
1573
				},
1574
			},
1575
			Exchange = Exchange.Sgx,
1576
			TimeZone = _singaporeTime,
1577
		};
1578

1579
		/// <summary>
1580
		/// Information about board <see cref="Tsec"/>.
1581
		/// </summary>
1582
		public static ExchangeBoard Tsec { get; } = new()
1583
		{
1584
			Code = BoardCodes.Tsec,
1585
			WorkingTime = new()
1586
			{
1587
				IsEnabled = true,
1588
				Periods = new()
1589
				{
1590
					new()
1591
					{
1592
						Till = DateTime.MaxValue,
1593
						Times = new()
1594
						{
1595
							new("09:00:00".To<TimeSpan>(), "13:30:00".To<TimeSpan>())
1596
						},
1597
					}
1598
				},
1599
			},
1600
			Exchange = Exchange.Tsec,
1601
			TimeZone = TimeHelper.China,
1602
		};
1603

1604
		/// <summary>
1605
		/// Information about board <see cref="Pse"/>.
1606
		/// </summary>
1607
		public static ExchangeBoard Pse { get; } = new()
1608
		{
1609
			Code = BoardCodes.Pse,
1610
			WorkingTime = new()
1611
			{
1612
				IsEnabled = true,
1613
				Periods = new()
1614
				{
1615
					new()
1616
					{
1617
						Till = DateTime.MaxValue,
1618
						Times = new()
1619
						{
1620
							new("09:30:00".To<TimeSpan>(), "12:00:00".To<TimeSpan>()),
1621
							new("13:30:00".To<TimeSpan>(), "15:30:00".To<TimeSpan>())
1622
						},
1623
					}
1624
				},
1625
			},
1626
			Exchange = Exchange.Pse,
1627
			TimeZone = _singaporeTime,
1628
		};
1629

1630
		/// <summary>
1631
		/// Information about board <see cref="Klse"/>.
1632
		/// </summary>
1633
		public static ExchangeBoard Klse { get; } = new()
1634
		{
1635
			Code = BoardCodes.Klse,
1636
			WorkingTime = new()
1637
			{
1638
				IsEnabled = true,
1639
				Periods = new()
1640
				{
1641
					new()
1642
					{
1643
						Till = DateTime.MaxValue,
1644
						Times = new()
1645
						{
1646
							new("09:00:00".To<TimeSpan>(), "12:30:00".To<TimeSpan>()),
1647
							new("14:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
1648
						},
1649
					}
1650
				},
1651
			},
1652
			Exchange = Exchange.Klse,
1653
			TimeZone = _singaporeTime,
1654
		};
1655

1656
		/// <summary>
1657
		/// Information about board <see cref="Idx"/>.
1658
		/// </summary>
1659
		public static ExchangeBoard Idx { get; } = new()
1660
		{
1661
			Code = BoardCodes.Idx,
1662
			WorkingTime = new()
1663
			{
1664
				IsEnabled = true,
1665
				Periods = new()
1666
				{
1667
					new()
1668
					{
1669
						Till = DateTime.MaxValue,
1670
						Times = new()
1671
						{
1672
							new("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
1673
						},
1674
					}
1675
				},
1676
			},
1677
			Exchange = Exchange.Idx,
1678
			TimeZone = _bangkokTime,
1679
		};
1680

1681
		/// <summary>
1682
		/// Information about board <see cref="Set"/>.
1683
		/// </summary>
1684
		public static ExchangeBoard Set { get; } = new()
1685
		{
1686
			Code = BoardCodes.Set,
1687
			WorkingTime = new()
1688
			{
1689
				IsEnabled = true,
1690
				Periods = new()
1691
				{
1692
					new()
1693
					{
1694
						Till = DateTime.MaxValue,
1695
						Times = new()
1696
						{
1697
							new("10:00:00".To<TimeSpan>(), "12:30:00".To<TimeSpan>()),
1698
							new("14:30:00".To<TimeSpan>(), "16:30:00".To<TimeSpan>())
1699
						},
1700
					}
1701
				},
1702
			},
1703
			Exchange = Exchange.Set,
1704
			TimeZone = _bangkokTime,
1705
		};
1706

1707
		/// <summary>
1708
		/// Information about board <see cref="Cse"/>.
1709
		/// </summary>
1710
		public static ExchangeBoard Cse { get; } = new()
1711
		{
1712
			Code = BoardCodes.Cse,
1713
			WorkingTime = new()
1714
			{
1715
				IsEnabled = true,
1716
				Periods = new()
1717
				{
1718
					new()
1719
					{
1720
						Till = DateTime.MaxValue,
1721
						Times = new()
1722
						{
1723
							new("09:30:00".To<TimeSpan>(), "14:30:00".To<TimeSpan>())
1724
						},
1725
					}
1726
				},
1727
			},
1728
			Exchange = Exchange.Cse,
1729
			TimeZone = "Sri Lanka Standard Time".To<TimeZoneInfo>(),
1730
		};
1731

1732
		/// <summary>
1733
		/// Information about board <see cref="Tase"/>.
1734
		/// </summary>
1735
		public static ExchangeBoard Tase { get; } = new()
1736
		{
1737
			Code = BoardCodes.Tase,
1738
			WorkingTime = new()
1739
			{
1740
				IsEnabled = true,
1741
				Periods = new()
1742
				{
1743
					new()
1744
					{
1745
						Till = DateTime.MaxValue,
1746
						Times = new()
1747
						{
1748
							new("09:00:00".To<TimeSpan>(), "16:25:00".To<TimeSpan>())
1749
						},
1750
					}
1751
				},
1752
			},
1753
			Exchange = Exchange.Tase,
1754
			TimeZone = "Israel Standard Time".To<TimeZoneInfo>(),
1755
		};
1756

1757
		/// <summary>
1758
		/// Information about board <see cref="Lmax"/>.
1759
		/// </summary>
1760
		public static ExchangeBoard Lmax { get; } = new()
1761
		{
1762
			Code = BoardCodes.Lmax,
1763
			WorkingTime = new()
1764
			{
1765
				IsEnabled = true,
1766
				Periods = new()
1767
				{
1768
					new()
1769
					{
1770
						Till = DateTime.MaxValue,
1771
						Times = new()
1772
						{
1773
							new("9:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
1774
						},
1775
					}
1776
				},
1777
			},
1778
			Exchange = Exchange.Lmax,
1779
		};
1780

1781
		/// <summary>
1782
		/// Information about board <see cref="DukasCopy"/>.
1783
		/// </summary>
1784
		public static ExchangeBoard DukasCopy { get; } = new()
1785
		{
1786
			Code = BoardCodes.DukasCopy,
1787
			Exchange = Exchange.DukasCopy,
1788
		};
1789

1790
		/// <summary>
1791
		/// Information about board <see cref="GainCapital"/>.
1792
		/// </summary>
1793
		public static ExchangeBoard GainCapital { get; } = new()
1794
		{
1795
			Code = BoardCodes.GainCapital,
1796
			Exchange = Exchange.GainCapital,
1797
		};
1798

1799
		/// <summary>
1800
		/// Information about board <see cref="MBTrading"/>.
1801
		/// </summary>
1802
		public static ExchangeBoard MBTrading { get; } = new()
1803
		{
1804
			Code = BoardCodes.MBTrading,
1805
			Exchange = Exchange.MBTrading,
1806
		};
1807

1808
		/// <summary>
1809
		/// Information about board <see cref="TrueFX"/>.
1810
		/// </summary>
1811
		public static ExchangeBoard TrueFX { get; } = new()
1812
		{
1813
			Code = BoardCodes.TrueFX,
1814
			Exchange = Exchange.TrueFX,
1815
		};
1816

1817
		/// <summary>
1818
		/// Information about board <see cref="Integral"/>.
1819
		/// </summary>
1820
		public static ExchangeBoard Integral { get; } = new()
1821
		{
1822
			Code = BoardCodes.Integral,
1823
			Exchange = Exchange.Integral,
1824
		};
1825

1826
		/// <summary>
1827
		/// Information about board <see cref="Cfh"/>.
1828
		/// </summary>
1829
		public static ExchangeBoard Cfh { get; } = new()
1830
		{
1831
			Code = BoardCodes.Cfh,
1832
			Exchange = Exchange.Cfh,
1833
		};
1834

1835
		/// <summary>
1836
		/// Information about board <see cref="Ond"/>.
1837
		/// </summary>
1838
		public static ExchangeBoard Ond { get; } = new()
1839
		{
1840
			Code = BoardCodes.Ond,
1841
			Exchange = Exchange.Ond,
1842
		};
1843

1844
		/// <summary>
1845
		/// Information about board <see cref="Nasdaq"/>.
1846
		/// </summary>
1847
		public static ExchangeBoard Smart { get; } = new()
1848
		{
1849
			Code = BoardCodes.Smart,
1850
			Exchange = Exchange.Nasdaq,
1851
		};
1852

1853
		/// <summary>
1854
		/// Information about board <see cref="Btce"/>.
1855
		/// </summary>
1856
		public static ExchangeBoard Btce { get; } = new()
1857
		{
1858
			Code = Exchange.Btce.Name,
1859
			Exchange = Exchange.Btce,
1860
		};
1861

1862
		/// <summary>
1863
		/// Information about board <see cref="BitStamp"/>.
1864
		/// </summary>
1865
		public static ExchangeBoard BitStamp { get; } = new()
1866
		{
1867
			Code = Exchange.BitStamp.Name,
1868
			Exchange = Exchange.BitStamp,
1869
		};
1870

1871
		/// <summary>
1872
		/// Information about board <see cref="BtcChina"/>.
1873
		/// </summary>
1874
		public static ExchangeBoard BtcChina { get; } = new()
1875
		{
1876
			Code = Exchange.BtcChina.Name,
1877
			Exchange = Exchange.BtcChina,
1878
		};
1879

1880
		/// <summary>
1881
		/// Information about board <see cref="Icbit"/>.
1882
		/// </summary>
1883
		public static ExchangeBoard Icbit { get; } = new()
1884
		{
1885
			Code = Exchange.Icbit.Name,
1886
			Exchange = Exchange.Icbit,
1887
		};
1888

1889
		/// <summary>
1890
		/// Information about board <see cref="Finam"/>.
1891
		/// </summary>
1892
		public static ExchangeBoard Finam { get; } = new()
1893
		{
1894
			Code = BoardCodes.Finam,
1895
			Exchange = Exchange.Test,
1896
		};
1897

1898
		/// <summary>
1899
		/// Information about board <see cref="Mfd"/>.
1900
		/// </summary>
1901
		public static ExchangeBoard Mfd { get; } = new()
1902
		{
1903
			Code = BoardCodes.Mfd,
1904
			Exchange = Exchange.Test,
1905
		};
1906

1907
		/// <summary>
1908
		/// Information about board <see cref="Arca"/>.
1909
		/// </summary>
1910
		public static ExchangeBoard Arca { get; } = new()
1911
		{
1912
			Code = BoardCodes.Arca,
1913
			Exchange = Exchange.Nyse,
1914
		};
1915

1916
		/// <summary>
1917
		/// Information about board <see cref="Bats"/>.
1918
		/// </summary>
1919
		public static ExchangeBoard Bats { get; } = new()
1920
		{
1921
			Code = BoardCodes.Bats,
1922
			Exchange = Exchange.Cbot,
1923
		};
1924

1925
		/// <summary>
1926
		/// Information about board <see cref="Currenex"/>.
1927
		/// </summary>
1928
		public static ExchangeBoard Currenex { get; } = new()
1929
		{
1930
			Code = Exchange.Currenex.Name,
1931
			Exchange = Exchange.Currenex,
1932
		};
1933

1934
		/// <summary>
1935
		/// Information about board <see cref="Fxcm"/>.
1936
		/// </summary>
1937
		public static ExchangeBoard Fxcm { get; } = new()
1938
		{
1939
			Code = Exchange.Fxcm.Name,
1940
			Exchange = Exchange.Fxcm,
1941
		};
1942

1943
		/// <summary>
1944
		/// Information about board <see cref="Poloniex"/>.
1945
		/// </summary>
1946
		public static ExchangeBoard Poloniex { get; } = new()
1947
		{
1948
			Code = Exchange.Poloniex.Name,
1949
			Exchange = Exchange.Poloniex,
1950
		};
1951

1952
		/// <summary>
1953
		/// Information about board <see cref="Kraken"/>.
1954
		/// </summary>
1955
		public static ExchangeBoard Kraken { get; } = new()
1956
		{
1957
			Code = Exchange.Kraken.Name,
1958
			Exchange = Exchange.Kraken,
1959
		};
1960

1961
		/// <summary>
1962
		/// Information about board <see cref="Bittrex"/>.
1963
		/// </summary>
1964
		public static ExchangeBoard Bittrex { get; } = new()
1965
		{
1966
			Code = Exchange.Bittrex.Name,
1967
			Exchange = Exchange.Bittrex,
1968
		};
1969

1970
		/// <summary>
1971
		/// Information about board <see cref="Bitfinex"/>.
1972
		/// </summary>
1973
		public static ExchangeBoard Bitfinex { get; } = new()
1974
		{
1975
			Code = Exchange.Bitfinex.Name,
1976
			Exchange = Exchange.Bitfinex,
1977
		};
1978

1979
		/// <summary>
1980
		/// Information about board <see cref="Coinbase"/>.
1981
		/// </summary>
1982
		public static ExchangeBoard Coinbase { get; } = new()
1983
		{
1984
			Code = Exchange.Coinbase.Name,
1985
			Exchange = Exchange.Coinbase,
1986
		};
1987

1988
		/// <summary>
1989
		/// Information about board <see cref="Gdax"/>.
1990
		/// </summary>
1991
		public static ExchangeBoard Gdax { get; } = new()
1992
		{
1993
			Code = Exchange.Gdax.Name,
1994
			Exchange = Exchange.Gdax,
1995
		};
1996

1997
		/// <summary>
1998
		/// Information about board <see cref="Bithumb"/>.
1999
		/// </summary>
2000
		public static ExchangeBoard Bithumb { get; } = new()
2001
		{
2002
			Code = Exchange.Bithumb.Name,
2003
			Exchange = Exchange.Bithumb,
2004
		};
2005

2006
		/// <summary>
2007
		/// Information about board <see cref="HitBtc"/>.
2008
		/// </summary>
2009
		public static ExchangeBoard HitBtc { get; } = new()
2010
		{
2011
			Code = Exchange.HitBtc.Name,
2012
			Exchange = Exchange.HitBtc,
2013
		};
2014

2015
		/// <summary>
2016
		/// Information about board <see cref="OkCoin"/>.
2017
		/// </summary>
2018
		public static ExchangeBoard OkCoin { get; } = new()
2019
		{
2020
			Code = Exchange.OkCoin.Name,
2021
			Exchange = Exchange.OkCoin,
2022
		};
2023

2024
		/// <summary>
2025
		/// Information about board <see cref="Coincheck"/>.
2026
		/// </summary>
2027
		public static ExchangeBoard Coincheck { get; } = new()
2028
		{
2029
			Code = Exchange.Coincheck.Name,
2030
			Exchange = Exchange.Coincheck,
2031
		};
2032

2033
		/// <summary>
2034
		/// Information about board <see cref="Binance"/>.
2035
		/// </summary>
2036
		public static ExchangeBoard Binance { get; } = new()
2037
		{
2038
			Code = Exchange.Binance.Name,
2039
			Exchange = Exchange.Binance,
2040
		};
2041

2042
		/// <summary>
2043
		/// Information about board <see cref="BinanceCoin"/>.
2044
		/// </summary>
2045
		public static ExchangeBoard BinanceCoin { get; } = new()
2046
		{
2047
			Code = BoardCodes.BinanceCoin,
2048
			Exchange = Exchange.Binance,
2049
		};
2050

2051
		/// <summary>
2052
		/// Information about board <see cref="Bitexbook"/>.
2053
		/// </summary>
2054
		public static ExchangeBoard Bitexbook { get; } = new()
2055
		{
2056
			Code = Exchange.Bitexbook.Name,
2057
			Exchange = Exchange.Bitexbook,
2058
		};
2059

2060
		/// <summary>
2061
		/// Information about board <see cref="Bitmex"/>.
2062
		/// </summary>
2063
		public static ExchangeBoard Bitmex { get; } = new()
2064
		{
2065
			Code = Exchange.Bitmex.Name,
2066
			Exchange = Exchange.Bitmex,
2067
		};
2068

2069
		/// <summary>
2070
		/// Information about board <see cref="Cex"/>.
2071
		/// </summary>
2072
		public static ExchangeBoard Cex { get; } = new()
2073
		{
2074
			Code = Exchange.Cex.Name,
2075
			Exchange = Exchange.Cex,
2076
		};
2077

2078
		/// <summary>
2079
		/// Information about board <see cref="Cryptopia"/>.
2080
		/// </summary>
2081
		public static ExchangeBoard Cryptopia { get; } = new()
2082
		{
2083
			Code = Exchange.Cryptopia.Name,
2084
			Exchange = Exchange.Cryptopia,
2085
		};
2086

2087
		/// <summary>
2088
		/// Information about board <see cref="Okex"/>.
2089
		/// </summary>
2090
		public static ExchangeBoard Okex { get; } = new()
2091
		{
2092
			Code = Exchange.Okex.Name,
2093
			Exchange = Exchange.Okex,
2094
		};
2095

2096
		/// <summary>
2097
		/// Information about board <see cref="Bitmart"/>.
2098
		/// </summary>
2099
		public static ExchangeBoard Bitmart { get; } = new()
2100
		{
2101
			Code = Exchange.Bitmart.Name,
2102
			Exchange = Exchange.Bitmart,
2103
		};
2104

2105
		/// <summary>
2106
		/// Information about board <see cref="Yobit"/>.
2107
		/// </summary>
2108
		public static ExchangeBoard Yobit { get; } = new()
2109
		{
2110
			Code = Exchange.Yobit.Name,
2111
			Exchange = Exchange.Yobit,
2112
		};
2113

2114
		/// <summary>
2115
		/// Information about board <see cref="CoinExchange"/>.
2116
		/// </summary>
2117
		public static ExchangeBoard CoinExchange { get; } = new()
2118
		{
2119
			Code = Exchange.CoinExchange.Name,
2120
			Exchange = Exchange.CoinExchange,
2121
		};
2122

2123
		/// <summary>
2124
		/// Information about board <see cref="LiveCoin"/>.
2125
		/// </summary>
2126
		public static ExchangeBoard LiveCoin { get; } = new()
2127
		{
2128
			Code = Exchange.LiveCoin.Name,
2129
			Exchange = Exchange.LiveCoin,
2130
		};
2131

2132
		/// <summary>
2133
		/// Information about board <see cref="Exmo"/>.
2134
		/// </summary>
2135
		public static ExchangeBoard Exmo { get; } = new()
2136
		{
2137
			Code = Exchange.Exmo.Name,
2138
			Exchange = Exchange.Exmo,
2139
		};
2140

2141
		/// <summary>
2142
		/// Information about board <see cref="Deribit"/>.
2143
		/// </summary>
2144
		public static ExchangeBoard Deribit { get; } = new()
2145
		{
2146
			Code = Exchange.Deribit.Name,
2147
			Exchange = Exchange.Deribit,
2148
		};
2149

2150
		/// <summary>
2151
		/// Information about board <see cref="Kucoin"/>.
2152
		/// </summary>
2153
		public static ExchangeBoard Kucoin { get; } = new()
2154
		{
2155
			Code = Exchange.Kucoin.Name,
2156
			Exchange = Exchange.Kucoin,
2157
		};
2158

2159
		/// <summary>
2160
		/// Information about board <see cref="Liqui"/>.
2161
		/// </summary>
2162
		public static ExchangeBoard Liqui { get; } = new()
2163
		{
2164
			Code = Exchange.Liqui.Name,
2165
			Exchange = Exchange.Liqui,
2166
		};
2167

2168
		/// <summary>
2169
		/// Information about board <see cref="Huobi"/>.
2170
		/// </summary>
2171
		public static ExchangeBoard Huobi { get; } = new()
2172
		{
2173
			Code = Exchange.Huobi.Name,
2174
			Exchange = Exchange.Huobi,
2175
		};
2176

2177
		/// <summary>
2178
		/// Information about board <see cref="Globex"/>.
2179
		/// </summary>
2180
		public static ExchangeBoard Globex { get; } = new()
2181
		{
2182
			Code = BoardCodes.Globex,
2183
			Exchange = Exchange.Cme,
2184
		};
2185

2186
		/// <summary>
2187
		/// Information about board <see cref="IEX"/>.
2188
		/// </summary>
2189
		public static ExchangeBoard IEX { get; } = new()
2190
		{
2191
			Code = Exchange.IEX.Name,
2192
			Exchange = Exchange.IEX,
2193
		};
2194

2195
		/// <summary>
2196
		/// Information about board <see cref="AlphaVantage"/>.
2197
		/// </summary>
2198
		public static ExchangeBoard AlphaVantage { get; } = new()
2199
		{
2200
			Code = Exchange.AlphaVantage.Name,
2201
			Exchange = Exchange.AlphaVantage,
2202
		};
2203

2204
		/// <summary>
2205
		/// Information about board <see cref="Bitbank"/>.
2206
		/// </summary>
2207
		public static ExchangeBoard Bitbank { get; } = new()
2208
		{
2209
			Code = Exchange.Bitbank.Name,
2210
			Exchange = Exchange.Bitbank,
2211
		};
2212

2213
		/// <summary>
2214
		/// Information about board <see cref="Zaif"/>.
2215
		/// </summary>
2216
		public static ExchangeBoard Zaif { get; } = new()
2217
		{
2218
			Code = Exchange.Zaif.Name,
2219
			Exchange = Exchange.Zaif,
2220
		};
2221

2222
		/// <summary>
2223
		/// Information about board <see cref="Quoinex"/>.
2224
		/// </summary>
2225
		public static ExchangeBoard Quoinex { get; } = new()
2226
		{
2227
			Code = Exchange.Quoinex.Name,
2228
			Exchange = Exchange.Quoinex,
2229
		};
2230

2231
		/// <summary>
2232
		/// Information about board <see cref="Wiki"/>.
2233
		/// </summary>
2234
		public static ExchangeBoard Wiki { get; } = new()
2235
		{
2236
			Code = Exchange.Wiki.Name,
2237
			Exchange = Exchange.Wiki,
2238
		};
2239

2240
		/// <summary>
2241
		/// Information about board <see cref="Idax"/>.
2242
		/// </summary>
2243
		public static ExchangeBoard Idax { get; } = new()
2244
		{
2245
			Code = Exchange.Idax.Name,
2246
			Exchange = Exchange.Idax,
2247
		};
2248

2249
		/// <summary>
2250
		/// Information about board <see cref="Digifinex"/>.
2251
		/// </summary>
2252
		public static ExchangeBoard Digifinex { get; } = new()
2253
		{
2254
			Code = Exchange.Digifinex.Name,
2255
			Exchange = Exchange.Digifinex,
2256
		};
2257

2258
		/// <summary>
2259
		/// Information about board <see cref="TradeOgre"/>.
2260
		/// </summary>
2261
		public static ExchangeBoard TradeOgre { get; } = new()
2262
		{
2263
			Code = Exchange.TradeOgre.Name,
2264
			Exchange = Exchange.TradeOgre,
2265
		};
2266

2267
		/// <summary>
2268
		/// Information about board <see cref="CoinCap"/>.
2269
		/// </summary>
2270
		public static ExchangeBoard CoinCap { get; } = new()
2271
		{
2272
			Code = Exchange.CoinCap.Name,
2273
			Exchange = Exchange.CoinCap,
2274
		};
2275

2276
		/// <summary>
2277
		/// Information about board <see cref="Coinigy"/>.
2278
		/// </summary>
2279
		public static ExchangeBoard Coinigy { get; } = new()
2280
		{
2281
			Code = Exchange.Coinigy.Name,
2282
			Exchange = Exchange.Coinigy,
2283
		};
2284

2285
		/// <summary>
2286
		/// Information about board <see cref="LBank"/>.
2287
		/// </summary>
2288
		public static ExchangeBoard LBank { get; } = new()
2289
		{
2290
			Code = Exchange.LBank.Name,
2291
			Exchange = Exchange.LBank,
2292
		};
2293

2294
		/// <summary>
2295
		/// Information about board <see cref="BitMax"/>.
2296
		/// </summary>
2297
		public static ExchangeBoard BitMax { get; } = new()
2298
		{
2299
			Code = Exchange.BitMax.Name,
2300
			Exchange = Exchange.BitMax,
2301
		};
2302

2303
		/// <summary>
2304
		/// Information about board <see cref="BW"/>.
2305
		/// </summary>
2306
		public static ExchangeBoard BW { get; } = new()
2307
		{
2308
			Code = Exchange.BW.Name,
2309
			Exchange = Exchange.BW,
2310
		};
2311

2312
		/// <summary>
2313
		/// Information about board <see cref="Bibox"/>.
2314
		/// </summary>
2315
		public static ExchangeBoard Bibox { get; } = new()
2316
		{
2317
			Code = Exchange.Bibox.Name,
2318
			Exchange = Exchange.Bibox,
2319
		};
2320

2321
		/// <summary>
2322
		/// Information about board <see cref="CoinBene"/>.
2323
		/// </summary>
2324
		public static ExchangeBoard CoinBene { get; } = new()
2325
		{
2326
			Code = Exchange.CoinBene.Name,
2327
			Exchange = Exchange.CoinBene,
2328
		};
2329

2330
		/// <summary>
2331
		/// Information about board <see cref="BitZ"/>.
2332
		/// </summary>
2333
		public static ExchangeBoard BitZ { get; } = new()
2334
		{
2335
			Code = Exchange.BitZ.Name,
2336
			Exchange = Exchange.BitZ,
2337
		};
2338

2339
		/// <summary>
2340
		/// Information about board <see cref="ZB"/>.
2341
		/// </summary>
2342
		public static ExchangeBoard ZB { get; } = new()
2343
		{
2344
			Code = Exchange.ZB.Name,
2345
			Exchange = Exchange.ZB,
2346
		};
2347

2348
		/// <summary>
2349
		/// Information about board <see cref="Tradier"/>.
2350
		/// </summary>
2351
		public static ExchangeBoard Tradier { get; } = new()
2352
		{
2353
			Code = Exchange.Tradier.Name,
2354
			Exchange = Exchange.Tradier,
2355
		};
2356

2357
		/// <summary>
2358
		/// Information about board <see cref="SwSq"/>.
2359
		/// </summary>
2360
		public static ExchangeBoard SwSq { get; } = new()
2361
		{
2362
			Code = Exchange.SwSq.Name,
2363
			Exchange = Exchange.SwSq,
2364
		};
2365

2366
		/// <summary>
2367
		/// Information about board <see cref="StockSharp"/>.
2368
		/// </summary>
2369
		public static ExchangeBoard StockSharp { get; } = new()
2370
		{
2371
			Code = Exchange.StockSharp.Name,
2372
			Exchange = Exchange.StockSharp,
2373
		};
2374

2375
		/// <summary>
2376
		/// Information about board <see cref="Upbit"/>.
2377
		/// </summary>
2378
		public static ExchangeBoard Upbit { get; } = new()
2379
		{
2380
			Code = Exchange.Upbit.Name,
2381
			Exchange = Exchange.Upbit,
2382
		};
2383

2384
		/// <summary>
2385
		/// Information about board <see cref="CoinEx"/>.
2386
		/// </summary>
2387
		public static ExchangeBoard CoinEx { get; } = new()
2388
		{
2389
			Code = Exchange.CoinEx.Name,
2390
			Exchange = Exchange.CoinEx,
2391
		};
2392

2393
		/// <summary>
2394
		/// Information about board <see cref="FatBtc"/>.
2395
		/// </summary>
2396
		public static ExchangeBoard FatBtc { get; } = new()
2397
		{
2398
			Code = Exchange.FatBtc.Name,
2399
			Exchange = Exchange.FatBtc,
2400
		};
2401

2402
		/// <summary>
2403
		/// Information about board <see cref="Latoken"/>.
2404
		/// </summary>
2405
		public static ExchangeBoard Latoken { get; } = new()
2406
		{
2407
			Code = Exchange.Latoken.Name,
2408
			Exchange = Exchange.Latoken,
2409
		};
2410

2411
		/// <summary>
2412
		/// Information about board <see cref="Gopax"/>.
2413
		/// </summary>
2414
		public static ExchangeBoard Gopax { get; } = new()
2415
		{
2416
			Code = Exchange.Gopax.Name,
2417
			Exchange = Exchange.Gopax,
2418
		};
2419

2420
		/// <summary>
2421
		/// Information about board <see cref="CoinHub"/>.
2422
		/// </summary>
2423
		public static ExchangeBoard CoinHub { get; } = new()
2424
		{
2425
			Code = Exchange.CoinHub.Name,
2426
			Exchange = Exchange.CoinHub,
2427
		};
2428

2429
		/// <summary>
2430
		/// Information about board <see cref="Hotbit"/>.
2431
		/// </summary>
2432
		public static ExchangeBoard Hotbit { get; } = new()
2433
		{
2434
			Code = Exchange.Hotbit.Name,
2435
			Exchange = Exchange.Hotbit,
2436
		};
2437

2438
		/// <summary>
2439
		/// Information about board <see cref="Bitalong"/>.
2440
		/// </summary>
2441
		public static ExchangeBoard Bitalong { get; } = new()
2442
		{
2443
			Code = Exchange.Bitalong.Name,
2444
			Exchange = Exchange.Bitalong,
2445
		};
2446

2447
		/// <summary>
2448
		/// Information about board <see cref="PrizmBit"/>.
2449
		/// </summary>
2450
		public static ExchangeBoard PrizmBit { get; } = new()
2451
		{
2452
			Code = Exchange.PrizmBit.Name,
2453
			Exchange = Exchange.PrizmBit,
2454
		};
2455

2456
		/// <summary>
2457
		/// Information about board <see cref="DigitexFutures"/>.
2458
		/// </summary>
2459
		public static ExchangeBoard DigitexFutures { get; } = new()
2460
		{
2461
			Code = Exchange.DigitexFutures.Name,
2462
			Exchange = Exchange.DigitexFutures,
2463
		};
2464

2465
		/// <summary>
2466
		/// Information about board <see cref="Bovespa"/>.
2467
		/// </summary>
2468
		public static ExchangeBoard Bovespa { get; } = new()
2469
		{
2470
			Code = Exchange.Bovespa.Name,
2471
			Exchange = Exchange.Bovespa,
2472
		};
2473

2474
		/// <summary>
2475
		/// Information about board <see cref="Bvmt"/>.
2476
		/// </summary>
2477
		public static ExchangeBoard Bvmt { get; } = new()
2478
		{
2479
			Code = Exchange.Bvmt.Name,
2480
			Exchange = Exchange.Bvmt,
2481
			TimeZone = TimeHelper.Tunisia,
2482
			WorkingTime = new()
2483
			{
2484
				IsEnabled = true,
2485
				Periods = new()
2486
				{
2487
					new()
2488
					{
2489
						Till = DateTime.MaxValue,
2490
						Times = new()
2491
						{
2492
							new("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>
2502
		public static ExchangeBoard IQFeed { get; } = new()
2503
		{
2504
			Code = Exchange.IQFeed.Name,
2505
			Exchange = Exchange.IQFeed,
2506
		};
2507

2508
		/// <summary>
2509
		/// Information about board <see cref="IBKR"/>.
2510
		/// </summary>
2511
		public static ExchangeBoard IBKR { get; } = new()
2512
		{
2513
			Code = Exchange.IBKR.Name,
2514
			Exchange = Exchange.IBKR,
2515
		};
2516

2517
		/// <summary>
2518
		/// Information about board <see cref="STRLG"/>.
2519
		/// </summary>
2520
		public static ExchangeBoard STRLG { get; } = new()
2521
		{
2522
			Code = Exchange.STRLG.Name,
2523
			Exchange = Exchange.STRLG,
2524
		};
2525

2526
		/// <summary>
2527
		/// Information about board <see cref="QNDL"/>.
2528
		/// </summary>
2529
		public static ExchangeBoard QNDL { get; } = new()
2530
		{
2531
			Code = Exchange.QNDL.Name,
2532
			Exchange = Exchange.QNDL,
2533
		};
2534

2535
		/// <summary>
2536
		/// Information about board <see cref="FTX"/>.
2537
		/// </summary>
2538
		public static ExchangeBoard FTX { get; } = new()
2539
		{
2540
			Code = Exchange.FTX.Name,
2541
			Exchange = Exchange.FTX,
2542
		};
2543

2544
		/// <summary>
2545
		/// Information about board <see cref="YHF"/>.
2546
		/// </summary>
2547
		public static ExchangeBoard YHF { get; } = new()
2548
		{
2549
			Code = Exchange.YHF.Name,
2550
			Exchange = Exchange.YHF,
2551
		};
2552
	}
2553
}
2554

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.