mywebapi-sdk 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. cplugin_webapi_sdk/__init__.py +79 -0
  2. cplugin_webapi_sdk/_generated/__init__.py +8 -0
  3. cplugin_webapi_sdk/_generated/api/__init__.py +1 -0
  4. cplugin_webapi_sdk/_generated/api/mt4_v_2_authentication/__init__.py +1 -0
  5. cplugin_webapi_sdk/_generated/api/mt4_v_2_authentication/post_api_v_2_mt4_trade_platform_user_password_check_login.py +306 -0
  6. cplugin_webapi_sdk/_generated/api/mt4_v_2_authentication/post_api_v_2_mt4_trade_platform_user_password_set_login.py +377 -0
  7. cplugin_webapi_sdk/_generated/api/mt4_v_2_backup/__init__.py +1 -0
  8. cplugin_webapi_sdk/_generated/api/mt4_v_2_backup/get_api_v_2_mt4_trade_platform_backup_info_orders_mode.py +246 -0
  9. cplugin_webapi_sdk/_generated/api/mt4_v_2_backup/get_api_v_2_mt4_trade_platform_backup_info_users_mode.py +262 -0
  10. cplugin_webapi_sdk/_generated/api/mt4_v_2_backup/get_api_v_2_mt4_trade_platform_backup_request_orders_file.py +285 -0
  11. cplugin_webapi_sdk/_generated/api/mt4_v_2_backup/get_api_v_2_mt4_trade_platform_backup_request_users_file.py +325 -0
  12. cplugin_webapi_sdk/_generated/api/mt4_v_2_backup_destructive/__init__.py +1 -0
  13. cplugin_webapi_sdk/_generated/api/mt4_v_2_backup_destructive/post_api_v_2_mt4_trade_platform_backup_restore_orders.py +332 -0
  14. cplugin_webapi_sdk/_generated/api/mt4_v_2_backup_destructive/post_api_v_2_mt4_trade_platform_backup_restore_users.py +344 -0
  15. cplugin_webapi_sdk/_generated/api/mt4_v_2_common/__init__.py +1 -0
  16. cplugin_webapi_sdk/_generated/api/mt4_v_2_common/get_api_v_2_mt4_trade_platform_journal_request.py +326 -0
  17. cplugin_webapi_sdk/_generated/api/mt4_v_2_common/get_api_v_2_mt4_trade_platform_manager_common.py +229 -0
  18. cplugin_webapi_sdk/_generated/api/mt4_v_2_common/get_api_v_2_mt4_trade_platform_server_time.py +225 -0
  19. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/__init__.py +1 -0
  20. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/get_api_v_2_mt4_trade_platform_cfg_request_access.py +280 -0
  21. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/get_api_v_2_mt4_trade_platform_cfg_request_backup.py +241 -0
  22. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/get_api_v_2_mt4_trade_platform_cfg_request_common.py +237 -0
  23. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/get_api_v_2_mt4_trade_platform_cfg_request_data_server.py +276 -0
  24. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/get_api_v_2_mt4_trade_platform_cfg_request_feeder.py +276 -0
  25. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/get_api_v_2_mt4_trade_platform_cfg_request_gateway_account.py +280 -0
  26. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/get_api_v_2_mt4_trade_platform_cfg_request_gateway_markup.py +280 -0
  27. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/get_api_v_2_mt4_trade_platform_cfg_request_gateway_rule.py +272 -0
  28. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/get_api_v_2_mt4_trade_platform_cfg_request_holiday.py +296 -0
  29. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/get_api_v_2_mt4_trade_platform_cfg_request_live_update.py +272 -0
  30. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/get_api_v_2_mt4_trade_platform_cfg_request_manager.py +272 -0
  31. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/get_api_v_2_mt4_trade_platform_cfg_request_sync.py +276 -0
  32. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/get_api_v_2_mt4_trade_platform_cfg_request_time.py +245 -0
  33. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_delete_access_pos.py +254 -0
  34. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_delete_data_server_pos.py +234 -0
  35. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_delete_feeder_pos.py +230 -0
  36. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_delete_gateway_account_pos.py +230 -0
  37. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_delete_gateway_markup_pos.py +230 -0
  38. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_delete_gateway_rule_pos.py +230 -0
  39. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_delete_holiday_pos.py +230 -0
  40. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_delete_live_update_pos.py +230 -0
  41. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_delete_manager_pos.py +230 -0
  42. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_delete_symbol_pos.py +238 -0
  43. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_delete_sync_pos.py +230 -0
  44. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_shift_access_pos.py +250 -0
  45. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_shift_data_server_pos.py +250 -0
  46. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_shift_feeder_pos.py +250 -0
  47. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_shift_gateway_account_pos.py +250 -0
  48. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_shift_gateway_markup_pos.py +250 -0
  49. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_shift_gateway_rule_pos.py +250 -0
  50. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_shift_group_pos.py +250 -0
  51. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_shift_holiday_pos.py +250 -0
  52. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_shift_live_update_pos.py +250 -0
  53. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_shift_manager_pos.py +250 -0
  54. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_shift_plugin_pos.py +266 -0
  55. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_shift_symbol_pos.py +250 -0
  56. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_shift_sync_pos.py +250 -0
  57. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_access_pos.py +378 -0
  58. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_backup.py +361 -0
  59. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_common.py +389 -0
  60. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_data_server_pos.py +354 -0
  61. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_feeder.py +305 -0
  62. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_gateway_account.py +361 -0
  63. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_gateway_markup.py +345 -0
  64. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_gateway_rule.py +377 -0
  65. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_holiday_pos.py +350 -0
  66. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_live_update.py +385 -0
  67. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_manager.py +385 -0
  68. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_symbol_group_pos.py +342 -0
  69. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_sync.py +349 -0
  70. cplugin_webapi_sdk/_generated/api/mt4_v_2_config/post_api_v_2_mt4_trade_platform_cfg_update_time.py +421 -0
  71. cplugin_webapi_sdk/_generated/api/mt4_v_2_groups/__init__.py +1 -0
  72. cplugin_webapi_sdk/_generated/api/mt4_v_2_groups/get_api_v_2_mt4_trade_platform_ensure_group_name_exist_group.py +274 -0
  73. cplugin_webapi_sdk/_generated/api/mt4_v_2_groups/get_api_v_2_mt4_trade_platform_group_record_get_group.py +242 -0
  74. cplugin_webapi_sdk/_generated/api/mt4_v_2_groups/get_api_v_2_mt4_trade_platform_group_sec_groups_get_group.py +246 -0
  75. cplugin_webapi_sdk/_generated/api/mt4_v_2_groups/get_api_v_2_mt4_trade_platform_group_sec_margins_get_group.py +246 -0
  76. cplugin_webapi_sdk/_generated/api/mt4_v_2_groups/get_api_v_2_mt4_trade_platform_groups_get.py +233 -0
  77. cplugin_webapi_sdk/_generated/api/mt4_v_2_groups/get_api_v_2_mt4_trade_platform_groups_request.py +256 -0
  78. cplugin_webapi_sdk/_generated/api/mt4_v_2_groups/patch_api_v_2_mt4_trade_platform_group_record_group.py +255 -0
  79. cplugin_webapi_sdk/_generated/api/mt4_v_2_groups/post_api_v_2_mt4_trade_platform_group_record_update_group.py +542 -0
  80. cplugin_webapi_sdk/_generated/api/mt4_v_2_history/__init__.py +1 -0
  81. cplugin_webapi_sdk/_generated/api/mt4_v_2_history/get_api_v_2_mt4_trade_platform_trades_user_history_login.py +292 -0
  82. cplugin_webapi_sdk/_generated/api/mt4_v_2_mail/__init__.py +1 -0
  83. cplugin_webapi_sdk/_generated/api/mt4_v_2_mail/get_api_v_2_mt4_trade_platform_mail_last.py +225 -0
  84. cplugin_webapi_sdk/_generated/api/mt4_v_2_margins/__init__.py +1 -0
  85. cplugin_webapi_sdk/_generated/api/mt4_v_2_margins/get_api_v_2_mt4_trade_platform_margin_level_get_login.py +246 -0
  86. cplugin_webapi_sdk/_generated/api/mt4_v_2_margins/get_api_v_2_mt4_trade_platform_margin_level_request_login.py +246 -0
  87. cplugin_webapi_sdk/_generated/api/mt4_v_2_margins/get_api_v_2_mt4_trade_platform_margins_get.py +233 -0
  88. cplugin_webapi_sdk/_generated/api/mt4_v_2_news/__init__.py +1 -0
  89. cplugin_webapi_sdk/_generated/api/mt4_v_2_news/get_api_v_2_mt4_trade_platform_news_body_get_key.py +238 -0
  90. cplugin_webapi_sdk/_generated/api/mt4_v_2_news/get_api_v_2_mt4_trade_platform_news_get.py +237 -0
  91. cplugin_webapi_sdk/_generated/api/mt4_v_2_news/get_api_v_2_mt4_trade_platform_news_topic_get_pos.py +246 -0
  92. cplugin_webapi_sdk/_generated/api/mt4_v_2_news/get_api_v_2_mt4_trade_platform_news_total.py +225 -0
  93. cplugin_webapi_sdk/_generated/api/mt4_v_2_news/post_api_v_2_mt4_trade_platform_news_body_request_key.py +254 -0
  94. cplugin_webapi_sdk/_generated/api/mt4_v_2_online/__init__.py +1 -0
  95. cplugin_webapi_sdk/_generated/api/mt4_v_2_online/get_api_v_2_mt4_trade_platform_online_get.py +276 -0
  96. cplugin_webapi_sdk/_generated/api/mt4_v_2_online/get_api_v_2_mt4_trade_platform_online_request.py +276 -0
  97. cplugin_webapi_sdk/_generated/api/mt4_v_2_plugins/__init__.py +1 -0
  98. cplugin_webapi_sdk/_generated/api/mt4_v_2_plugins/post_api_v_2_mt4_trade_platform_external_command_json.py +309 -0
  99. cplugin_webapi_sdk/_generated/api/mt4_v_2_prices/__init__.py +1 -0
  100. cplugin_webapi_sdk/_generated/api/mt4_v_2_prices/get_api_v_2_mt4_trade_platform_chart_request_symbol.py +332 -0
  101. cplugin_webapi_sdk/_generated/api/mt4_v_2_prices/get_api_v_2_mt4_trade_platform_tick_info_last.py +233 -0
  102. cplugin_webapi_sdk/_generated/api/mt4_v_2_prices/get_api_v_2_mt4_trade_platform_tick_info_last_symbol.py +250 -0
  103. cplugin_webapi_sdk/_generated/api/mt4_v_2_prices/get_api_v_2_mt4_trade_platform_ticks_request_symbol.py +311 -0
  104. cplugin_webapi_sdk/_generated/api/mt4_v_2_prices/post_api_v_2_mt4_trade_platform_chart_add_symbol.py +375 -0
  105. cplugin_webapi_sdk/_generated/api/mt4_v_2_prices/post_api_v_2_mt4_trade_platform_chart_delete_symbol.py +375 -0
  106. cplugin_webapi_sdk/_generated/api/mt4_v_2_prices/post_api_v_2_mt4_trade_platform_chart_update_symbol.py +367 -0
  107. cplugin_webapi_sdk/_generated/api/mt4_v_2_prices/post_api_v_2_mt4_trade_platform_history_correct_symbol.py +274 -0
  108. cplugin_webapi_sdk/_generated/api/mt4_v_2_reports/__init__.py +1 -0
  109. cplugin_webapi_sdk/_generated/api/mt4_v_2_reports/get_api_v_2_mt4_trade_platform_daily_reports_request.py +362 -0
  110. cplugin_webapi_sdk/_generated/api/mt4_v_2_reports/get_api_v_2_mt4_trade_platform_daily_reports_request_ex.py +334 -0
  111. cplugin_webapi_sdk/_generated/api/mt4_v_2_reports/get_api_v_2_mt4_trade_platform_performance_request.py +281 -0
  112. cplugin_webapi_sdk/_generated/api/mt4_v_2_reports/get_api_v_2_mt4_trade_platform_reports_request.py +370 -0
  113. cplugin_webapi_sdk/_generated/api/mt4_v_2_reports/post_api_v_2_mt4_trade_platform_daily_sync_read.py +253 -0
  114. cplugin_webapi_sdk/_generated/api/mt4_v_2_reports/post_api_v_2_mt4_trade_platform_daily_sync_start.py +289 -0
  115. cplugin_webapi_sdk/_generated/api/mt4_v_2_server_admin/__init__.py +1 -0
  116. cplugin_webapi_sdk/_generated/api/mt4_v_2_server_admin/get_api_v_2_mt4_trade_platform_license_check_license_name.py +250 -0
  117. cplugin_webapi_sdk/_generated/api/mt4_v_2_server_admin/get_api_v_2_mt4_trade_platform_srv_feeder_log_name.py +246 -0
  118. cplugin_webapi_sdk/_generated/api/mt4_v_2_server_admin/get_api_v_2_mt4_trade_platform_srv_feeders.py +288 -0
  119. cplugin_webapi_sdk/_generated/api/mt4_v_2_server_admin/post_api_v_2_mt4_trade_platform_notifications_send.py +289 -0
  120. cplugin_webapi_sdk/_generated/api/mt4_v_2_server_admin_destructive/__init__.py +1 -0
  121. cplugin_webapi_sdk/_generated/api/mt4_v_2_server_admin_destructive/post_api_v_2_mt4_trade_platform_srv_charts_sync.py +257 -0
  122. cplugin_webapi_sdk/_generated/api/mt4_v_2_server_admin_destructive/post_api_v_2_mt4_trade_platform_srv_feeds_restart.py +253 -0
  123. cplugin_webapi_sdk/_generated/api/mt4_v_2_server_admin_destructive/post_api_v_2_mt4_trade_platform_srv_live_update_start.py +253 -0
  124. cplugin_webapi_sdk/_generated/api/mt4_v_2_server_admin_destructive/post_api_v_2_mt4_trade_platform_srv_restart.py +281 -0
  125. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_batch_reads/__init__.py +1 -0
  126. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_batch_reads/get_api_v_2_mt4_trade_platform_trades_snapshot.py +245 -0
  127. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_batch_reads/get_api_v_2_mt4_trade_platform_trades_sync_read.py +249 -0
  128. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_batch_reads/get_api_v_2_mt4_trade_platform_users_snapshot.py +257 -0
  129. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_batch_reads/get_api_v_2_mt4_trade_platform_users_sync_read.py +253 -0
  130. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_external_command/__init__.py +1 -0
  131. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_external_command/post_api_v_2_mt4_trade_platform_external_command_binary.py +393 -0
  132. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_messaging/__init__.py +1 -0
  133. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_messaging/get_api_v_2_mt4_trade_platform_mails_request.py +233 -0
  134. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_messaging/post_api_v_2_mt4_trade_platform_mail_send.py +317 -0
  135. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_messaging/post_api_v_2_mt4_trade_platform_news_send.py +309 -0
  136. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_plugins/__init__.py +1 -0
  137. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_plugins/get_api_v_2_mt4_trade_platform_cfg_request_plugin.py +233 -0
  138. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_plugins/get_api_v_2_mt4_trade_platform_plugin_param_get_pos.py +242 -0
  139. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_plugins/get_api_v_2_mt4_trade_platform_plugins_get.py +233 -0
  140. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_plugins/post_api_v_2_mt4_trade_platform_cfg_update_plugin.py +301 -0
  141. cplugin_webapi_sdk/_generated/api/mt4_v_2_sidecar_plugins/post_api_v_2_mt4_trade_platform_plugin_update.py +293 -0
  142. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/__init__.py +1 -0
  143. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/get_api_v_2_mt4_trade_platform_cfg_request_symbol.py +229 -0
  144. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/get_api_v_2_mt4_trade_platform_cfg_request_symbol_symbol.py +242 -0
  145. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/get_api_v_2_mt4_trade_platform_symbol_info_get.py +253 -0
  146. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/get_api_v_2_mt4_trade_platform_symbol_info_updated.py +268 -0
  147. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/get_api_v_2_mt4_trade_platform_symbol_sessions_get_symbol.py +258 -0
  148. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/get_api_v_2_mt4_trade_platform_symbols_groups_get.py +233 -0
  149. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/patch_api_v_2_mt4_trade_platform_symbol_config_symbol.py +255 -0
  150. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/post_api_v_2_mt4_trade_platform_cfg_update_symbol_symbol.py +530 -0
  151. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/post_api_v_2_mt4_trade_platform_symbol_add_symbol.py +270 -0
  152. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/post_api_v_2_mt4_trade_platform_symbol_change.py +417 -0
  153. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/post_api_v_2_mt4_trade_platform_symbol_hide_symbol.py +246 -0
  154. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/post_api_v_2_mt4_trade_platform_symbol_send_tick.py +319 -0
  155. cplugin_webapi_sdk/_generated/api/mt4_v_2_symbols/post_api_v_2_mt4_trade_platform_symbols_refresh.py +233 -0
  156. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/__init__.py +1 -0
  157. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/get_api_v_2_mt4_trade_platform_adm_trades_request_group.py +266 -0
  158. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/get_api_v_2_mt4_trade_platform_trade_record_get_order.py +246 -0
  159. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/get_api_v_2_mt4_trade_platform_trade_record_request_order.py +258 -0
  160. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/get_api_v_2_mt4_trade_platform_trade_records_request.py +278 -0
  161. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/get_api_v_2_mt4_trade_platform_trades_get.py +252 -0
  162. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/get_api_v_2_mt4_trade_platform_trades_get_by_login_login_group.py +259 -0
  163. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/get_api_v_2_mt4_trade_platform_trades_get_by_market.py +229 -0
  164. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/get_api_v_2_mt4_trade_platform_trades_get_by_symbol.py +249 -0
  165. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/get_api_v_2_mt4_trade_platform_trades_get_ticket.py +254 -0
  166. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/get_api_v_2_mt4_trade_platform_trades_request.py +299 -0
  167. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/post_api_v_2_mt4_trade_platform_adm_trade_record_modify_ticket.py +462 -0
  168. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/post_api_v_2_mt4_trade_platform_adm_trades_delete.py +290 -0
  169. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/post_api_v_2_mt4_trade_platform_trade_check_stops.py +453 -0
  170. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/post_api_v_2_mt4_trade_platform_trade_clear_rollback_order.py +262 -0
  171. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/post_api_v_2_mt4_trade_platform_trade_transaction.py +453 -0
  172. cplugin_webapi_sdk/_generated/api/mt4_v_2_trades/post_api_v_2_mt4_trade_platform_trades_sync_start.py +261 -0
  173. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/__init__.py +1 -0
  174. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/get_api_v_2_mt4_trade_platform_adm_balance_check.py +266 -0
  175. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/get_api_v_2_mt4_trade_platform_adm_balance_check_login.py +266 -0
  176. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/get_api_v_2_mt4_trade_platform_adm_users_request_safe_group.py +274 -0
  177. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/get_api_v_2_mt4_trade_platform_user_record_get_login.py +250 -0
  178. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/get_api_v_2_mt4_trade_platform_user_record_request_login.py +250 -0
  179. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/get_api_v_2_mt4_trade_platform_user_records_request.py +274 -0
  180. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/get_api_v_2_mt4_trade_platform_users_request.py +276 -0
  181. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/patch_api_v_2_mt4_trade_platform_user_record_login.py +283 -0
  182. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/post_api_v_2_mt4_trade_platform_adm_balance_fix.py +290 -0
  183. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/post_api_v_2_mt4_trade_platform_user_record_new.py +465 -0
  184. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/post_api_v_2_mt4_trade_platform_user_record_update_login.py +678 -0
  185. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/post_api_v_2_mt4_trade_platform_users_group_op.py +349 -0
  186. cplugin_webapi_sdk/_generated/api/mt4_v_2_users/post_api_v_2_mt4_trade_platform_users_sync_start.py +273 -0
  187. cplugin_webapi_sdk/_generated/api/mt5_v_2_common/__init__.py +1 -0
  188. cplugin_webapi_sdk/_generated/api/mt5_v_2_common/get_api_v_2_mt5_trade_platform_server_time.py +205 -0
  189. cplugin_webapi_sdk/_generated/api/mt5_v_2_common/get_api_v_2_mt5_trade_platform_time_get.py +205 -0
  190. cplugin_webapi_sdk/_generated/api/mt5_v_2_groups/__init__.py +1 -0
  191. cplugin_webapi_sdk/_generated/api/mt5_v_2_groups/get_api_v_2_mt5_trade_platform_group_get_group.py +218 -0
  192. cplugin_webapi_sdk/_generated/api/mt5_v_2_groups/patch_api_v_2_mt5_trade_platform_group_record_group.py +255 -0
  193. cplugin_webapi_sdk/_generated/api/mt5_v_2_managers/__init__.py +1 -0
  194. cplugin_webapi_sdk/_generated/api/mt5_v_2_managers/get_api_v_2_mt5_trade_platform_manager_current.py +205 -0
  195. cplugin_webapi_sdk/_generated/api/mt5_v_2_symbols/__init__.py +1 -0
  196. cplugin_webapi_sdk/_generated/api/mt5_v_2_symbols/get_api_v_2_mt5_trade_platform_symbol_get_symbol.py +218 -0
  197. cplugin_webapi_sdk/_generated/api/mt5_v_2_symbols/patch_api_v_2_mt5_trade_platform_symbol_record_symbol.py +255 -0
  198. cplugin_webapi_sdk/_generated/api/mt5_v_2_trades/__init__.py +1 -0
  199. cplugin_webapi_sdk/_generated/api/mt5_v_2_trades/get_api_v_2_mt5_trade_platform_deal_by_group_mask.py +265 -0
  200. cplugin_webapi_sdk/_generated/api/mt5_v_2_trades/get_api_v_2_mt5_trade_platform_order_by_group_mask.py +265 -0
  201. cplugin_webapi_sdk/_generated/api/mt5_v_2_trades/get_api_v_2_mt5_trade_platform_position_by_group_mask.py +265 -0
  202. cplugin_webapi_sdk/_generated/api/mt5_v_2_users/__init__.py +1 -0
  203. cplugin_webapi_sdk/_generated/api/mt5_v_2_users/get_api_v_2_mt5_trade_platform_user_get_login.py +218 -0
  204. cplugin_webapi_sdk/_generated/api/mt5_v_2_users/patch_api_v_2_mt5_trade_platform_user_record_login.py +255 -0
  205. cplugin_webapi_sdk/_generated/client.py +271 -0
  206. cplugin_webapi_sdk/_generated/errors.py +14 -0
  207. cplugin_webapi_sdk/_generated/models/__init__.py +469 -0
  208. cplugin_webapi_sdk/_generated/models/activation_modes.py +10 -0
  209. cplugin_webapi_sdk/_generated/models/activation_type.py +15 -0
  210. cplugin_webapi_sdk/_generated/models/api_error.py +135 -0
  211. cplugin_webapi_sdk/_generated/models/api_meta.py +114 -0
  212. cplugin_webapi_sdk/_generated/models/arc_backup_execution_period.py +10 -0
  213. cplugin_webapi_sdk/_generated/models/arc_backup_store_period.py +11 -0
  214. cplugin_webapi_sdk/_generated/models/backup_execution_period.py +9 -0
  215. cplugin_webapi_sdk/_generated/models/backup_store_period.py +10 -0
  216. cplugin_webapi_sdk/_generated/models/boolean_api_response.py +143 -0
  217. cplugin_webapi_sdk/_generated/models/chart_period.py +15 -0
  218. cplugin_webapi_sdk/_generated/models/data_feed_mode.py +9 -0
  219. cplugin_webapi_sdk/_generated/models/date_time_api_response.py +154 -0
  220. cplugin_webapi_sdk/_generated/models/deal_action.py +27 -0
  221. cplugin_webapi_sdk/_generated/models/deal_reason.py +26 -0
  222. cplugin_webapi_sdk/_generated/models/en_auth_mode.py +10 -0
  223. cplugin_webapi_sdk/_generated/models/en_auth_otp_mode.py +9 -0
  224. cplugin_webapi_sdk/_generated/models/en_calc_mode.py +21 -0
  225. cplugin_webapi_sdk/_generated/models/en_chart_mode.py +9 -0
  226. cplugin_webapi_sdk/_generated/models/en_comm_action_mode.py +9 -0
  227. cplugin_webapi_sdk/_generated/models/en_comm_charge_mode.py +9 -0
  228. cplugin_webapi_sdk/_generated/models/en_comm_entry_mode.py +9 -0
  229. cplugin_webapi_sdk/_generated/models/en_comm_mode.py +9 -0
  230. cplugin_webapi_sdk/_generated/models/en_comm_profit_mode.py +9 -0
  231. cplugin_webapi_sdk/_generated/models/en_comm_range_mode.py +11 -0
  232. cplugin_webapi_sdk/_generated/models/en_commission_mode.py +14 -0
  233. cplugin_webapi_sdk/_generated/models/en_commission_volume_type.py +8 -0
  234. cplugin_webapi_sdk/_generated/models/en_execution_mode.py +10 -0
  235. cplugin_webapi_sdk/_generated/models/en_free_margin_mode.py +10 -0
  236. cplugin_webapi_sdk/_generated/models/en_gateway_account_flags.py +8 -0
  237. cplugin_webapi_sdk/_generated/models/en_gtc_mode.py +9 -0
  238. cplugin_webapi_sdk/_generated/models/en_history_limit.py +13 -0
  239. cplugin_webapi_sdk/_generated/models/en_industries.py +172 -0
  240. cplugin_webapi_sdk/_generated/models/en_instant_mode.py +7 -0
  241. cplugin_webapi_sdk/_generated/models/en_log_type.py +14 -0
  242. cplugin_webapi_sdk/_generated/models/en_mail_mode.py +8 -0
  243. cplugin_webapi_sdk/_generated/models/en_manager_limit.py +13 -0
  244. cplugin_webapi_sdk/_generated/models/en_manager_rights.py +82 -0
  245. cplugin_webapi_sdk/_generated/models/en_margin_mode.py +9 -0
  246. cplugin_webapi_sdk/_generated/models/en_news_mode.py +9 -0
  247. cplugin_webapi_sdk/_generated/models/en_option_mode.py +10 -0
  248. cplugin_webapi_sdk/_generated/models/en_reports_mode.py +10 -0
  249. cplugin_webapi_sdk/_generated/models/en_sectors.py +22 -0
  250. cplugin_webapi_sdk/_generated/models/en_splice_time_type.py +7 -0
  251. cplugin_webapi_sdk/_generated/models/en_splice_type.py +9 -0
  252. cplugin_webapi_sdk/_generated/models/en_stop_out_mode.py +8 -0
  253. cplugin_webapi_sdk/_generated/models/en_swap_days.py +14 -0
  254. cplugin_webapi_sdk/_generated/models/en_swap_mode.py +16 -0
  255. cplugin_webapi_sdk/_generated/models/en_trade_mode.py +11 -0
  256. cplugin_webapi_sdk/_generated/models/en_transfer_mode.py +10 -0
  257. cplugin_webapi_sdk/_generated/models/entry_flag.py +10 -0
  258. cplugin_webapi_sdk/_generated/models/export_execution_period.py +11 -0
  259. cplugin_webapi_sdk/_generated/models/gtc_mode.py +9 -0
  260. cplugin_webapi_sdk/_generated/models/int_32_api_response.py +143 -0
  261. cplugin_webapi_sdk/_generated/models/int_32mt4_daily_report_list_dictionary_api_response.py +170 -0
  262. cplugin_webapi_sdk/_generated/models/int_32mt4_daily_report_list_dictionary_api_response_data_type_0.py +107 -0
  263. cplugin_webapi_sdk/_generated/models/json_node.py +155 -0
  264. cplugin_webapi_sdk/_generated/models/json_node_api_response.py +170 -0
  265. cplugin_webapi_sdk/_generated/models/json_node_options.py +60 -0
  266. cplugin_webapi_sdk/_generated/models/margin_calculation_mode.py +11 -0
  267. cplugin_webapi_sdk/_generated/models/margin_controlling_type.py +8 -0
  268. cplugin_webapi_sdk/_generated/models/margin_level_type.py +9 -0
  269. cplugin_webapi_sdk/_generated/models/margin_mode.py +10 -0
  270. cplugin_webapi_sdk/_generated/models/mt4_access.py +106 -0
  271. cplugin_webapi_sdk/_generated/models/mt4_access_api_response.py +173 -0
  272. cplugin_webapi_sdk/_generated/models/mt4_access_list_api_response.py +180 -0
  273. cplugin_webapi_sdk/_generated/models/mt4_backup.py +442 -0
  274. cplugin_webapi_sdk/_generated/models/mt4_backup_api_response.py +174 -0
  275. cplugin_webapi_sdk/_generated/models/mt4_backup_info.py +107 -0
  276. cplugin_webapi_sdk/_generated/models/mt4_backup_info_list_api_response.py +180 -0
  277. cplugin_webapi_sdk/_generated/models/mt4_balance_diff.py +74 -0
  278. cplugin_webapi_sdk/_generated/models/mt4_balance_diff_api_response.py +174 -0
  279. cplugin_webapi_sdk/_generated/models/mt4_balance_diff_list_api_response.py +180 -0
  280. cplugin_webapi_sdk/_generated/models/mt4_chart_bar.py +121 -0
  281. cplugin_webapi_sdk/_generated/models/mt4_chart_bar_list_api_response.py +180 -0
  282. cplugin_webapi_sdk/_generated/models/mt4_chart_write_request.py +103 -0
  283. cplugin_webapi_sdk/_generated/models/mt4_common.py +124 -0
  284. cplugin_webapi_sdk/_generated/models/mt4_common_api_response.py +172 -0
  285. cplugin_webapi_sdk/_generated/models/mt4_common_update.py +201 -0
  286. cplugin_webapi_sdk/_generated/models/mt4_daily_report.py +212 -0
  287. cplugin_webapi_sdk/_generated/models/mt4_daily_report_list_api_response.py +180 -0
  288. cplugin_webapi_sdk/_generated/models/mt4_data_server.py +153 -0
  289. cplugin_webapi_sdk/_generated/models/mt4_data_server_api_response.py +174 -0
  290. cplugin_webapi_sdk/_generated/models/mt4_data_server_list_api_response.py +180 -0
  291. cplugin_webapi_sdk/_generated/models/mt4_external_command_binary_request.py +77 -0
  292. cplugin_webapi_sdk/_generated/models/mt4_external_command_binary_response.py +74 -0
  293. cplugin_webapi_sdk/_generated/models/mt4_external_command_binary_response_api_response.py +171 -0
  294. cplugin_webapi_sdk/_generated/models/mt4_feeder.py +235 -0
  295. cplugin_webapi_sdk/_generated/models/mt4_feeder_api_response.py +172 -0
  296. cplugin_webapi_sdk/_generated/models/mt4_feeder_list_api_response.py +180 -0
  297. cplugin_webapi_sdk/_generated/models/mt4_gateway_account.py +190 -0
  298. cplugin_webapi_sdk/_generated/models/mt4_gateway_account_api_response.py +174 -0
  299. cplugin_webapi_sdk/_generated/models/mt4_gateway_account_list_api_response.py +180 -0
  300. cplugin_webapi_sdk/_generated/models/mt4_gateway_markup.py +157 -0
  301. cplugin_webapi_sdk/_generated/models/mt4_gateway_markup_api_response.py +174 -0
  302. cplugin_webapi_sdk/_generated/models/mt4_gateway_markup_list_api_response.py +180 -0
  303. cplugin_webapi_sdk/_generated/models/mt4_gateway_rule.py +234 -0
  304. cplugin_webapi_sdk/_generated/models/mt4_gateway_rule_api_response.py +177 -0
  305. cplugin_webapi_sdk/_generated/models/mt4_gateway_rule_list_api_response.py +180 -0
  306. cplugin_webapi_sdk/_generated/models/mt4_group.py +505 -0
  307. cplugin_webapi_sdk/_generated/models/mt4_group_api_response.py +193 -0
  308. cplugin_webapi_sdk/_generated/models/mt4_group_list_api_response.py +180 -0
  309. cplugin_webapi_sdk/_generated/models/mt4_group_margin.py +104 -0
  310. cplugin_webapi_sdk/_generated/models/mt4_group_margin_list_api_response.py +180 -0
  311. cplugin_webapi_sdk/_generated/models/mt4_group_sec.py +321 -0
  312. cplugin_webapi_sdk/_generated/models/mt4_group_sec_list_api_response.py +180 -0
  313. cplugin_webapi_sdk/_generated/models/mt4_group_update.py +467 -0
  314. cplugin_webapi_sdk/_generated/models/mt4_holiday.py +153 -0
  315. cplugin_webapi_sdk/_generated/models/mt4_holiday_api_response.py +174 -0
  316. cplugin_webapi_sdk/_generated/models/mt4_holiday_list_api_response.py +180 -0
  317. cplugin_webapi_sdk/_generated/models/mt4_live_update.py +165 -0
  318. cplugin_webapi_sdk/_generated/models/mt4_live_update_api_response.py +177 -0
  319. cplugin_webapi_sdk/_generated/models/mt4_live_update_list_api_response.py +180 -0
  320. cplugin_webapi_sdk/_generated/models/mt4_mail_box.py +148 -0
  321. cplugin_webapi_sdk/_generated/models/mt4_mail_box_list_api_response.py +180 -0
  322. cplugin_webapi_sdk/_generated/models/mt4_mail_send_request.py +160 -0
  323. cplugin_webapi_sdk/_generated/models/mt4_manager_rights.py +338 -0
  324. cplugin_webapi_sdk/_generated/models/mt4_manager_rights_api_response.py +175 -0
  325. cplugin_webapi_sdk/_generated/models/mt4_manager_rights_list_api_response.py +180 -0
  326. cplugin_webapi_sdk/_generated/models/mt4_margin_level.py +201 -0
  327. cplugin_webapi_sdk/_generated/models/mt4_margin_level_api_response.py +174 -0
  328. cplugin_webapi_sdk/_generated/models/mt4_margin_level_list_api_response.py +180 -0
  329. cplugin_webapi_sdk/_generated/models/mt4_news_send_request.py +127 -0
  330. cplugin_webapi_sdk/_generated/models/mt4_news_topic.py +177 -0
  331. cplugin_webapi_sdk/_generated/models/mt4_news_topic_api_response.py +178 -0
  332. cplugin_webapi_sdk/_generated/models/mt4_news_topic_list_api_response.py +180 -0
  333. cplugin_webapi_sdk/_generated/models/mt4_notifications_send_request.py +114 -0
  334. cplugin_webapi_sdk/_generated/models/mt4_online.py +88 -0
  335. cplugin_webapi_sdk/_generated/models/mt4_online_list_api_response.py +180 -0
  336. cplugin_webapi_sdk/_generated/models/mt4_performance.py +124 -0
  337. cplugin_webapi_sdk/_generated/models/mt4_performance_list_api_response.py +180 -0
  338. cplugin_webapi_sdk/_generated/models/mt4_plugin.py +153 -0
  339. cplugin_webapi_sdk/_generated/models/mt4_plugin_config.py +96 -0
  340. cplugin_webapi_sdk/_generated/models/mt4_plugin_list_api_response.py +180 -0
  341. cplugin_webapi_sdk/_generated/models/mt4_plugin_param.py +137 -0
  342. cplugin_webapi_sdk/_generated/models/mt4_plugin_param_api_response.py +171 -0
  343. cplugin_webapi_sdk/_generated/models/mt4_plugin_param_list_api_response.py +180 -0
  344. cplugin_webapi_sdk/_generated/models/mt4_server_log.py +151 -0
  345. cplugin_webapi_sdk/_generated/models/mt4_server_log_list_api_response.py +180 -0
  346. cplugin_webapi_sdk/_generated/models/mt4_server_time.py +95 -0
  347. cplugin_webapi_sdk/_generated/models/mt4_server_time_api_response.py +178 -0
  348. cplugin_webapi_sdk/_generated/models/mt4_symbol_change_request.py +148 -0
  349. cplugin_webapi_sdk/_generated/models/mt4_symbol_config.py +683 -0
  350. cplugin_webapi_sdk/_generated/models/mt4_symbol_config_api_response.py +177 -0
  351. cplugin_webapi_sdk/_generated/models/mt4_symbol_config_list_api_response.py +180 -0
  352. cplugin_webapi_sdk/_generated/models/mt4_symbol_config_update.py +608 -0
  353. cplugin_webapi_sdk/_generated/models/mt4_symbol_day_sessions.py +171 -0
  354. cplugin_webapi_sdk/_generated/models/mt4_symbol_day_sessions_list_api_response.py +180 -0
  355. cplugin_webapi_sdk/_generated/models/mt4_symbol_group.py +99 -0
  356. cplugin_webapi_sdk/_generated/models/mt4_symbol_group_api_response.py +174 -0
  357. cplugin_webapi_sdk/_generated/models/mt4_symbol_group_list_api_response.py +180 -0
  358. cplugin_webapi_sdk/_generated/models/mt4_symbol_info.py +210 -0
  359. cplugin_webapi_sdk/_generated/models/mt4_symbol_info_api_response.py +178 -0
  360. cplugin_webapi_sdk/_generated/models/mt4_symbol_info_list_api_response.py +180 -0
  361. cplugin_webapi_sdk/_generated/models/mt4_symbol_session.py +91 -0
  362. cplugin_webapi_sdk/_generated/models/mt4_sync.py +176 -0
  363. cplugin_webapi_sdk/_generated/models/mt4_sync_api_response.py +173 -0
  364. cplugin_webapi_sdk/_generated/models/mt4_sync_list_api_response.py +180 -0
  365. cplugin_webapi_sdk/_generated/models/mt4_tick_info.py +117 -0
  366. cplugin_webapi_sdk/_generated/models/mt4_tick_info_api_response.py +175 -0
  367. cplugin_webapi_sdk/_generated/models/mt4_tick_info_list_api_response.py +180 -0
  368. cplugin_webapi_sdk/_generated/models/mt4_tick_record.py +126 -0
  369. cplugin_webapi_sdk/_generated/models/mt4_tick_record_list_api_response.py +180 -0
  370. cplugin_webapi_sdk/_generated/models/mt4_trade.py +409 -0
  371. cplugin_webapi_sdk/_generated/models/mt4_trade_api_response.py +179 -0
  372. cplugin_webapi_sdk/_generated/models/mt4_trade_list_api_response.py +180 -0
  373. cplugin_webapi_sdk/_generated/models/mt4_trade_restore_input.py +274 -0
  374. cplugin_webapi_sdk/_generated/models/mt4_trade_restore_result.py +72 -0
  375. cplugin_webapi_sdk/_generated/models/mt4_trade_restore_result_list_api_response.py +180 -0
  376. cplugin_webapi_sdk/_generated/models/mt4_trade_transaction.py +262 -0
  377. cplugin_webapi_sdk/_generated/models/mt4_trade_transaction_api_response.py +181 -0
  378. cplugin_webapi_sdk/_generated/models/mt4_trade_update.py +165 -0
  379. cplugin_webapi_sdk/_generated/models/mt4_user.py +533 -0
  380. cplugin_webapi_sdk/_generated/models/mt4_user_api_response.py +184 -0
  381. cplugin_webapi_sdk/_generated/models/mt4_user_create.py +420 -0
  382. cplugin_webapi_sdk/_generated/models/mt4_user_list_api_response.py +180 -0
  383. cplugin_webapi_sdk/_generated/models/mt4_user_restore_input.py +193 -0
  384. cplugin_webapi_sdk/_generated/models/mt4_user_update.py +441 -0
  385. cplugin_webapi_sdk/_generated/models/mt4_users_group_op.py +140 -0
  386. cplugin_webapi_sdk/_generated/models/mt5_con_comm_tier.py +246 -0
  387. cplugin_webapi_sdk/_generated/models/mt5_con_commission.py +409 -0
  388. cplugin_webapi_sdk/_generated/models/mt5_con_group.py +1162 -0
  389. cplugin_webapi_sdk/_generated/models/mt5_con_group_api_response.py +170 -0
  390. cplugin_webapi_sdk/_generated/models/mt5_con_group_commissions_type_0.py +83 -0
  391. cplugin_webapi_sdk/_generated/models/mt5_con_manager.py +227 -0
  392. cplugin_webapi_sdk/_generated/models/mt5_con_manager_api_response.py +156 -0
  393. cplugin_webapi_sdk/_generated/models/mt5_deal.py +1045 -0
  394. cplugin_webapi_sdk/_generated/models/mt5_deal_list_api_response.py +180 -0
  395. cplugin_webapi_sdk/_generated/models/mt5_order.py +1008 -0
  396. cplugin_webapi_sdk/_generated/models/mt5_order_list_api_response.py +180 -0
  397. cplugin_webapi_sdk/_generated/models/mt5_position.py +829 -0
  398. cplugin_webapi_sdk/_generated/models/mt5_position_list_api_response.py +180 -0
  399. cplugin_webapi_sdk/_generated/models/mt5_symbol.py +2743 -0
  400. cplugin_webapi_sdk/_generated/models/mt5_symbol_api_response.py +170 -0
  401. cplugin_webapi_sdk/_generated/models/mt5_symbol_margin_rate_initial_type_0.py +124 -0
  402. cplugin_webapi_sdk/_generated/models/mt5_symbol_margin_rate_maintenance_type_0.py +124 -0
  403. cplugin_webapi_sdk/_generated/models/mt5_symbol_session.py +182 -0
  404. cplugin_webapi_sdk/_generated/models/mt5_time.py +101 -0
  405. cplugin_webapi_sdk/_generated/models/mt5_time_api_response.py +170 -0
  406. cplugin_webapi_sdk/_generated/models/mt5_user.py +752 -0
  407. cplugin_webapi_sdk/_generated/models/mt5_user_api_response.py +172 -0
  408. cplugin_webapi_sdk/_generated/models/news_mode.py +9 -0
  409. cplugin_webapi_sdk/_generated/models/order_filling.py +10 -0
  410. cplugin_webapi_sdk/_generated/models/order_reason.py +26 -0
  411. cplugin_webapi_sdk/_generated/models/order_state.py +16 -0
  412. cplugin_webapi_sdk/_generated/models/order_time.py +10 -0
  413. cplugin_webapi_sdk/_generated/models/order_type.py +15 -0
  414. cplugin_webapi_sdk/_generated/models/otp_mode.py +8 -0
  415. cplugin_webapi_sdk/_generated/models/paging_meta.py +88 -0
  416. cplugin_webapi_sdk/_generated/models/patch_api_v2mt4_trade_platform_group_record_group_json_body.py +66 -0
  417. cplugin_webapi_sdk/_generated/models/patch_api_v2mt4_trade_platform_symbol_config_symbol_json_body.py +66 -0
  418. cplugin_webapi_sdk/_generated/models/patch_api_v2mt4_trade_platform_user_record_login_json_body.py +66 -0
  419. cplugin_webapi_sdk/_generated/models/patch_api_v2mt5_trade_platform_group_record_group_json_body.py +66 -0
  420. cplugin_webapi_sdk/_generated/models/patch_api_v2mt5_trade_platform_symbol_record_symbol_json_body.py +66 -0
  421. cplugin_webapi_sdk/_generated/models/patch_api_v2mt5_trade_platform_user_record_login_json_body.py +66 -0
  422. cplugin_webapi_sdk/_generated/models/position_actions.py +8 -0
  423. cplugin_webapi_sdk/_generated/models/position_reasons.py +26 -0
  424. cplugin_webapi_sdk/_generated/models/profit_calculation_mode.py +9 -0
  425. cplugin_webapi_sdk/_generated/models/request_mode.py +10 -0
  426. cplugin_webapi_sdk/_generated/models/result_code.py +46 -0
  427. cplugin_webapi_sdk/_generated/models/server_role.py +9 -0
  428. cplugin_webapi_sdk/_generated/models/string_api_response.py +155 -0
  429. cplugin_webapi_sdk/_generated/models/swap_type.py +10 -0
  430. cplugin_webapi_sdk/_generated/models/symbol_exec_mode.py +9 -0
  431. cplugin_webapi_sdk/_generated/models/symbol_price_direction.py +9 -0
  432. cplugin_webapi_sdk/_generated/models/synchronization_mode.py +11 -0
  433. cplugin_webapi_sdk/_generated/models/trade_command.py +14 -0
  434. cplugin_webapi_sdk/_generated/models/trade_mode.py +9 -0
  435. cplugin_webapi_sdk/_generated/models/trade_record_reason.py +14 -0
  436. cplugin_webapi_sdk/_generated/models/trade_record_state.py +13 -0
  437. cplugin_webapi_sdk/_generated/models/watchdog_failover_mode.py +9 -0
  438. cplugin_webapi_sdk/_generated/models/watchdog_state.py +9 -0
  439. cplugin_webapi_sdk/_generated/models/web_api_error_code.py +17 -0
  440. cplugin_webapi_sdk/_generated/operation_timeouts.py +181 -0
  441. cplugin_webapi_sdk/_generated/types.py +53 -0
  442. cplugin_webapi_sdk/auth.py +278 -0
  443. cplugin_webapi_sdk/client.py +1215 -0
  444. cplugin_webapi_sdk/discovery.py +109 -0
  445. cplugin_webapi_sdk/envelope.py +77 -0
  446. cplugin_webapi_sdk/environments.py +45 -0
  447. cplugin_webapi_sdk/errors.py +79 -0
  448. cplugin_webapi_sdk/flags.py +36 -0
  449. cplugin_webapi_sdk/pagination.py +141 -0
  450. cplugin_webapi_sdk/realtime.py +408 -0
  451. cplugin_webapi_sdk/timeouts.py +197 -0
  452. cplugin_webapi_sdk/unwrap.py +153 -0
  453. mywebapi_sdk-0.3.0.dist-info/METADATA +312 -0
  454. mywebapi_sdk-0.3.0.dist-info/RECORD +456 -0
  455. mywebapi_sdk-0.3.0.dist-info/WHEEL +4 -0
  456. mywebapi_sdk-0.3.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,2743 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ from ..models.en_calc_mode import EnCalcMode
12
+ from ..models.en_chart_mode import EnChartMode
13
+ from ..models.en_execution_mode import EnExecutionMode
14
+ from ..models.en_gtc_mode import EnGtcMode
15
+ from ..models.en_industries import EnIndustries
16
+ from ..models.en_instant_mode import EnInstantMode
17
+ from ..models.en_option_mode import EnOptionMode
18
+ from ..models.en_sectors import EnSectors
19
+ from ..models.en_splice_time_type import EnSpliceTimeType
20
+ from ..models.en_splice_type import EnSpliceType
21
+ from ..models.en_swap_days import EnSwapDays
22
+ from ..models.en_swap_mode import EnSwapMode
23
+ from ..models.en_trade_mode import EnTradeMode
24
+ from ..types import UNSET, Unset
25
+ from typing import cast
26
+ import datetime
27
+
28
+ if TYPE_CHECKING:
29
+ from ..models.mt5_symbol_margin_rate_initial_type_0 import MT5SymbolMarginRateInitialType0
30
+ from ..models.mt5_symbol_margin_rate_maintenance_type_0 import MT5SymbolMarginRateMaintenanceType0
31
+ from ..models.mt5_symbol_session import MT5SymbolSession
32
+
33
+
34
+
35
+
36
+
37
+ T = TypeVar("T", bound="MT5Symbol")
38
+
39
+
40
+
41
+ @_attrs_define
42
+ class MT5Symbol:
43
+ """
44
+ Attributes:
45
+ symbol (None | str | Unset): name
46
+ path (None | str | Unset): hierarchical symbol path (including symbol name)
47
+ isin (None | str | Unset): ISIN
48
+ description (None | str | Unset): local description
49
+ international (None | str | Unset): internation description
50
+ basis (None | str | Unset): basic symbol name
51
+ source (None | str | Unset): source symbol name
52
+ page (None | str | Unset): symbol specification page URL
53
+ currency_base (None | str | Unset): symbol base currency
54
+ currency_base_digits (int | None | Unset): <strong>Has No Setter In ManagerAPI, so all you can is to read this
55
+ value.</strong>
56
+ <br />
57
+ <br />
58
+ currency_profit (None | str | Unset): symbol profit currency
59
+ currency_profit_digits (int | None | Unset): <strong>Has No Setter In ManagerAPI, so all you can is to read this
60
+ value.</strong>
61
+ <br />
62
+ <br />
63
+ currency_margin (None | str | Unset): symbol margin currency
64
+ currency_margin_digits (int | None | Unset): <strong>Has No Setter In ManagerAPI, so all you can is to read this
65
+ value.</strong>
66
+ <br />
67
+ <br />
68
+ color (int | None | Unset): symbol color
69
+ color_background (int | None | Unset): symbol background color
70
+ digits (int | None | Unset): symbol digits
71
+ point (float | None | Unset):
72
+ multiply (float | None | Unset): <strong>Has No Setter In ManagerAPI, so all you can is to read this
73
+ value.</strong>
74
+ <br />
75
+ <br />
76
+ tick_flags (None | str | Unset): EnTickFlags
77
+ tick_book_depth (int | None | Unset): Depth of Market depth (both legs)
78
+ filter_soft (int | None | Unset): filtration soft level
79
+ filter_soft_ticks (int | None | Unset): filtration soft level counter
80
+ filter_hard (int | None | Unset): filtration hard level
81
+ filter_hard_ticks (int | None | Unset): filtration hard level counter
82
+ filter_discard (int | None | Unset): filtration discard level
83
+ filter_spread_max (int | None | Unset): spread max value
84
+ filter_spread_min (int | None | Unset): spread min value
85
+ trade_mode (EnTradeMode | None | Unset): EnTradeMode
86
+ calc_mode (EnCalcMode | None | Unset): EnCalcMode
87
+ exec_mode (EnExecutionMode | None | Unset): EnExecutionMode
88
+ gtc_mode (EnGtcMode | None | Unset): EnGTCMode
89
+ fill_flags (None | str | Unset): EnFillingFlags
90
+ expir_flags (None | str | Unset): EnExpirationFlags
91
+ spread (int | None | Unset): symbol spread (0-floating)
92
+ spread_balance (int | None | Unset): spread balance
93
+ spread_diff (int | None | Unset): spread difference
94
+ spread_diff_balance (int | None | Unset): spread difference balance
95
+ tick_value (float | None | Unset): tick value
96
+ tick_size (float | None | Unset): tick size
97
+ contract_size (float | None | Unset): contract size
98
+ stops_level (int | None | Unset): stops level
99
+ freeze_level (int | None | Unset): freeze level
100
+ quotes_timeout (int | None | Unset): The time to wait for quotes in seconds, after which trading is
101
+ automatically disabled for the symbol.
102
+ volume_min (int | None | Unset): minimal volume
103
+ volume_max (int | None | Unset): maximal volume
104
+ volume_step (int | None | Unset): volume step
105
+ volume_limit (int | None | Unset): cumulative positions and orders limit
106
+ margin_flags (None | str | Unset): EnMarginFlags
107
+ margin_initial (float | None | Unset): initial margin
108
+ margin_maintenance (float | None | Unset): maintenance margin
109
+ margin_long (float | None | Unset): long orders and positions margin rate
110
+ margin_short (float | None | Unset): short orders and positions margin rate
111
+ margin_limit (float | None | Unset): limit orders and positions margin rate
112
+ margin_stop (float | None | Unset): stop orders and positions margin rate
113
+ margin_stop_limit (float | None | Unset): stop-limit orders and positions margin rate
114
+ swap_mode (EnSwapMode | None | Unset): EnSwapMode
115
+ swap_long (float | None | Unset): long positions swaps rate
116
+ swap_short (float | None | Unset): short positions swaps rate
117
+ swap_3_day (EnSwapDays | None | Unset): 3 time swaps day, EnSwapDay
118
+ time_start (datetime.datetime | None | Unset): trade start date
119
+ time_expiration (datetime.datetime | None | Unset): The date of trading expiration for a symbol.<br />
120
+ It is considered that there is no time limitation for trading by a symbol if both IMTConSymbol::TimeStart and
121
+ IMTConSymbol::TimeExpiration are equal to 0.
122
+ session_quote (list[list[MT5SymbolSession]] | None | Unset): <strong>Not yet implemented. Contact us for further
123
+ information</strong>
124
+ <br />
125
+ <br />
126
+ Update a quoting session of a symbol by the day and index. The day is specified by a value 0
127
+ (Sunday) to 6 (Saturday).
128
+ session_trade (list[list[MT5SymbolSession]] | None | Unset): <strong>Not yet implemented. Contact us for further
129
+ information</strong>
130
+ <br />
131
+ <br />
132
+ re_flags (None | str | Unset): request execution flags
133
+ re_timeout (int | None | Unset): Time in seconds during which the price issued by a dealer in the request
134
+ execution mode is valid.
135
+ ie_check_mode (EnInstantMode | None | Unset): instant execution check mode
136
+ ie_timeout (int | None | Unset): Get and set the maximum allowed difference between the time of arrival of the
137
+ price, at which the client places an order, and the time of the last price.
138
+ ie_slip_profit (int | None | Unset): instant execution profit slippage
139
+ ie_slip_losing (int | None | Unset): instant execution losing slippage
140
+ ie_volume_max (int | None | Unset): instant execution max volume
141
+ price_settle (float | None | Unset): settle price (for futures)
142
+ price_limit_max (float | None | Unset): price limit max (for futures)
143
+ price_limit_min (float | None | Unset): price limit min (for futures)
144
+ trade_flags (None | str | Unset): EnTradeFlags
145
+ order_flags (None | str | Unset): EnOrderFlags
146
+ margin_rate_initial (MT5SymbolMarginRateInitialType0 | None | Unset): orders and positions margin rates
147
+ margin_rate_maintenance (MT5SymbolMarginRateMaintenanceType0 | None | Unset): orders and positions margin rates
148
+ options_mode (EnOptionMode | None | Unset): options mode EnOptionMode
149
+ price_strike (float | None | Unset): option strike price value
150
+ margin_rate_liquidity (float | None | Unset): liquidity rate
151
+ face_value (float | None | Unset): bond face value
152
+ accrued_interest (float | None | Unset): bond accrued interest
153
+ splice_type (EnSpliceType | None | Unset): futures splice type EnSpliceType
154
+ splice_time_type (EnSpliceTimeType | None | Unset): futures splice time type EnSpliceType
155
+ splice_time_days (int | None | Unset): The splicing shift as a number of days to the past from the symbol's
156
+ expiration date IMTConSymbol::TimeExpiration
157
+ margin_hedged (float | None | Unset): hedged positions margin rate
158
+ margin_rate_currency (float | None | Unset): currency rate
159
+ filter_gap (int | None | Unset): gap level
160
+ filter_gap_ticks (int | None | Unset): gap level ticks
161
+ chart_mode (EnChartMode | None | Unset): chart mode
162
+ ie_flags (None | str | Unset): instant execution flags with extended accuracy
163
+ volume_min_ext (int | None | Unset): minimal volume with extended accuracy
164
+ volume_max_ext (int | None | Unset): maximal volume with extended accuracy
165
+ volume_step_ext (int | None | Unset): volume step with extended accuracy
166
+ volume_limit_ext (int | None | Unset): cumulative positions and orders limit with extended accuracy
167
+ ie_volume_max_ext (int | None | Unset): instant execution max volume with extended accuracy
168
+ category (None | str | Unset): category
169
+ exchange (None | str | Unset): exchange
170
+ cfi (None | str | Unset): CFI
171
+ sector (EnSectors | None | Unset): Sector
172
+ industry (EnIndustries | None | Unset): Industry
173
+ country (None | str | Unset): Country - ISO 3166-1 alpha-3 code
174
+ subscriptions_delay (int | None | Unset): Delay for subscriptions
175
+ swap_year_days (int | None | Unset): Days in year
176
+ swap_flags (None | str | Unset): swap flags
177
+ swap_rate_sunday (float | None | Unset): swap rate for Sunday
178
+ swap_rate_monday (float | None | Unset): swap rate for Monday
179
+ swap_rate_tuesday (float | None | Unset): swap rate for Tuesday
180
+ swap_rate_wednesday (float | None | Unset): swap rate for Wednesday
181
+ swap_rate_thursday (float | None | Unset): swap rate for Thursday
182
+ swap_rate_friday (float | None | Unset): swap rate for Friday
183
+ swap_rate_saturday (float | None | Unset): swap rate for Saturday
184
+ """
185
+
186
+ symbol: None | str | Unset = UNSET
187
+ path: None | str | Unset = UNSET
188
+ isin: None | str | Unset = UNSET
189
+ description: None | str | Unset = UNSET
190
+ international: None | str | Unset = UNSET
191
+ basis: None | str | Unset = UNSET
192
+ source: None | str | Unset = UNSET
193
+ page: None | str | Unset = UNSET
194
+ currency_base: None | str | Unset = UNSET
195
+ currency_base_digits: int | None | Unset = UNSET
196
+ currency_profit: None | str | Unset = UNSET
197
+ currency_profit_digits: int | None | Unset = UNSET
198
+ currency_margin: None | str | Unset = UNSET
199
+ currency_margin_digits: int | None | Unset = UNSET
200
+ color: int | None | Unset = UNSET
201
+ color_background: int | None | Unset = UNSET
202
+ digits: int | None | Unset = UNSET
203
+ point: float | None | Unset = UNSET
204
+ multiply: float | None | Unset = UNSET
205
+ tick_flags: None | str | Unset = UNSET
206
+ tick_book_depth: int | None | Unset = UNSET
207
+ filter_soft: int | None | Unset = UNSET
208
+ filter_soft_ticks: int | None | Unset = UNSET
209
+ filter_hard: int | None | Unset = UNSET
210
+ filter_hard_ticks: int | None | Unset = UNSET
211
+ filter_discard: int | None | Unset = UNSET
212
+ filter_spread_max: int | None | Unset = UNSET
213
+ filter_spread_min: int | None | Unset = UNSET
214
+ trade_mode: EnTradeMode | None | Unset = UNSET
215
+ calc_mode: EnCalcMode | None | Unset = UNSET
216
+ exec_mode: EnExecutionMode | None | Unset = UNSET
217
+ gtc_mode: EnGtcMode | None | Unset = UNSET
218
+ fill_flags: None | str | Unset = UNSET
219
+ expir_flags: None | str | Unset = UNSET
220
+ spread: int | None | Unset = UNSET
221
+ spread_balance: int | None | Unset = UNSET
222
+ spread_diff: int | None | Unset = UNSET
223
+ spread_diff_balance: int | None | Unset = UNSET
224
+ tick_value: float | None | Unset = UNSET
225
+ tick_size: float | None | Unset = UNSET
226
+ contract_size: float | None | Unset = UNSET
227
+ stops_level: int | None | Unset = UNSET
228
+ freeze_level: int | None | Unset = UNSET
229
+ quotes_timeout: int | None | Unset = UNSET
230
+ volume_min: int | None | Unset = UNSET
231
+ volume_max: int | None | Unset = UNSET
232
+ volume_step: int | None | Unset = UNSET
233
+ volume_limit: int | None | Unset = UNSET
234
+ margin_flags: None | str | Unset = UNSET
235
+ margin_initial: float | None | Unset = UNSET
236
+ margin_maintenance: float | None | Unset = UNSET
237
+ margin_long: float | None | Unset = UNSET
238
+ margin_short: float | None | Unset = UNSET
239
+ margin_limit: float | None | Unset = UNSET
240
+ margin_stop: float | None | Unset = UNSET
241
+ margin_stop_limit: float | None | Unset = UNSET
242
+ swap_mode: EnSwapMode | None | Unset = UNSET
243
+ swap_long: float | None | Unset = UNSET
244
+ swap_short: float | None | Unset = UNSET
245
+ swap_3_day: EnSwapDays | None | Unset = UNSET
246
+ time_start: datetime.datetime | None | Unset = UNSET
247
+ time_expiration: datetime.datetime | None | Unset = UNSET
248
+ session_quote: list[list[MT5SymbolSession]] | None | Unset = UNSET
249
+ session_trade: list[list[MT5SymbolSession]] | None | Unset = UNSET
250
+ re_flags: None | str | Unset = UNSET
251
+ re_timeout: int | None | Unset = UNSET
252
+ ie_check_mode: EnInstantMode | None | Unset = UNSET
253
+ ie_timeout: int | None | Unset = UNSET
254
+ ie_slip_profit: int | None | Unset = UNSET
255
+ ie_slip_losing: int | None | Unset = UNSET
256
+ ie_volume_max: int | None | Unset = UNSET
257
+ price_settle: float | None | Unset = UNSET
258
+ price_limit_max: float | None | Unset = UNSET
259
+ price_limit_min: float | None | Unset = UNSET
260
+ trade_flags: None | str | Unset = UNSET
261
+ order_flags: None | str | Unset = UNSET
262
+ margin_rate_initial: MT5SymbolMarginRateInitialType0 | None | Unset = UNSET
263
+ margin_rate_maintenance: MT5SymbolMarginRateMaintenanceType0 | None | Unset = UNSET
264
+ options_mode: EnOptionMode | None | Unset = UNSET
265
+ price_strike: float | None | Unset = UNSET
266
+ margin_rate_liquidity: float | None | Unset = UNSET
267
+ face_value: float | None | Unset = UNSET
268
+ accrued_interest: float | None | Unset = UNSET
269
+ splice_type: EnSpliceType | None | Unset = UNSET
270
+ splice_time_type: EnSpliceTimeType | None | Unset = UNSET
271
+ splice_time_days: int | None | Unset = UNSET
272
+ margin_hedged: float | None | Unset = UNSET
273
+ margin_rate_currency: float | None | Unset = UNSET
274
+ filter_gap: int | None | Unset = UNSET
275
+ filter_gap_ticks: int | None | Unset = UNSET
276
+ chart_mode: EnChartMode | None | Unset = UNSET
277
+ ie_flags: None | str | Unset = UNSET
278
+ volume_min_ext: int | None | Unset = UNSET
279
+ volume_max_ext: int | None | Unset = UNSET
280
+ volume_step_ext: int | None | Unset = UNSET
281
+ volume_limit_ext: int | None | Unset = UNSET
282
+ ie_volume_max_ext: int | None | Unset = UNSET
283
+ category: None | str | Unset = UNSET
284
+ exchange: None | str | Unset = UNSET
285
+ cfi: None | str | Unset = UNSET
286
+ sector: EnSectors | None | Unset = UNSET
287
+ industry: EnIndustries | None | Unset = UNSET
288
+ country: None | str | Unset = UNSET
289
+ subscriptions_delay: int | None | Unset = UNSET
290
+ swap_year_days: int | None | Unset = UNSET
291
+ swap_flags: None | str | Unset = UNSET
292
+ swap_rate_sunday: float | None | Unset = UNSET
293
+ swap_rate_monday: float | None | Unset = UNSET
294
+ swap_rate_tuesday: float | None | Unset = UNSET
295
+ swap_rate_wednesday: float | None | Unset = UNSET
296
+ swap_rate_thursday: float | None | Unset = UNSET
297
+ swap_rate_friday: float | None | Unset = UNSET
298
+ swap_rate_saturday: float | None | Unset = UNSET
299
+
300
+
301
+
302
+
303
+
304
+ def to_dict(self) -> dict[str, Any]:
305
+ from ..models.mt5_symbol_margin_rate_initial_type_0 import MT5SymbolMarginRateInitialType0
306
+ from ..models.mt5_symbol_margin_rate_maintenance_type_0 import MT5SymbolMarginRateMaintenanceType0
307
+ from ..models.mt5_symbol_session import MT5SymbolSession
308
+ symbol: None | str | Unset
309
+ if isinstance(self.symbol, Unset):
310
+ symbol = UNSET
311
+ else:
312
+ symbol = self.symbol
313
+
314
+ path: None | str | Unset
315
+ if isinstance(self.path, Unset):
316
+ path = UNSET
317
+ else:
318
+ path = self.path
319
+
320
+ isin: None | str | Unset
321
+ if isinstance(self.isin, Unset):
322
+ isin = UNSET
323
+ else:
324
+ isin = self.isin
325
+
326
+ description: None | str | Unset
327
+ if isinstance(self.description, Unset):
328
+ description = UNSET
329
+ else:
330
+ description = self.description
331
+
332
+ international: None | str | Unset
333
+ if isinstance(self.international, Unset):
334
+ international = UNSET
335
+ else:
336
+ international = self.international
337
+
338
+ basis: None | str | Unset
339
+ if isinstance(self.basis, Unset):
340
+ basis = UNSET
341
+ else:
342
+ basis = self.basis
343
+
344
+ source: None | str | Unset
345
+ if isinstance(self.source, Unset):
346
+ source = UNSET
347
+ else:
348
+ source = self.source
349
+
350
+ page: None | str | Unset
351
+ if isinstance(self.page, Unset):
352
+ page = UNSET
353
+ else:
354
+ page = self.page
355
+
356
+ currency_base: None | str | Unset
357
+ if isinstance(self.currency_base, Unset):
358
+ currency_base = UNSET
359
+ else:
360
+ currency_base = self.currency_base
361
+
362
+ currency_base_digits: int | None | Unset
363
+ if isinstance(self.currency_base_digits, Unset):
364
+ currency_base_digits = UNSET
365
+ else:
366
+ currency_base_digits = self.currency_base_digits
367
+
368
+ currency_profit: None | str | Unset
369
+ if isinstance(self.currency_profit, Unset):
370
+ currency_profit = UNSET
371
+ else:
372
+ currency_profit = self.currency_profit
373
+
374
+ currency_profit_digits: int | None | Unset
375
+ if isinstance(self.currency_profit_digits, Unset):
376
+ currency_profit_digits = UNSET
377
+ else:
378
+ currency_profit_digits = self.currency_profit_digits
379
+
380
+ currency_margin: None | str | Unset
381
+ if isinstance(self.currency_margin, Unset):
382
+ currency_margin = UNSET
383
+ else:
384
+ currency_margin = self.currency_margin
385
+
386
+ currency_margin_digits: int | None | Unset
387
+ if isinstance(self.currency_margin_digits, Unset):
388
+ currency_margin_digits = UNSET
389
+ else:
390
+ currency_margin_digits = self.currency_margin_digits
391
+
392
+ color: int | None | Unset
393
+ if isinstance(self.color, Unset):
394
+ color = UNSET
395
+ else:
396
+ color = self.color
397
+
398
+ color_background: int | None | Unset
399
+ if isinstance(self.color_background, Unset):
400
+ color_background = UNSET
401
+ else:
402
+ color_background = self.color_background
403
+
404
+ digits: int | None | Unset
405
+ if isinstance(self.digits, Unset):
406
+ digits = UNSET
407
+ else:
408
+ digits = self.digits
409
+
410
+ point: float | None | Unset
411
+ if isinstance(self.point, Unset):
412
+ point = UNSET
413
+ else:
414
+ point = self.point
415
+
416
+ multiply: float | None | Unset
417
+ if isinstance(self.multiply, Unset):
418
+ multiply = UNSET
419
+ else:
420
+ multiply = self.multiply
421
+
422
+ tick_flags: None | str | Unset
423
+ if isinstance(self.tick_flags, Unset):
424
+ tick_flags = UNSET
425
+ else:
426
+ tick_flags = self.tick_flags
427
+
428
+ tick_book_depth: int | None | Unset
429
+ if isinstance(self.tick_book_depth, Unset):
430
+ tick_book_depth = UNSET
431
+ else:
432
+ tick_book_depth = self.tick_book_depth
433
+
434
+ filter_soft: int | None | Unset
435
+ if isinstance(self.filter_soft, Unset):
436
+ filter_soft = UNSET
437
+ else:
438
+ filter_soft = self.filter_soft
439
+
440
+ filter_soft_ticks: int | None | Unset
441
+ if isinstance(self.filter_soft_ticks, Unset):
442
+ filter_soft_ticks = UNSET
443
+ else:
444
+ filter_soft_ticks = self.filter_soft_ticks
445
+
446
+ filter_hard: int | None | Unset
447
+ if isinstance(self.filter_hard, Unset):
448
+ filter_hard = UNSET
449
+ else:
450
+ filter_hard = self.filter_hard
451
+
452
+ filter_hard_ticks: int | None | Unset
453
+ if isinstance(self.filter_hard_ticks, Unset):
454
+ filter_hard_ticks = UNSET
455
+ else:
456
+ filter_hard_ticks = self.filter_hard_ticks
457
+
458
+ filter_discard: int | None | Unset
459
+ if isinstance(self.filter_discard, Unset):
460
+ filter_discard = UNSET
461
+ else:
462
+ filter_discard = self.filter_discard
463
+
464
+ filter_spread_max: int | None | Unset
465
+ if isinstance(self.filter_spread_max, Unset):
466
+ filter_spread_max = UNSET
467
+ else:
468
+ filter_spread_max = self.filter_spread_max
469
+
470
+ filter_spread_min: int | None | Unset
471
+ if isinstance(self.filter_spread_min, Unset):
472
+ filter_spread_min = UNSET
473
+ else:
474
+ filter_spread_min = self.filter_spread_min
475
+
476
+ trade_mode: None | str | Unset
477
+ if isinstance(self.trade_mode, Unset):
478
+ trade_mode = UNSET
479
+ elif isinstance(self.trade_mode, EnTradeMode):
480
+ trade_mode = self.trade_mode.value
481
+ else:
482
+ trade_mode = self.trade_mode
483
+
484
+ calc_mode: None | str | Unset
485
+ if isinstance(self.calc_mode, Unset):
486
+ calc_mode = UNSET
487
+ elif isinstance(self.calc_mode, EnCalcMode):
488
+ calc_mode = self.calc_mode.value
489
+ else:
490
+ calc_mode = self.calc_mode
491
+
492
+ exec_mode: None | str | Unset
493
+ if isinstance(self.exec_mode, Unset):
494
+ exec_mode = UNSET
495
+ elif isinstance(self.exec_mode, EnExecutionMode):
496
+ exec_mode = self.exec_mode.value
497
+ else:
498
+ exec_mode = self.exec_mode
499
+
500
+ gtc_mode: None | str | Unset
501
+ if isinstance(self.gtc_mode, Unset):
502
+ gtc_mode = UNSET
503
+ elif isinstance(self.gtc_mode, EnGtcMode):
504
+ gtc_mode = self.gtc_mode.value
505
+ else:
506
+ gtc_mode = self.gtc_mode
507
+
508
+ fill_flags: None | str | Unset
509
+ if isinstance(self.fill_flags, Unset):
510
+ fill_flags = UNSET
511
+ else:
512
+ fill_flags = self.fill_flags
513
+
514
+ expir_flags: None | str | Unset
515
+ if isinstance(self.expir_flags, Unset):
516
+ expir_flags = UNSET
517
+ else:
518
+ expir_flags = self.expir_flags
519
+
520
+ spread: int | None | Unset
521
+ if isinstance(self.spread, Unset):
522
+ spread = UNSET
523
+ else:
524
+ spread = self.spread
525
+
526
+ spread_balance: int | None | Unset
527
+ if isinstance(self.spread_balance, Unset):
528
+ spread_balance = UNSET
529
+ else:
530
+ spread_balance = self.spread_balance
531
+
532
+ spread_diff: int | None | Unset
533
+ if isinstance(self.spread_diff, Unset):
534
+ spread_diff = UNSET
535
+ else:
536
+ spread_diff = self.spread_diff
537
+
538
+ spread_diff_balance: int | None | Unset
539
+ if isinstance(self.spread_diff_balance, Unset):
540
+ spread_diff_balance = UNSET
541
+ else:
542
+ spread_diff_balance = self.spread_diff_balance
543
+
544
+ tick_value: float | None | Unset
545
+ if isinstance(self.tick_value, Unset):
546
+ tick_value = UNSET
547
+ else:
548
+ tick_value = self.tick_value
549
+
550
+ tick_size: float | None | Unset
551
+ if isinstance(self.tick_size, Unset):
552
+ tick_size = UNSET
553
+ else:
554
+ tick_size = self.tick_size
555
+
556
+ contract_size: float | None | Unset
557
+ if isinstance(self.contract_size, Unset):
558
+ contract_size = UNSET
559
+ else:
560
+ contract_size = self.contract_size
561
+
562
+ stops_level: int | None | Unset
563
+ if isinstance(self.stops_level, Unset):
564
+ stops_level = UNSET
565
+ else:
566
+ stops_level = self.stops_level
567
+
568
+ freeze_level: int | None | Unset
569
+ if isinstance(self.freeze_level, Unset):
570
+ freeze_level = UNSET
571
+ else:
572
+ freeze_level = self.freeze_level
573
+
574
+ quotes_timeout: int | None | Unset
575
+ if isinstance(self.quotes_timeout, Unset):
576
+ quotes_timeout = UNSET
577
+ else:
578
+ quotes_timeout = self.quotes_timeout
579
+
580
+ volume_min: int | None | Unset
581
+ if isinstance(self.volume_min, Unset):
582
+ volume_min = UNSET
583
+ else:
584
+ volume_min = self.volume_min
585
+
586
+ volume_max: int | None | Unset
587
+ if isinstance(self.volume_max, Unset):
588
+ volume_max = UNSET
589
+ else:
590
+ volume_max = self.volume_max
591
+
592
+ volume_step: int | None | Unset
593
+ if isinstance(self.volume_step, Unset):
594
+ volume_step = UNSET
595
+ else:
596
+ volume_step = self.volume_step
597
+
598
+ volume_limit: int | None | Unset
599
+ if isinstance(self.volume_limit, Unset):
600
+ volume_limit = UNSET
601
+ else:
602
+ volume_limit = self.volume_limit
603
+
604
+ margin_flags: None | str | Unset
605
+ if isinstance(self.margin_flags, Unset):
606
+ margin_flags = UNSET
607
+ else:
608
+ margin_flags = self.margin_flags
609
+
610
+ margin_initial: float | None | Unset
611
+ if isinstance(self.margin_initial, Unset):
612
+ margin_initial = UNSET
613
+ else:
614
+ margin_initial = self.margin_initial
615
+
616
+ margin_maintenance: float | None | Unset
617
+ if isinstance(self.margin_maintenance, Unset):
618
+ margin_maintenance = UNSET
619
+ else:
620
+ margin_maintenance = self.margin_maintenance
621
+
622
+ margin_long: float | None | Unset
623
+ if isinstance(self.margin_long, Unset):
624
+ margin_long = UNSET
625
+ else:
626
+ margin_long = self.margin_long
627
+
628
+ margin_short: float | None | Unset
629
+ if isinstance(self.margin_short, Unset):
630
+ margin_short = UNSET
631
+ else:
632
+ margin_short = self.margin_short
633
+
634
+ margin_limit: float | None | Unset
635
+ if isinstance(self.margin_limit, Unset):
636
+ margin_limit = UNSET
637
+ else:
638
+ margin_limit = self.margin_limit
639
+
640
+ margin_stop: float | None | Unset
641
+ if isinstance(self.margin_stop, Unset):
642
+ margin_stop = UNSET
643
+ else:
644
+ margin_stop = self.margin_stop
645
+
646
+ margin_stop_limit: float | None | Unset
647
+ if isinstance(self.margin_stop_limit, Unset):
648
+ margin_stop_limit = UNSET
649
+ else:
650
+ margin_stop_limit = self.margin_stop_limit
651
+
652
+ swap_mode: None | str | Unset
653
+ if isinstance(self.swap_mode, Unset):
654
+ swap_mode = UNSET
655
+ elif isinstance(self.swap_mode, EnSwapMode):
656
+ swap_mode = self.swap_mode.value
657
+ else:
658
+ swap_mode = self.swap_mode
659
+
660
+ swap_long: float | None | Unset
661
+ if isinstance(self.swap_long, Unset):
662
+ swap_long = UNSET
663
+ else:
664
+ swap_long = self.swap_long
665
+
666
+ swap_short: float | None | Unset
667
+ if isinstance(self.swap_short, Unset):
668
+ swap_short = UNSET
669
+ else:
670
+ swap_short = self.swap_short
671
+
672
+ swap_3_day: None | str | Unset
673
+ if isinstance(self.swap_3_day, Unset):
674
+ swap_3_day = UNSET
675
+ elif isinstance(self.swap_3_day, EnSwapDays):
676
+ swap_3_day = self.swap_3_day.value
677
+ else:
678
+ swap_3_day = self.swap_3_day
679
+
680
+ time_start: None | str | Unset
681
+ if isinstance(self.time_start, Unset):
682
+ time_start = UNSET
683
+ elif isinstance(self.time_start, datetime.datetime):
684
+ time_start = self.time_start.isoformat()
685
+ else:
686
+ time_start = self.time_start
687
+
688
+ time_expiration: None | str | Unset
689
+ if isinstance(self.time_expiration, Unset):
690
+ time_expiration = UNSET
691
+ elif isinstance(self.time_expiration, datetime.datetime):
692
+ time_expiration = self.time_expiration.isoformat()
693
+ else:
694
+ time_expiration = self.time_expiration
695
+
696
+ session_quote: list[list[dict[str, Any]]] | None | Unset
697
+ if isinstance(self.session_quote, Unset):
698
+ session_quote = UNSET
699
+ elif isinstance(self.session_quote, list):
700
+ session_quote = []
701
+ for session_quote_type_0_item_data in self.session_quote:
702
+ session_quote_type_0_item = []
703
+ for session_quote_type_0_item_item_data in session_quote_type_0_item_data:
704
+ session_quote_type_0_item_item = session_quote_type_0_item_item_data.to_dict()
705
+ session_quote_type_0_item.append(session_quote_type_0_item_item)
706
+
707
+
708
+ session_quote.append(session_quote_type_0_item)
709
+
710
+
711
+ else:
712
+ session_quote = self.session_quote
713
+
714
+ session_trade: list[list[dict[str, Any]]] | None | Unset
715
+ if isinstance(self.session_trade, Unset):
716
+ session_trade = UNSET
717
+ elif isinstance(self.session_trade, list):
718
+ session_trade = []
719
+ for session_trade_type_0_item_data in self.session_trade:
720
+ session_trade_type_0_item = []
721
+ for session_trade_type_0_item_item_data in session_trade_type_0_item_data:
722
+ session_trade_type_0_item_item = session_trade_type_0_item_item_data.to_dict()
723
+ session_trade_type_0_item.append(session_trade_type_0_item_item)
724
+
725
+
726
+ session_trade.append(session_trade_type_0_item)
727
+
728
+
729
+ else:
730
+ session_trade = self.session_trade
731
+
732
+ re_flags: None | str | Unset
733
+ if isinstance(self.re_flags, Unset):
734
+ re_flags = UNSET
735
+ else:
736
+ re_flags = self.re_flags
737
+
738
+ re_timeout: int | None | Unset
739
+ if isinstance(self.re_timeout, Unset):
740
+ re_timeout = UNSET
741
+ else:
742
+ re_timeout = self.re_timeout
743
+
744
+ ie_check_mode: None | str | Unset
745
+ if isinstance(self.ie_check_mode, Unset):
746
+ ie_check_mode = UNSET
747
+ elif isinstance(self.ie_check_mode, EnInstantMode):
748
+ ie_check_mode = self.ie_check_mode.value
749
+ else:
750
+ ie_check_mode = self.ie_check_mode
751
+
752
+ ie_timeout: int | None | Unset
753
+ if isinstance(self.ie_timeout, Unset):
754
+ ie_timeout = UNSET
755
+ else:
756
+ ie_timeout = self.ie_timeout
757
+
758
+ ie_slip_profit: int | None | Unset
759
+ if isinstance(self.ie_slip_profit, Unset):
760
+ ie_slip_profit = UNSET
761
+ else:
762
+ ie_slip_profit = self.ie_slip_profit
763
+
764
+ ie_slip_losing: int | None | Unset
765
+ if isinstance(self.ie_slip_losing, Unset):
766
+ ie_slip_losing = UNSET
767
+ else:
768
+ ie_slip_losing = self.ie_slip_losing
769
+
770
+ ie_volume_max: int | None | Unset
771
+ if isinstance(self.ie_volume_max, Unset):
772
+ ie_volume_max = UNSET
773
+ else:
774
+ ie_volume_max = self.ie_volume_max
775
+
776
+ price_settle: float | None | Unset
777
+ if isinstance(self.price_settle, Unset):
778
+ price_settle = UNSET
779
+ else:
780
+ price_settle = self.price_settle
781
+
782
+ price_limit_max: float | None | Unset
783
+ if isinstance(self.price_limit_max, Unset):
784
+ price_limit_max = UNSET
785
+ else:
786
+ price_limit_max = self.price_limit_max
787
+
788
+ price_limit_min: float | None | Unset
789
+ if isinstance(self.price_limit_min, Unset):
790
+ price_limit_min = UNSET
791
+ else:
792
+ price_limit_min = self.price_limit_min
793
+
794
+ trade_flags: None | str | Unset
795
+ if isinstance(self.trade_flags, Unset):
796
+ trade_flags = UNSET
797
+ else:
798
+ trade_flags = self.trade_flags
799
+
800
+ order_flags: None | str | Unset
801
+ if isinstance(self.order_flags, Unset):
802
+ order_flags = UNSET
803
+ else:
804
+ order_flags = self.order_flags
805
+
806
+ margin_rate_initial: dict[str, Any] | None | Unset
807
+ if isinstance(self.margin_rate_initial, Unset):
808
+ margin_rate_initial = UNSET
809
+ elif isinstance(self.margin_rate_initial, MT5SymbolMarginRateInitialType0):
810
+ margin_rate_initial = self.margin_rate_initial.to_dict()
811
+ else:
812
+ margin_rate_initial = self.margin_rate_initial
813
+
814
+ margin_rate_maintenance: dict[str, Any] | None | Unset
815
+ if isinstance(self.margin_rate_maintenance, Unset):
816
+ margin_rate_maintenance = UNSET
817
+ elif isinstance(self.margin_rate_maintenance, MT5SymbolMarginRateMaintenanceType0):
818
+ margin_rate_maintenance = self.margin_rate_maintenance.to_dict()
819
+ else:
820
+ margin_rate_maintenance = self.margin_rate_maintenance
821
+
822
+ options_mode: None | str | Unset
823
+ if isinstance(self.options_mode, Unset):
824
+ options_mode = UNSET
825
+ elif isinstance(self.options_mode, EnOptionMode):
826
+ options_mode = self.options_mode.value
827
+ else:
828
+ options_mode = self.options_mode
829
+
830
+ price_strike: float | None | Unset
831
+ if isinstance(self.price_strike, Unset):
832
+ price_strike = UNSET
833
+ else:
834
+ price_strike = self.price_strike
835
+
836
+ margin_rate_liquidity: float | None | Unset
837
+ if isinstance(self.margin_rate_liquidity, Unset):
838
+ margin_rate_liquidity = UNSET
839
+ else:
840
+ margin_rate_liquidity = self.margin_rate_liquidity
841
+
842
+ face_value: float | None | Unset
843
+ if isinstance(self.face_value, Unset):
844
+ face_value = UNSET
845
+ else:
846
+ face_value = self.face_value
847
+
848
+ accrued_interest: float | None | Unset
849
+ if isinstance(self.accrued_interest, Unset):
850
+ accrued_interest = UNSET
851
+ else:
852
+ accrued_interest = self.accrued_interest
853
+
854
+ splice_type: None | str | Unset
855
+ if isinstance(self.splice_type, Unset):
856
+ splice_type = UNSET
857
+ elif isinstance(self.splice_type, EnSpliceType):
858
+ splice_type = self.splice_type.value
859
+ else:
860
+ splice_type = self.splice_type
861
+
862
+ splice_time_type: None | str | Unset
863
+ if isinstance(self.splice_time_type, Unset):
864
+ splice_time_type = UNSET
865
+ elif isinstance(self.splice_time_type, EnSpliceTimeType):
866
+ splice_time_type = self.splice_time_type.value
867
+ else:
868
+ splice_time_type = self.splice_time_type
869
+
870
+ splice_time_days: int | None | Unset
871
+ if isinstance(self.splice_time_days, Unset):
872
+ splice_time_days = UNSET
873
+ else:
874
+ splice_time_days = self.splice_time_days
875
+
876
+ margin_hedged: float | None | Unset
877
+ if isinstance(self.margin_hedged, Unset):
878
+ margin_hedged = UNSET
879
+ else:
880
+ margin_hedged = self.margin_hedged
881
+
882
+ margin_rate_currency: float | None | Unset
883
+ if isinstance(self.margin_rate_currency, Unset):
884
+ margin_rate_currency = UNSET
885
+ else:
886
+ margin_rate_currency = self.margin_rate_currency
887
+
888
+ filter_gap: int | None | Unset
889
+ if isinstance(self.filter_gap, Unset):
890
+ filter_gap = UNSET
891
+ else:
892
+ filter_gap = self.filter_gap
893
+
894
+ filter_gap_ticks: int | None | Unset
895
+ if isinstance(self.filter_gap_ticks, Unset):
896
+ filter_gap_ticks = UNSET
897
+ else:
898
+ filter_gap_ticks = self.filter_gap_ticks
899
+
900
+ chart_mode: None | str | Unset
901
+ if isinstance(self.chart_mode, Unset):
902
+ chart_mode = UNSET
903
+ elif isinstance(self.chart_mode, EnChartMode):
904
+ chart_mode = self.chart_mode.value
905
+ else:
906
+ chart_mode = self.chart_mode
907
+
908
+ ie_flags: None | str | Unset
909
+ if isinstance(self.ie_flags, Unset):
910
+ ie_flags = UNSET
911
+ else:
912
+ ie_flags = self.ie_flags
913
+
914
+ volume_min_ext: int | None | Unset
915
+ if isinstance(self.volume_min_ext, Unset):
916
+ volume_min_ext = UNSET
917
+ else:
918
+ volume_min_ext = self.volume_min_ext
919
+
920
+ volume_max_ext: int | None | Unset
921
+ if isinstance(self.volume_max_ext, Unset):
922
+ volume_max_ext = UNSET
923
+ else:
924
+ volume_max_ext = self.volume_max_ext
925
+
926
+ volume_step_ext: int | None | Unset
927
+ if isinstance(self.volume_step_ext, Unset):
928
+ volume_step_ext = UNSET
929
+ else:
930
+ volume_step_ext = self.volume_step_ext
931
+
932
+ volume_limit_ext: int | None | Unset
933
+ if isinstance(self.volume_limit_ext, Unset):
934
+ volume_limit_ext = UNSET
935
+ else:
936
+ volume_limit_ext = self.volume_limit_ext
937
+
938
+ ie_volume_max_ext: int | None | Unset
939
+ if isinstance(self.ie_volume_max_ext, Unset):
940
+ ie_volume_max_ext = UNSET
941
+ else:
942
+ ie_volume_max_ext = self.ie_volume_max_ext
943
+
944
+ category: None | str | Unset
945
+ if isinstance(self.category, Unset):
946
+ category = UNSET
947
+ else:
948
+ category = self.category
949
+
950
+ exchange: None | str | Unset
951
+ if isinstance(self.exchange, Unset):
952
+ exchange = UNSET
953
+ else:
954
+ exchange = self.exchange
955
+
956
+ cfi: None | str | Unset
957
+ if isinstance(self.cfi, Unset):
958
+ cfi = UNSET
959
+ else:
960
+ cfi = self.cfi
961
+
962
+ sector: None | str | Unset
963
+ if isinstance(self.sector, Unset):
964
+ sector = UNSET
965
+ elif isinstance(self.sector, EnSectors):
966
+ sector = self.sector.value
967
+ else:
968
+ sector = self.sector
969
+
970
+ industry: None | str | Unset
971
+ if isinstance(self.industry, Unset):
972
+ industry = UNSET
973
+ elif isinstance(self.industry, EnIndustries):
974
+ industry = self.industry.value
975
+ else:
976
+ industry = self.industry
977
+
978
+ country: None | str | Unset
979
+ if isinstance(self.country, Unset):
980
+ country = UNSET
981
+ else:
982
+ country = self.country
983
+
984
+ subscriptions_delay: int | None | Unset
985
+ if isinstance(self.subscriptions_delay, Unset):
986
+ subscriptions_delay = UNSET
987
+ else:
988
+ subscriptions_delay = self.subscriptions_delay
989
+
990
+ swap_year_days: int | None | Unset
991
+ if isinstance(self.swap_year_days, Unset):
992
+ swap_year_days = UNSET
993
+ else:
994
+ swap_year_days = self.swap_year_days
995
+
996
+ swap_flags: None | str | Unset
997
+ if isinstance(self.swap_flags, Unset):
998
+ swap_flags = UNSET
999
+ else:
1000
+ swap_flags = self.swap_flags
1001
+
1002
+ swap_rate_sunday: float | None | Unset
1003
+ if isinstance(self.swap_rate_sunday, Unset):
1004
+ swap_rate_sunday = UNSET
1005
+ else:
1006
+ swap_rate_sunday = self.swap_rate_sunday
1007
+
1008
+ swap_rate_monday: float | None | Unset
1009
+ if isinstance(self.swap_rate_monday, Unset):
1010
+ swap_rate_monday = UNSET
1011
+ else:
1012
+ swap_rate_monday = self.swap_rate_monday
1013
+
1014
+ swap_rate_tuesday: float | None | Unset
1015
+ if isinstance(self.swap_rate_tuesday, Unset):
1016
+ swap_rate_tuesday = UNSET
1017
+ else:
1018
+ swap_rate_tuesday = self.swap_rate_tuesday
1019
+
1020
+ swap_rate_wednesday: float | None | Unset
1021
+ if isinstance(self.swap_rate_wednesday, Unset):
1022
+ swap_rate_wednesday = UNSET
1023
+ else:
1024
+ swap_rate_wednesday = self.swap_rate_wednesday
1025
+
1026
+ swap_rate_thursday: float | None | Unset
1027
+ if isinstance(self.swap_rate_thursday, Unset):
1028
+ swap_rate_thursday = UNSET
1029
+ else:
1030
+ swap_rate_thursday = self.swap_rate_thursday
1031
+
1032
+ swap_rate_friday: float | None | Unset
1033
+ if isinstance(self.swap_rate_friday, Unset):
1034
+ swap_rate_friday = UNSET
1035
+ else:
1036
+ swap_rate_friday = self.swap_rate_friday
1037
+
1038
+ swap_rate_saturday: float | None | Unset
1039
+ if isinstance(self.swap_rate_saturday, Unset):
1040
+ swap_rate_saturday = UNSET
1041
+ else:
1042
+ swap_rate_saturday = self.swap_rate_saturday
1043
+
1044
+
1045
+ field_dict: dict[str, Any] = {}
1046
+
1047
+ field_dict.update({
1048
+ })
1049
+ if symbol is not UNSET:
1050
+ field_dict["symbol"] = symbol
1051
+ if path is not UNSET:
1052
+ field_dict["path"] = path
1053
+ if isin is not UNSET:
1054
+ field_dict["isin"] = isin
1055
+ if description is not UNSET:
1056
+ field_dict["description"] = description
1057
+ if international is not UNSET:
1058
+ field_dict["international"] = international
1059
+ if basis is not UNSET:
1060
+ field_dict["basis"] = basis
1061
+ if source is not UNSET:
1062
+ field_dict["source"] = source
1063
+ if page is not UNSET:
1064
+ field_dict["page"] = page
1065
+ if currency_base is not UNSET:
1066
+ field_dict["currencyBase"] = currency_base
1067
+ if currency_base_digits is not UNSET:
1068
+ field_dict["currencyBaseDigits"] = currency_base_digits
1069
+ if currency_profit is not UNSET:
1070
+ field_dict["currencyProfit"] = currency_profit
1071
+ if currency_profit_digits is not UNSET:
1072
+ field_dict["currencyProfitDigits"] = currency_profit_digits
1073
+ if currency_margin is not UNSET:
1074
+ field_dict["currencyMargin"] = currency_margin
1075
+ if currency_margin_digits is not UNSET:
1076
+ field_dict["currencyMarginDigits"] = currency_margin_digits
1077
+ if color is not UNSET:
1078
+ field_dict["color"] = color
1079
+ if color_background is not UNSET:
1080
+ field_dict["colorBackground"] = color_background
1081
+ if digits is not UNSET:
1082
+ field_dict["digits"] = digits
1083
+ if point is not UNSET:
1084
+ field_dict["point"] = point
1085
+ if multiply is not UNSET:
1086
+ field_dict["multiply"] = multiply
1087
+ if tick_flags is not UNSET:
1088
+ field_dict["tickFlags"] = tick_flags
1089
+ if tick_book_depth is not UNSET:
1090
+ field_dict["tickBookDepth"] = tick_book_depth
1091
+ if filter_soft is not UNSET:
1092
+ field_dict["filterSoft"] = filter_soft
1093
+ if filter_soft_ticks is not UNSET:
1094
+ field_dict["filterSoftTicks"] = filter_soft_ticks
1095
+ if filter_hard is not UNSET:
1096
+ field_dict["filterHard"] = filter_hard
1097
+ if filter_hard_ticks is not UNSET:
1098
+ field_dict["filterHardTicks"] = filter_hard_ticks
1099
+ if filter_discard is not UNSET:
1100
+ field_dict["filterDiscard"] = filter_discard
1101
+ if filter_spread_max is not UNSET:
1102
+ field_dict["filterSpreadMax"] = filter_spread_max
1103
+ if filter_spread_min is not UNSET:
1104
+ field_dict["filterSpreadMin"] = filter_spread_min
1105
+ if trade_mode is not UNSET:
1106
+ field_dict["tradeMode"] = trade_mode
1107
+ if calc_mode is not UNSET:
1108
+ field_dict["calcMode"] = calc_mode
1109
+ if exec_mode is not UNSET:
1110
+ field_dict["execMode"] = exec_mode
1111
+ if gtc_mode is not UNSET:
1112
+ field_dict["gtcMode"] = gtc_mode
1113
+ if fill_flags is not UNSET:
1114
+ field_dict["fillFlags"] = fill_flags
1115
+ if expir_flags is not UNSET:
1116
+ field_dict["expirFlags"] = expir_flags
1117
+ if spread is not UNSET:
1118
+ field_dict["spread"] = spread
1119
+ if spread_balance is not UNSET:
1120
+ field_dict["spreadBalance"] = spread_balance
1121
+ if spread_diff is not UNSET:
1122
+ field_dict["spreadDiff"] = spread_diff
1123
+ if spread_diff_balance is not UNSET:
1124
+ field_dict["spreadDiffBalance"] = spread_diff_balance
1125
+ if tick_value is not UNSET:
1126
+ field_dict["tickValue"] = tick_value
1127
+ if tick_size is not UNSET:
1128
+ field_dict["tickSize"] = tick_size
1129
+ if contract_size is not UNSET:
1130
+ field_dict["contractSize"] = contract_size
1131
+ if stops_level is not UNSET:
1132
+ field_dict["stopsLevel"] = stops_level
1133
+ if freeze_level is not UNSET:
1134
+ field_dict["freezeLevel"] = freeze_level
1135
+ if quotes_timeout is not UNSET:
1136
+ field_dict["quotesTimeout"] = quotes_timeout
1137
+ if volume_min is not UNSET:
1138
+ field_dict["volumeMin"] = volume_min
1139
+ if volume_max is not UNSET:
1140
+ field_dict["volumeMax"] = volume_max
1141
+ if volume_step is not UNSET:
1142
+ field_dict["volumeStep"] = volume_step
1143
+ if volume_limit is not UNSET:
1144
+ field_dict["volumeLimit"] = volume_limit
1145
+ if margin_flags is not UNSET:
1146
+ field_dict["marginFlags"] = margin_flags
1147
+ if margin_initial is not UNSET:
1148
+ field_dict["marginInitial"] = margin_initial
1149
+ if margin_maintenance is not UNSET:
1150
+ field_dict["marginMaintenance"] = margin_maintenance
1151
+ if margin_long is not UNSET:
1152
+ field_dict["marginLong"] = margin_long
1153
+ if margin_short is not UNSET:
1154
+ field_dict["marginShort"] = margin_short
1155
+ if margin_limit is not UNSET:
1156
+ field_dict["marginLimit"] = margin_limit
1157
+ if margin_stop is not UNSET:
1158
+ field_dict["marginStop"] = margin_stop
1159
+ if margin_stop_limit is not UNSET:
1160
+ field_dict["marginStopLimit"] = margin_stop_limit
1161
+ if swap_mode is not UNSET:
1162
+ field_dict["swapMode"] = swap_mode
1163
+ if swap_long is not UNSET:
1164
+ field_dict["swapLong"] = swap_long
1165
+ if swap_short is not UNSET:
1166
+ field_dict["swapShort"] = swap_short
1167
+ if swap_3_day is not UNSET:
1168
+ field_dict["swap3Day"] = swap_3_day
1169
+ if time_start is not UNSET:
1170
+ field_dict["timeStart"] = time_start
1171
+ if time_expiration is not UNSET:
1172
+ field_dict["timeExpiration"] = time_expiration
1173
+ if session_quote is not UNSET:
1174
+ field_dict["sessionQuote"] = session_quote
1175
+ if session_trade is not UNSET:
1176
+ field_dict["sessionTrade"] = session_trade
1177
+ if re_flags is not UNSET:
1178
+ field_dict["reFlags"] = re_flags
1179
+ if re_timeout is not UNSET:
1180
+ field_dict["reTimeout"] = re_timeout
1181
+ if ie_check_mode is not UNSET:
1182
+ field_dict["ieCheckMode"] = ie_check_mode
1183
+ if ie_timeout is not UNSET:
1184
+ field_dict["ieTimeout"] = ie_timeout
1185
+ if ie_slip_profit is not UNSET:
1186
+ field_dict["ieSlipProfit"] = ie_slip_profit
1187
+ if ie_slip_losing is not UNSET:
1188
+ field_dict["ieSlipLosing"] = ie_slip_losing
1189
+ if ie_volume_max is not UNSET:
1190
+ field_dict["ieVolumeMax"] = ie_volume_max
1191
+ if price_settle is not UNSET:
1192
+ field_dict["priceSettle"] = price_settle
1193
+ if price_limit_max is not UNSET:
1194
+ field_dict["priceLimitMax"] = price_limit_max
1195
+ if price_limit_min is not UNSET:
1196
+ field_dict["priceLimitMin"] = price_limit_min
1197
+ if trade_flags is not UNSET:
1198
+ field_dict["tradeFlags"] = trade_flags
1199
+ if order_flags is not UNSET:
1200
+ field_dict["orderFlags"] = order_flags
1201
+ if margin_rate_initial is not UNSET:
1202
+ field_dict["marginRateInitial"] = margin_rate_initial
1203
+ if margin_rate_maintenance is not UNSET:
1204
+ field_dict["marginRateMaintenance"] = margin_rate_maintenance
1205
+ if options_mode is not UNSET:
1206
+ field_dict["optionsMode"] = options_mode
1207
+ if price_strike is not UNSET:
1208
+ field_dict["priceStrike"] = price_strike
1209
+ if margin_rate_liquidity is not UNSET:
1210
+ field_dict["marginRateLiquidity"] = margin_rate_liquidity
1211
+ if face_value is not UNSET:
1212
+ field_dict["faceValue"] = face_value
1213
+ if accrued_interest is not UNSET:
1214
+ field_dict["accruedInterest"] = accrued_interest
1215
+ if splice_type is not UNSET:
1216
+ field_dict["spliceType"] = splice_type
1217
+ if splice_time_type is not UNSET:
1218
+ field_dict["spliceTimeType"] = splice_time_type
1219
+ if splice_time_days is not UNSET:
1220
+ field_dict["spliceTimeDays"] = splice_time_days
1221
+ if margin_hedged is not UNSET:
1222
+ field_dict["marginHedged"] = margin_hedged
1223
+ if margin_rate_currency is not UNSET:
1224
+ field_dict["marginRateCurrency"] = margin_rate_currency
1225
+ if filter_gap is not UNSET:
1226
+ field_dict["filterGap"] = filter_gap
1227
+ if filter_gap_ticks is not UNSET:
1228
+ field_dict["filterGapTicks"] = filter_gap_ticks
1229
+ if chart_mode is not UNSET:
1230
+ field_dict["chartMode"] = chart_mode
1231
+ if ie_flags is not UNSET:
1232
+ field_dict["ieFlags"] = ie_flags
1233
+ if volume_min_ext is not UNSET:
1234
+ field_dict["volumeMinExt"] = volume_min_ext
1235
+ if volume_max_ext is not UNSET:
1236
+ field_dict["volumeMaxExt"] = volume_max_ext
1237
+ if volume_step_ext is not UNSET:
1238
+ field_dict["volumeStepExt"] = volume_step_ext
1239
+ if volume_limit_ext is not UNSET:
1240
+ field_dict["volumeLimitExt"] = volume_limit_ext
1241
+ if ie_volume_max_ext is not UNSET:
1242
+ field_dict["ieVolumeMaxExt"] = ie_volume_max_ext
1243
+ if category is not UNSET:
1244
+ field_dict["category"] = category
1245
+ if exchange is not UNSET:
1246
+ field_dict["exchange"] = exchange
1247
+ if cfi is not UNSET:
1248
+ field_dict["cfi"] = cfi
1249
+ if sector is not UNSET:
1250
+ field_dict["sector"] = sector
1251
+ if industry is not UNSET:
1252
+ field_dict["industry"] = industry
1253
+ if country is not UNSET:
1254
+ field_dict["country"] = country
1255
+ if subscriptions_delay is not UNSET:
1256
+ field_dict["subscriptionsDelay"] = subscriptions_delay
1257
+ if swap_year_days is not UNSET:
1258
+ field_dict["swapYearDays"] = swap_year_days
1259
+ if swap_flags is not UNSET:
1260
+ field_dict["swapFlags"] = swap_flags
1261
+ if swap_rate_sunday is not UNSET:
1262
+ field_dict["swapRateSunday"] = swap_rate_sunday
1263
+ if swap_rate_monday is not UNSET:
1264
+ field_dict["swapRateMonday"] = swap_rate_monday
1265
+ if swap_rate_tuesday is not UNSET:
1266
+ field_dict["swapRateTuesday"] = swap_rate_tuesday
1267
+ if swap_rate_wednesday is not UNSET:
1268
+ field_dict["swapRateWednesday"] = swap_rate_wednesday
1269
+ if swap_rate_thursday is not UNSET:
1270
+ field_dict["swapRateThursday"] = swap_rate_thursday
1271
+ if swap_rate_friday is not UNSET:
1272
+ field_dict["swapRateFriday"] = swap_rate_friday
1273
+ if swap_rate_saturday is not UNSET:
1274
+ field_dict["swapRateSaturday"] = swap_rate_saturday
1275
+
1276
+ return field_dict
1277
+
1278
+
1279
+
1280
+ @classmethod
1281
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
1282
+ from ..models.mt5_symbol_margin_rate_initial_type_0 import MT5SymbolMarginRateInitialType0
1283
+ from ..models.mt5_symbol_margin_rate_maintenance_type_0 import MT5SymbolMarginRateMaintenanceType0
1284
+ from ..models.mt5_symbol_session import MT5SymbolSession
1285
+ d = dict(src_dict)
1286
+ def _parse_symbol(data: object) -> None | str | Unset:
1287
+ if data is None:
1288
+ return data
1289
+ if isinstance(data, Unset):
1290
+ return data
1291
+ return cast(None | str | Unset, data)
1292
+
1293
+ symbol = _parse_symbol(d.pop("symbol", UNSET))
1294
+
1295
+
1296
+ def _parse_path(data: object) -> None | str | Unset:
1297
+ if data is None:
1298
+ return data
1299
+ if isinstance(data, Unset):
1300
+ return data
1301
+ return cast(None | str | Unset, data)
1302
+
1303
+ path = _parse_path(d.pop("path", UNSET))
1304
+
1305
+
1306
+ def _parse_isin(data: object) -> None | str | Unset:
1307
+ if data is None:
1308
+ return data
1309
+ if isinstance(data, Unset):
1310
+ return data
1311
+ return cast(None | str | Unset, data)
1312
+
1313
+ isin = _parse_isin(d.pop("isin", UNSET))
1314
+
1315
+
1316
+ def _parse_description(data: object) -> None | str | Unset:
1317
+ if data is None:
1318
+ return data
1319
+ if isinstance(data, Unset):
1320
+ return data
1321
+ return cast(None | str | Unset, data)
1322
+
1323
+ description = _parse_description(d.pop("description", UNSET))
1324
+
1325
+
1326
+ def _parse_international(data: object) -> None | str | Unset:
1327
+ if data is None:
1328
+ return data
1329
+ if isinstance(data, Unset):
1330
+ return data
1331
+ return cast(None | str | Unset, data)
1332
+
1333
+ international = _parse_international(d.pop("international", UNSET))
1334
+
1335
+
1336
+ def _parse_basis(data: object) -> None | str | Unset:
1337
+ if data is None:
1338
+ return data
1339
+ if isinstance(data, Unset):
1340
+ return data
1341
+ return cast(None | str | Unset, data)
1342
+
1343
+ basis = _parse_basis(d.pop("basis", UNSET))
1344
+
1345
+
1346
+ def _parse_source(data: object) -> None | str | Unset:
1347
+ if data is None:
1348
+ return data
1349
+ if isinstance(data, Unset):
1350
+ return data
1351
+ return cast(None | str | Unset, data)
1352
+
1353
+ source = _parse_source(d.pop("source", UNSET))
1354
+
1355
+
1356
+ def _parse_page(data: object) -> None | str | Unset:
1357
+ if data is None:
1358
+ return data
1359
+ if isinstance(data, Unset):
1360
+ return data
1361
+ return cast(None | str | Unset, data)
1362
+
1363
+ page = _parse_page(d.pop("page", UNSET))
1364
+
1365
+
1366
+ def _parse_currency_base(data: object) -> None | str | Unset:
1367
+ if data is None:
1368
+ return data
1369
+ if isinstance(data, Unset):
1370
+ return data
1371
+ return cast(None | str | Unset, data)
1372
+
1373
+ currency_base = _parse_currency_base(d.pop("currencyBase", UNSET))
1374
+
1375
+
1376
+ def _parse_currency_base_digits(data: object) -> int | None | Unset:
1377
+ if data is None:
1378
+ return data
1379
+ if isinstance(data, Unset):
1380
+ return data
1381
+ return cast(int | None | Unset, data)
1382
+
1383
+ currency_base_digits = _parse_currency_base_digits(d.pop("currencyBaseDigits", UNSET))
1384
+
1385
+
1386
+ def _parse_currency_profit(data: object) -> None | str | Unset:
1387
+ if data is None:
1388
+ return data
1389
+ if isinstance(data, Unset):
1390
+ return data
1391
+ return cast(None | str | Unset, data)
1392
+
1393
+ currency_profit = _parse_currency_profit(d.pop("currencyProfit", UNSET))
1394
+
1395
+
1396
+ def _parse_currency_profit_digits(data: object) -> int | None | Unset:
1397
+ if data is None:
1398
+ return data
1399
+ if isinstance(data, Unset):
1400
+ return data
1401
+ return cast(int | None | Unset, data)
1402
+
1403
+ currency_profit_digits = _parse_currency_profit_digits(d.pop("currencyProfitDigits", UNSET))
1404
+
1405
+
1406
+ def _parse_currency_margin(data: object) -> None | str | Unset:
1407
+ if data is None:
1408
+ return data
1409
+ if isinstance(data, Unset):
1410
+ return data
1411
+ return cast(None | str | Unset, data)
1412
+
1413
+ currency_margin = _parse_currency_margin(d.pop("currencyMargin", UNSET))
1414
+
1415
+
1416
+ def _parse_currency_margin_digits(data: object) -> int | None | Unset:
1417
+ if data is None:
1418
+ return data
1419
+ if isinstance(data, Unset):
1420
+ return data
1421
+ return cast(int | None | Unset, data)
1422
+
1423
+ currency_margin_digits = _parse_currency_margin_digits(d.pop("currencyMarginDigits", UNSET))
1424
+
1425
+
1426
+ def _parse_color(data: object) -> int | None | Unset:
1427
+ if data is None:
1428
+ return data
1429
+ if isinstance(data, Unset):
1430
+ return data
1431
+ return cast(int | None | Unset, data)
1432
+
1433
+ color = _parse_color(d.pop("color", UNSET))
1434
+
1435
+
1436
+ def _parse_color_background(data: object) -> int | None | Unset:
1437
+ if data is None:
1438
+ return data
1439
+ if isinstance(data, Unset):
1440
+ return data
1441
+ return cast(int | None | Unset, data)
1442
+
1443
+ color_background = _parse_color_background(d.pop("colorBackground", UNSET))
1444
+
1445
+
1446
+ def _parse_digits(data: object) -> int | None | Unset:
1447
+ if data is None:
1448
+ return data
1449
+ if isinstance(data, Unset):
1450
+ return data
1451
+ return cast(int | None | Unset, data)
1452
+
1453
+ digits = _parse_digits(d.pop("digits", UNSET))
1454
+
1455
+
1456
+ def _parse_point(data: object) -> float | None | Unset:
1457
+ if data is None:
1458
+ return data
1459
+ if isinstance(data, Unset):
1460
+ return data
1461
+ return cast(float | None | Unset, data)
1462
+
1463
+ point = _parse_point(d.pop("point", UNSET))
1464
+
1465
+
1466
+ def _parse_multiply(data: object) -> float | None | Unset:
1467
+ if data is None:
1468
+ return data
1469
+ if isinstance(data, Unset):
1470
+ return data
1471
+ return cast(float | None | Unset, data)
1472
+
1473
+ multiply = _parse_multiply(d.pop("multiply", UNSET))
1474
+
1475
+
1476
+ def _parse_tick_flags(data: object) -> None | str | Unset:
1477
+ if data is None:
1478
+ return data
1479
+ if isinstance(data, Unset):
1480
+ return data
1481
+ return cast(None | str | Unset, data)
1482
+
1483
+ tick_flags = _parse_tick_flags(d.pop("tickFlags", UNSET))
1484
+
1485
+
1486
+ def _parse_tick_book_depth(data: object) -> int | None | Unset:
1487
+ if data is None:
1488
+ return data
1489
+ if isinstance(data, Unset):
1490
+ return data
1491
+ return cast(int | None | Unset, data)
1492
+
1493
+ tick_book_depth = _parse_tick_book_depth(d.pop("tickBookDepth", UNSET))
1494
+
1495
+
1496
+ def _parse_filter_soft(data: object) -> int | None | Unset:
1497
+ if data is None:
1498
+ return data
1499
+ if isinstance(data, Unset):
1500
+ return data
1501
+ return cast(int | None | Unset, data)
1502
+
1503
+ filter_soft = _parse_filter_soft(d.pop("filterSoft", UNSET))
1504
+
1505
+
1506
+ def _parse_filter_soft_ticks(data: object) -> int | None | Unset:
1507
+ if data is None:
1508
+ return data
1509
+ if isinstance(data, Unset):
1510
+ return data
1511
+ return cast(int | None | Unset, data)
1512
+
1513
+ filter_soft_ticks = _parse_filter_soft_ticks(d.pop("filterSoftTicks", UNSET))
1514
+
1515
+
1516
+ def _parse_filter_hard(data: object) -> int | None | Unset:
1517
+ if data is None:
1518
+ return data
1519
+ if isinstance(data, Unset):
1520
+ return data
1521
+ return cast(int | None | Unset, data)
1522
+
1523
+ filter_hard = _parse_filter_hard(d.pop("filterHard", UNSET))
1524
+
1525
+
1526
+ def _parse_filter_hard_ticks(data: object) -> int | None | Unset:
1527
+ if data is None:
1528
+ return data
1529
+ if isinstance(data, Unset):
1530
+ return data
1531
+ return cast(int | None | Unset, data)
1532
+
1533
+ filter_hard_ticks = _parse_filter_hard_ticks(d.pop("filterHardTicks", UNSET))
1534
+
1535
+
1536
+ def _parse_filter_discard(data: object) -> int | None | Unset:
1537
+ if data is None:
1538
+ return data
1539
+ if isinstance(data, Unset):
1540
+ return data
1541
+ return cast(int | None | Unset, data)
1542
+
1543
+ filter_discard = _parse_filter_discard(d.pop("filterDiscard", UNSET))
1544
+
1545
+
1546
+ def _parse_filter_spread_max(data: object) -> int | None | Unset:
1547
+ if data is None:
1548
+ return data
1549
+ if isinstance(data, Unset):
1550
+ return data
1551
+ return cast(int | None | Unset, data)
1552
+
1553
+ filter_spread_max = _parse_filter_spread_max(d.pop("filterSpreadMax", UNSET))
1554
+
1555
+
1556
+ def _parse_filter_spread_min(data: object) -> int | None | Unset:
1557
+ if data is None:
1558
+ return data
1559
+ if isinstance(data, Unset):
1560
+ return data
1561
+ return cast(int | None | Unset, data)
1562
+
1563
+ filter_spread_min = _parse_filter_spread_min(d.pop("filterSpreadMin", UNSET))
1564
+
1565
+
1566
+ def _parse_trade_mode(data: object) -> EnTradeMode | None | Unset:
1567
+ if data is None:
1568
+ return data
1569
+ if isinstance(data, Unset):
1570
+ return data
1571
+ try:
1572
+ if not isinstance(data, str):
1573
+ raise TypeError()
1574
+ trade_mode_type_1 = EnTradeMode(data)
1575
+
1576
+
1577
+
1578
+ return trade_mode_type_1
1579
+ except (TypeError, ValueError, AttributeError, KeyError):
1580
+ pass
1581
+ return cast(EnTradeMode | None | Unset, data)
1582
+
1583
+ trade_mode = _parse_trade_mode(d.pop("tradeMode", UNSET))
1584
+
1585
+
1586
+ def _parse_calc_mode(data: object) -> EnCalcMode | None | Unset:
1587
+ if data is None:
1588
+ return data
1589
+ if isinstance(data, Unset):
1590
+ return data
1591
+ try:
1592
+ if not isinstance(data, str):
1593
+ raise TypeError()
1594
+ calc_mode_type_1 = EnCalcMode(data)
1595
+
1596
+
1597
+
1598
+ return calc_mode_type_1
1599
+ except (TypeError, ValueError, AttributeError, KeyError):
1600
+ pass
1601
+ return cast(EnCalcMode | None | Unset, data)
1602
+
1603
+ calc_mode = _parse_calc_mode(d.pop("calcMode", UNSET))
1604
+
1605
+
1606
+ def _parse_exec_mode(data: object) -> EnExecutionMode | None | Unset:
1607
+ if data is None:
1608
+ return data
1609
+ if isinstance(data, Unset):
1610
+ return data
1611
+ try:
1612
+ if not isinstance(data, str):
1613
+ raise TypeError()
1614
+ exec_mode_type_1 = EnExecutionMode(data)
1615
+
1616
+
1617
+
1618
+ return exec_mode_type_1
1619
+ except (TypeError, ValueError, AttributeError, KeyError):
1620
+ pass
1621
+ return cast(EnExecutionMode | None | Unset, data)
1622
+
1623
+ exec_mode = _parse_exec_mode(d.pop("execMode", UNSET))
1624
+
1625
+
1626
+ def _parse_gtc_mode(data: object) -> EnGtcMode | None | Unset:
1627
+ if data is None:
1628
+ return data
1629
+ if isinstance(data, Unset):
1630
+ return data
1631
+ try:
1632
+ if not isinstance(data, str):
1633
+ raise TypeError()
1634
+ gtc_mode_type_1 = EnGtcMode(data)
1635
+
1636
+
1637
+
1638
+ return gtc_mode_type_1
1639
+ except (TypeError, ValueError, AttributeError, KeyError):
1640
+ pass
1641
+ return cast(EnGtcMode | None | Unset, data)
1642
+
1643
+ gtc_mode = _parse_gtc_mode(d.pop("gtcMode", UNSET))
1644
+
1645
+
1646
+ def _parse_fill_flags(data: object) -> None | str | Unset:
1647
+ if data is None:
1648
+ return data
1649
+ if isinstance(data, Unset):
1650
+ return data
1651
+ return cast(None | str | Unset, data)
1652
+
1653
+ fill_flags = _parse_fill_flags(d.pop("fillFlags", UNSET))
1654
+
1655
+
1656
+ def _parse_expir_flags(data: object) -> None | str | Unset:
1657
+ if data is None:
1658
+ return data
1659
+ if isinstance(data, Unset):
1660
+ return data
1661
+ return cast(None | str | Unset, data)
1662
+
1663
+ expir_flags = _parse_expir_flags(d.pop("expirFlags", UNSET))
1664
+
1665
+
1666
+ def _parse_spread(data: object) -> int | None | Unset:
1667
+ if data is None:
1668
+ return data
1669
+ if isinstance(data, Unset):
1670
+ return data
1671
+ return cast(int | None | Unset, data)
1672
+
1673
+ spread = _parse_spread(d.pop("spread", UNSET))
1674
+
1675
+
1676
+ def _parse_spread_balance(data: object) -> int | None | Unset:
1677
+ if data is None:
1678
+ return data
1679
+ if isinstance(data, Unset):
1680
+ return data
1681
+ return cast(int | None | Unset, data)
1682
+
1683
+ spread_balance = _parse_spread_balance(d.pop("spreadBalance", UNSET))
1684
+
1685
+
1686
+ def _parse_spread_diff(data: object) -> int | None | Unset:
1687
+ if data is None:
1688
+ return data
1689
+ if isinstance(data, Unset):
1690
+ return data
1691
+ return cast(int | None | Unset, data)
1692
+
1693
+ spread_diff = _parse_spread_diff(d.pop("spreadDiff", UNSET))
1694
+
1695
+
1696
+ def _parse_spread_diff_balance(data: object) -> int | None | Unset:
1697
+ if data is None:
1698
+ return data
1699
+ if isinstance(data, Unset):
1700
+ return data
1701
+ return cast(int | None | Unset, data)
1702
+
1703
+ spread_diff_balance = _parse_spread_diff_balance(d.pop("spreadDiffBalance", UNSET))
1704
+
1705
+
1706
+ def _parse_tick_value(data: object) -> float | None | Unset:
1707
+ if data is None:
1708
+ return data
1709
+ if isinstance(data, Unset):
1710
+ return data
1711
+ return cast(float | None | Unset, data)
1712
+
1713
+ tick_value = _parse_tick_value(d.pop("tickValue", UNSET))
1714
+
1715
+
1716
+ def _parse_tick_size(data: object) -> float | None | Unset:
1717
+ if data is None:
1718
+ return data
1719
+ if isinstance(data, Unset):
1720
+ return data
1721
+ return cast(float | None | Unset, data)
1722
+
1723
+ tick_size = _parse_tick_size(d.pop("tickSize", UNSET))
1724
+
1725
+
1726
+ def _parse_contract_size(data: object) -> float | None | Unset:
1727
+ if data is None:
1728
+ return data
1729
+ if isinstance(data, Unset):
1730
+ return data
1731
+ return cast(float | None | Unset, data)
1732
+
1733
+ contract_size = _parse_contract_size(d.pop("contractSize", UNSET))
1734
+
1735
+
1736
+ def _parse_stops_level(data: object) -> int | None | Unset:
1737
+ if data is None:
1738
+ return data
1739
+ if isinstance(data, Unset):
1740
+ return data
1741
+ return cast(int | None | Unset, data)
1742
+
1743
+ stops_level = _parse_stops_level(d.pop("stopsLevel", UNSET))
1744
+
1745
+
1746
+ def _parse_freeze_level(data: object) -> int | None | Unset:
1747
+ if data is None:
1748
+ return data
1749
+ if isinstance(data, Unset):
1750
+ return data
1751
+ return cast(int | None | Unset, data)
1752
+
1753
+ freeze_level = _parse_freeze_level(d.pop("freezeLevel", UNSET))
1754
+
1755
+
1756
+ def _parse_quotes_timeout(data: object) -> int | None | Unset:
1757
+ if data is None:
1758
+ return data
1759
+ if isinstance(data, Unset):
1760
+ return data
1761
+ return cast(int | None | Unset, data)
1762
+
1763
+ quotes_timeout = _parse_quotes_timeout(d.pop("quotesTimeout", UNSET))
1764
+
1765
+
1766
+ def _parse_volume_min(data: object) -> int | None | Unset:
1767
+ if data is None:
1768
+ return data
1769
+ if isinstance(data, Unset):
1770
+ return data
1771
+ return cast(int | None | Unset, data)
1772
+
1773
+ volume_min = _parse_volume_min(d.pop("volumeMin", UNSET))
1774
+
1775
+
1776
+ def _parse_volume_max(data: object) -> int | None | Unset:
1777
+ if data is None:
1778
+ return data
1779
+ if isinstance(data, Unset):
1780
+ return data
1781
+ return cast(int | None | Unset, data)
1782
+
1783
+ volume_max = _parse_volume_max(d.pop("volumeMax", UNSET))
1784
+
1785
+
1786
+ def _parse_volume_step(data: object) -> int | None | Unset:
1787
+ if data is None:
1788
+ return data
1789
+ if isinstance(data, Unset):
1790
+ return data
1791
+ return cast(int | None | Unset, data)
1792
+
1793
+ volume_step = _parse_volume_step(d.pop("volumeStep", UNSET))
1794
+
1795
+
1796
+ def _parse_volume_limit(data: object) -> int | None | Unset:
1797
+ if data is None:
1798
+ return data
1799
+ if isinstance(data, Unset):
1800
+ return data
1801
+ return cast(int | None | Unset, data)
1802
+
1803
+ volume_limit = _parse_volume_limit(d.pop("volumeLimit", UNSET))
1804
+
1805
+
1806
+ def _parse_margin_flags(data: object) -> None | str | Unset:
1807
+ if data is None:
1808
+ return data
1809
+ if isinstance(data, Unset):
1810
+ return data
1811
+ return cast(None | str | Unset, data)
1812
+
1813
+ margin_flags = _parse_margin_flags(d.pop("marginFlags", UNSET))
1814
+
1815
+
1816
+ def _parse_margin_initial(data: object) -> float | None | Unset:
1817
+ if data is None:
1818
+ return data
1819
+ if isinstance(data, Unset):
1820
+ return data
1821
+ return cast(float | None | Unset, data)
1822
+
1823
+ margin_initial = _parse_margin_initial(d.pop("marginInitial", UNSET))
1824
+
1825
+
1826
+ def _parse_margin_maintenance(data: object) -> float | None | Unset:
1827
+ if data is None:
1828
+ return data
1829
+ if isinstance(data, Unset):
1830
+ return data
1831
+ return cast(float | None | Unset, data)
1832
+
1833
+ margin_maintenance = _parse_margin_maintenance(d.pop("marginMaintenance", UNSET))
1834
+
1835
+
1836
+ def _parse_margin_long(data: object) -> float | None | Unset:
1837
+ if data is None:
1838
+ return data
1839
+ if isinstance(data, Unset):
1840
+ return data
1841
+ return cast(float | None | Unset, data)
1842
+
1843
+ margin_long = _parse_margin_long(d.pop("marginLong", UNSET))
1844
+
1845
+
1846
+ def _parse_margin_short(data: object) -> float | None | Unset:
1847
+ if data is None:
1848
+ return data
1849
+ if isinstance(data, Unset):
1850
+ return data
1851
+ return cast(float | None | Unset, data)
1852
+
1853
+ margin_short = _parse_margin_short(d.pop("marginShort", UNSET))
1854
+
1855
+
1856
+ def _parse_margin_limit(data: object) -> float | None | Unset:
1857
+ if data is None:
1858
+ return data
1859
+ if isinstance(data, Unset):
1860
+ return data
1861
+ return cast(float | None | Unset, data)
1862
+
1863
+ margin_limit = _parse_margin_limit(d.pop("marginLimit", UNSET))
1864
+
1865
+
1866
+ def _parse_margin_stop(data: object) -> float | None | Unset:
1867
+ if data is None:
1868
+ return data
1869
+ if isinstance(data, Unset):
1870
+ return data
1871
+ return cast(float | None | Unset, data)
1872
+
1873
+ margin_stop = _parse_margin_stop(d.pop("marginStop", UNSET))
1874
+
1875
+
1876
+ def _parse_margin_stop_limit(data: object) -> float | None | Unset:
1877
+ if data is None:
1878
+ return data
1879
+ if isinstance(data, Unset):
1880
+ return data
1881
+ return cast(float | None | Unset, data)
1882
+
1883
+ margin_stop_limit = _parse_margin_stop_limit(d.pop("marginStopLimit", UNSET))
1884
+
1885
+
1886
+ def _parse_swap_mode(data: object) -> EnSwapMode | None | Unset:
1887
+ if data is None:
1888
+ return data
1889
+ if isinstance(data, Unset):
1890
+ return data
1891
+ try:
1892
+ if not isinstance(data, str):
1893
+ raise TypeError()
1894
+ swap_mode_type_1 = EnSwapMode(data)
1895
+
1896
+
1897
+
1898
+ return swap_mode_type_1
1899
+ except (TypeError, ValueError, AttributeError, KeyError):
1900
+ pass
1901
+ return cast(EnSwapMode | None | Unset, data)
1902
+
1903
+ swap_mode = _parse_swap_mode(d.pop("swapMode", UNSET))
1904
+
1905
+
1906
+ def _parse_swap_long(data: object) -> float | None | Unset:
1907
+ if data is None:
1908
+ return data
1909
+ if isinstance(data, Unset):
1910
+ return data
1911
+ return cast(float | None | Unset, data)
1912
+
1913
+ swap_long = _parse_swap_long(d.pop("swapLong", UNSET))
1914
+
1915
+
1916
+ def _parse_swap_short(data: object) -> float | None | Unset:
1917
+ if data is None:
1918
+ return data
1919
+ if isinstance(data, Unset):
1920
+ return data
1921
+ return cast(float | None | Unset, data)
1922
+
1923
+ swap_short = _parse_swap_short(d.pop("swapShort", UNSET))
1924
+
1925
+
1926
+ def _parse_swap_3_day(data: object) -> EnSwapDays | None | Unset:
1927
+ if data is None:
1928
+ return data
1929
+ if isinstance(data, Unset):
1930
+ return data
1931
+ try:
1932
+ if not isinstance(data, str):
1933
+ raise TypeError()
1934
+ swap_3_day_type_1 = EnSwapDays(data)
1935
+
1936
+
1937
+
1938
+ return swap_3_day_type_1
1939
+ except (TypeError, ValueError, AttributeError, KeyError):
1940
+ pass
1941
+ return cast(EnSwapDays | None | Unset, data)
1942
+
1943
+ swap_3_day = _parse_swap_3_day(d.pop("swap3Day", UNSET))
1944
+
1945
+
1946
+ def _parse_time_start(data: object) -> datetime.datetime | None | Unset:
1947
+ if data is None:
1948
+ return data
1949
+ if isinstance(data, Unset):
1950
+ return data
1951
+ try:
1952
+ if not isinstance(data, str):
1953
+ raise TypeError()
1954
+ time_start_type_0 = datetime.datetime.fromisoformat(data)
1955
+
1956
+
1957
+
1958
+ return time_start_type_0
1959
+ except (TypeError, ValueError, AttributeError, KeyError):
1960
+ pass
1961
+ return cast(datetime.datetime | None | Unset, data)
1962
+
1963
+ time_start = _parse_time_start(d.pop("timeStart", UNSET))
1964
+
1965
+
1966
+ def _parse_time_expiration(data: object) -> datetime.datetime | None | Unset:
1967
+ if data is None:
1968
+ return data
1969
+ if isinstance(data, Unset):
1970
+ return data
1971
+ try:
1972
+ if not isinstance(data, str):
1973
+ raise TypeError()
1974
+ time_expiration_type_0 = datetime.datetime.fromisoformat(data)
1975
+
1976
+
1977
+
1978
+ return time_expiration_type_0
1979
+ except (TypeError, ValueError, AttributeError, KeyError):
1980
+ pass
1981
+ return cast(datetime.datetime | None | Unset, data)
1982
+
1983
+ time_expiration = _parse_time_expiration(d.pop("timeExpiration", UNSET))
1984
+
1985
+
1986
+ def _parse_session_quote(data: object) -> list[list[MT5SymbolSession]] | None | Unset:
1987
+ if data is None:
1988
+ return data
1989
+ if isinstance(data, Unset):
1990
+ return data
1991
+ try:
1992
+ if not isinstance(data, list):
1993
+ raise TypeError()
1994
+ session_quote_type_0 = []
1995
+ _session_quote_type_0 = data
1996
+ for session_quote_type_0_item_data in (_session_quote_type_0):
1997
+ session_quote_type_0_item = []
1998
+ _session_quote_type_0_item = session_quote_type_0_item_data
1999
+ for session_quote_type_0_item_item_data in (_session_quote_type_0_item):
2000
+ session_quote_type_0_item_item = MT5SymbolSession.from_dict(session_quote_type_0_item_item_data)
2001
+
2002
+
2003
+
2004
+ session_quote_type_0_item.append(session_quote_type_0_item_item)
2005
+
2006
+ session_quote_type_0.append(session_quote_type_0_item)
2007
+
2008
+ return session_quote_type_0
2009
+ except (TypeError, ValueError, AttributeError, KeyError):
2010
+ pass
2011
+ return cast(list[list[MT5SymbolSession]] | None | Unset, data)
2012
+
2013
+ session_quote = _parse_session_quote(d.pop("sessionQuote", UNSET))
2014
+
2015
+
2016
+ def _parse_session_trade(data: object) -> list[list[MT5SymbolSession]] | None | Unset:
2017
+ if data is None:
2018
+ return data
2019
+ if isinstance(data, Unset):
2020
+ return data
2021
+ try:
2022
+ if not isinstance(data, list):
2023
+ raise TypeError()
2024
+ session_trade_type_0 = []
2025
+ _session_trade_type_0 = data
2026
+ for session_trade_type_0_item_data in (_session_trade_type_0):
2027
+ session_trade_type_0_item = []
2028
+ _session_trade_type_0_item = session_trade_type_0_item_data
2029
+ for session_trade_type_0_item_item_data in (_session_trade_type_0_item):
2030
+ session_trade_type_0_item_item = MT5SymbolSession.from_dict(session_trade_type_0_item_item_data)
2031
+
2032
+
2033
+
2034
+ session_trade_type_0_item.append(session_trade_type_0_item_item)
2035
+
2036
+ session_trade_type_0.append(session_trade_type_0_item)
2037
+
2038
+ return session_trade_type_0
2039
+ except (TypeError, ValueError, AttributeError, KeyError):
2040
+ pass
2041
+ return cast(list[list[MT5SymbolSession]] | None | Unset, data)
2042
+
2043
+ session_trade = _parse_session_trade(d.pop("sessionTrade", UNSET))
2044
+
2045
+
2046
+ def _parse_re_flags(data: object) -> None | str | Unset:
2047
+ if data is None:
2048
+ return data
2049
+ if isinstance(data, Unset):
2050
+ return data
2051
+ return cast(None | str | Unset, data)
2052
+
2053
+ re_flags = _parse_re_flags(d.pop("reFlags", UNSET))
2054
+
2055
+
2056
+ def _parse_re_timeout(data: object) -> int | None | Unset:
2057
+ if data is None:
2058
+ return data
2059
+ if isinstance(data, Unset):
2060
+ return data
2061
+ return cast(int | None | Unset, data)
2062
+
2063
+ re_timeout = _parse_re_timeout(d.pop("reTimeout", UNSET))
2064
+
2065
+
2066
+ def _parse_ie_check_mode(data: object) -> EnInstantMode | None | Unset:
2067
+ if data is None:
2068
+ return data
2069
+ if isinstance(data, Unset):
2070
+ return data
2071
+ try:
2072
+ if not isinstance(data, str):
2073
+ raise TypeError()
2074
+ ie_check_mode_type_1 = EnInstantMode(data)
2075
+
2076
+
2077
+
2078
+ return ie_check_mode_type_1
2079
+ except (TypeError, ValueError, AttributeError, KeyError):
2080
+ pass
2081
+ return cast(EnInstantMode | None | Unset, data)
2082
+
2083
+ ie_check_mode = _parse_ie_check_mode(d.pop("ieCheckMode", UNSET))
2084
+
2085
+
2086
+ def _parse_ie_timeout(data: object) -> int | None | Unset:
2087
+ if data is None:
2088
+ return data
2089
+ if isinstance(data, Unset):
2090
+ return data
2091
+ return cast(int | None | Unset, data)
2092
+
2093
+ ie_timeout = _parse_ie_timeout(d.pop("ieTimeout", UNSET))
2094
+
2095
+
2096
+ def _parse_ie_slip_profit(data: object) -> int | None | Unset:
2097
+ if data is None:
2098
+ return data
2099
+ if isinstance(data, Unset):
2100
+ return data
2101
+ return cast(int | None | Unset, data)
2102
+
2103
+ ie_slip_profit = _parse_ie_slip_profit(d.pop("ieSlipProfit", UNSET))
2104
+
2105
+
2106
+ def _parse_ie_slip_losing(data: object) -> int | None | Unset:
2107
+ if data is None:
2108
+ return data
2109
+ if isinstance(data, Unset):
2110
+ return data
2111
+ return cast(int | None | Unset, data)
2112
+
2113
+ ie_slip_losing = _parse_ie_slip_losing(d.pop("ieSlipLosing", UNSET))
2114
+
2115
+
2116
+ def _parse_ie_volume_max(data: object) -> int | None | Unset:
2117
+ if data is None:
2118
+ return data
2119
+ if isinstance(data, Unset):
2120
+ return data
2121
+ return cast(int | None | Unset, data)
2122
+
2123
+ ie_volume_max = _parse_ie_volume_max(d.pop("ieVolumeMax", UNSET))
2124
+
2125
+
2126
+ def _parse_price_settle(data: object) -> float | None | Unset:
2127
+ if data is None:
2128
+ return data
2129
+ if isinstance(data, Unset):
2130
+ return data
2131
+ return cast(float | None | Unset, data)
2132
+
2133
+ price_settle = _parse_price_settle(d.pop("priceSettle", UNSET))
2134
+
2135
+
2136
+ def _parse_price_limit_max(data: object) -> float | None | Unset:
2137
+ if data is None:
2138
+ return data
2139
+ if isinstance(data, Unset):
2140
+ return data
2141
+ return cast(float | None | Unset, data)
2142
+
2143
+ price_limit_max = _parse_price_limit_max(d.pop("priceLimitMax", UNSET))
2144
+
2145
+
2146
+ def _parse_price_limit_min(data: object) -> float | None | Unset:
2147
+ if data is None:
2148
+ return data
2149
+ if isinstance(data, Unset):
2150
+ return data
2151
+ return cast(float | None | Unset, data)
2152
+
2153
+ price_limit_min = _parse_price_limit_min(d.pop("priceLimitMin", UNSET))
2154
+
2155
+
2156
+ def _parse_trade_flags(data: object) -> None | str | Unset:
2157
+ if data is None:
2158
+ return data
2159
+ if isinstance(data, Unset):
2160
+ return data
2161
+ return cast(None | str | Unset, data)
2162
+
2163
+ trade_flags = _parse_trade_flags(d.pop("tradeFlags", UNSET))
2164
+
2165
+
2166
+ def _parse_order_flags(data: object) -> None | str | Unset:
2167
+ if data is None:
2168
+ return data
2169
+ if isinstance(data, Unset):
2170
+ return data
2171
+ return cast(None | str | Unset, data)
2172
+
2173
+ order_flags = _parse_order_flags(d.pop("orderFlags", UNSET))
2174
+
2175
+
2176
+ def _parse_margin_rate_initial(data: object) -> MT5SymbolMarginRateInitialType0 | None | Unset:
2177
+ if data is None:
2178
+ return data
2179
+ if isinstance(data, Unset):
2180
+ return data
2181
+ try:
2182
+ if not isinstance(data, dict):
2183
+ raise TypeError()
2184
+ margin_rate_initial_type_0 = MT5SymbolMarginRateInitialType0.from_dict(data)
2185
+
2186
+
2187
+
2188
+ return margin_rate_initial_type_0
2189
+ except (TypeError, ValueError, AttributeError, KeyError):
2190
+ pass
2191
+ return cast(MT5SymbolMarginRateInitialType0 | None | Unset, data)
2192
+
2193
+ margin_rate_initial = _parse_margin_rate_initial(d.pop("marginRateInitial", UNSET))
2194
+
2195
+
2196
+ def _parse_margin_rate_maintenance(data: object) -> MT5SymbolMarginRateMaintenanceType0 | None | Unset:
2197
+ if data is None:
2198
+ return data
2199
+ if isinstance(data, Unset):
2200
+ return data
2201
+ try:
2202
+ if not isinstance(data, dict):
2203
+ raise TypeError()
2204
+ margin_rate_maintenance_type_0 = MT5SymbolMarginRateMaintenanceType0.from_dict(data)
2205
+
2206
+
2207
+
2208
+ return margin_rate_maintenance_type_0
2209
+ except (TypeError, ValueError, AttributeError, KeyError):
2210
+ pass
2211
+ return cast(MT5SymbolMarginRateMaintenanceType0 | None | Unset, data)
2212
+
2213
+ margin_rate_maintenance = _parse_margin_rate_maintenance(d.pop("marginRateMaintenance", UNSET))
2214
+
2215
+
2216
+ def _parse_options_mode(data: object) -> EnOptionMode | None | Unset:
2217
+ if data is None:
2218
+ return data
2219
+ if isinstance(data, Unset):
2220
+ return data
2221
+ try:
2222
+ if not isinstance(data, str):
2223
+ raise TypeError()
2224
+ options_mode_type_1 = EnOptionMode(data)
2225
+
2226
+
2227
+
2228
+ return options_mode_type_1
2229
+ except (TypeError, ValueError, AttributeError, KeyError):
2230
+ pass
2231
+ return cast(EnOptionMode | None | Unset, data)
2232
+
2233
+ options_mode = _parse_options_mode(d.pop("optionsMode", UNSET))
2234
+
2235
+
2236
+ def _parse_price_strike(data: object) -> float | None | Unset:
2237
+ if data is None:
2238
+ return data
2239
+ if isinstance(data, Unset):
2240
+ return data
2241
+ return cast(float | None | Unset, data)
2242
+
2243
+ price_strike = _parse_price_strike(d.pop("priceStrike", UNSET))
2244
+
2245
+
2246
+ def _parse_margin_rate_liquidity(data: object) -> float | None | Unset:
2247
+ if data is None:
2248
+ return data
2249
+ if isinstance(data, Unset):
2250
+ return data
2251
+ return cast(float | None | Unset, data)
2252
+
2253
+ margin_rate_liquidity = _parse_margin_rate_liquidity(d.pop("marginRateLiquidity", UNSET))
2254
+
2255
+
2256
+ def _parse_face_value(data: object) -> float | None | Unset:
2257
+ if data is None:
2258
+ return data
2259
+ if isinstance(data, Unset):
2260
+ return data
2261
+ return cast(float | None | Unset, data)
2262
+
2263
+ face_value = _parse_face_value(d.pop("faceValue", UNSET))
2264
+
2265
+
2266
+ def _parse_accrued_interest(data: object) -> float | None | Unset:
2267
+ if data is None:
2268
+ return data
2269
+ if isinstance(data, Unset):
2270
+ return data
2271
+ return cast(float | None | Unset, data)
2272
+
2273
+ accrued_interest = _parse_accrued_interest(d.pop("accruedInterest", UNSET))
2274
+
2275
+
2276
+ def _parse_splice_type(data: object) -> EnSpliceType | None | Unset:
2277
+ if data is None:
2278
+ return data
2279
+ if isinstance(data, Unset):
2280
+ return data
2281
+ try:
2282
+ if not isinstance(data, str):
2283
+ raise TypeError()
2284
+ splice_type_type_1 = EnSpliceType(data)
2285
+
2286
+
2287
+
2288
+ return splice_type_type_1
2289
+ except (TypeError, ValueError, AttributeError, KeyError):
2290
+ pass
2291
+ return cast(EnSpliceType | None | Unset, data)
2292
+
2293
+ splice_type = _parse_splice_type(d.pop("spliceType", UNSET))
2294
+
2295
+
2296
+ def _parse_splice_time_type(data: object) -> EnSpliceTimeType | None | Unset:
2297
+ if data is None:
2298
+ return data
2299
+ if isinstance(data, Unset):
2300
+ return data
2301
+ try:
2302
+ if not isinstance(data, str):
2303
+ raise TypeError()
2304
+ splice_time_type_type_1 = EnSpliceTimeType(data)
2305
+
2306
+
2307
+
2308
+ return splice_time_type_type_1
2309
+ except (TypeError, ValueError, AttributeError, KeyError):
2310
+ pass
2311
+ return cast(EnSpliceTimeType | None | Unset, data)
2312
+
2313
+ splice_time_type = _parse_splice_time_type(d.pop("spliceTimeType", UNSET))
2314
+
2315
+
2316
+ def _parse_splice_time_days(data: object) -> int | None | Unset:
2317
+ if data is None:
2318
+ return data
2319
+ if isinstance(data, Unset):
2320
+ return data
2321
+ return cast(int | None | Unset, data)
2322
+
2323
+ splice_time_days = _parse_splice_time_days(d.pop("spliceTimeDays", UNSET))
2324
+
2325
+
2326
+ def _parse_margin_hedged(data: object) -> float | None | Unset:
2327
+ if data is None:
2328
+ return data
2329
+ if isinstance(data, Unset):
2330
+ return data
2331
+ return cast(float | None | Unset, data)
2332
+
2333
+ margin_hedged = _parse_margin_hedged(d.pop("marginHedged", UNSET))
2334
+
2335
+
2336
+ def _parse_margin_rate_currency(data: object) -> float | None | Unset:
2337
+ if data is None:
2338
+ return data
2339
+ if isinstance(data, Unset):
2340
+ return data
2341
+ return cast(float | None | Unset, data)
2342
+
2343
+ margin_rate_currency = _parse_margin_rate_currency(d.pop("marginRateCurrency", UNSET))
2344
+
2345
+
2346
+ def _parse_filter_gap(data: object) -> int | None | Unset:
2347
+ if data is None:
2348
+ return data
2349
+ if isinstance(data, Unset):
2350
+ return data
2351
+ return cast(int | None | Unset, data)
2352
+
2353
+ filter_gap = _parse_filter_gap(d.pop("filterGap", UNSET))
2354
+
2355
+
2356
+ def _parse_filter_gap_ticks(data: object) -> int | None | Unset:
2357
+ if data is None:
2358
+ return data
2359
+ if isinstance(data, Unset):
2360
+ return data
2361
+ return cast(int | None | Unset, data)
2362
+
2363
+ filter_gap_ticks = _parse_filter_gap_ticks(d.pop("filterGapTicks", UNSET))
2364
+
2365
+
2366
+ def _parse_chart_mode(data: object) -> EnChartMode | None | Unset:
2367
+ if data is None:
2368
+ return data
2369
+ if isinstance(data, Unset):
2370
+ return data
2371
+ try:
2372
+ if not isinstance(data, str):
2373
+ raise TypeError()
2374
+ chart_mode_type_1 = EnChartMode(data)
2375
+
2376
+
2377
+
2378
+ return chart_mode_type_1
2379
+ except (TypeError, ValueError, AttributeError, KeyError):
2380
+ pass
2381
+ return cast(EnChartMode | None | Unset, data)
2382
+
2383
+ chart_mode = _parse_chart_mode(d.pop("chartMode", UNSET))
2384
+
2385
+
2386
+ def _parse_ie_flags(data: object) -> None | str | Unset:
2387
+ if data is None:
2388
+ return data
2389
+ if isinstance(data, Unset):
2390
+ return data
2391
+ return cast(None | str | Unset, data)
2392
+
2393
+ ie_flags = _parse_ie_flags(d.pop("ieFlags", UNSET))
2394
+
2395
+
2396
+ def _parse_volume_min_ext(data: object) -> int | None | Unset:
2397
+ if data is None:
2398
+ return data
2399
+ if isinstance(data, Unset):
2400
+ return data
2401
+ return cast(int | None | Unset, data)
2402
+
2403
+ volume_min_ext = _parse_volume_min_ext(d.pop("volumeMinExt", UNSET))
2404
+
2405
+
2406
+ def _parse_volume_max_ext(data: object) -> int | None | Unset:
2407
+ if data is None:
2408
+ return data
2409
+ if isinstance(data, Unset):
2410
+ return data
2411
+ return cast(int | None | Unset, data)
2412
+
2413
+ volume_max_ext = _parse_volume_max_ext(d.pop("volumeMaxExt", UNSET))
2414
+
2415
+
2416
+ def _parse_volume_step_ext(data: object) -> int | None | Unset:
2417
+ if data is None:
2418
+ return data
2419
+ if isinstance(data, Unset):
2420
+ return data
2421
+ return cast(int | None | Unset, data)
2422
+
2423
+ volume_step_ext = _parse_volume_step_ext(d.pop("volumeStepExt", UNSET))
2424
+
2425
+
2426
+ def _parse_volume_limit_ext(data: object) -> int | None | Unset:
2427
+ if data is None:
2428
+ return data
2429
+ if isinstance(data, Unset):
2430
+ return data
2431
+ return cast(int | None | Unset, data)
2432
+
2433
+ volume_limit_ext = _parse_volume_limit_ext(d.pop("volumeLimitExt", UNSET))
2434
+
2435
+
2436
+ def _parse_ie_volume_max_ext(data: object) -> int | None | Unset:
2437
+ if data is None:
2438
+ return data
2439
+ if isinstance(data, Unset):
2440
+ return data
2441
+ return cast(int | None | Unset, data)
2442
+
2443
+ ie_volume_max_ext = _parse_ie_volume_max_ext(d.pop("ieVolumeMaxExt", UNSET))
2444
+
2445
+
2446
+ def _parse_category(data: object) -> None | str | Unset:
2447
+ if data is None:
2448
+ return data
2449
+ if isinstance(data, Unset):
2450
+ return data
2451
+ return cast(None | str | Unset, data)
2452
+
2453
+ category = _parse_category(d.pop("category", UNSET))
2454
+
2455
+
2456
+ def _parse_exchange(data: object) -> None | str | Unset:
2457
+ if data is None:
2458
+ return data
2459
+ if isinstance(data, Unset):
2460
+ return data
2461
+ return cast(None | str | Unset, data)
2462
+
2463
+ exchange = _parse_exchange(d.pop("exchange", UNSET))
2464
+
2465
+
2466
+ def _parse_cfi(data: object) -> None | str | Unset:
2467
+ if data is None:
2468
+ return data
2469
+ if isinstance(data, Unset):
2470
+ return data
2471
+ return cast(None | str | Unset, data)
2472
+
2473
+ cfi = _parse_cfi(d.pop("cfi", UNSET))
2474
+
2475
+
2476
+ def _parse_sector(data: object) -> EnSectors | None | Unset:
2477
+ if data is None:
2478
+ return data
2479
+ if isinstance(data, Unset):
2480
+ return data
2481
+ try:
2482
+ if not isinstance(data, str):
2483
+ raise TypeError()
2484
+ sector_type_1 = EnSectors(data)
2485
+
2486
+
2487
+
2488
+ return sector_type_1
2489
+ except (TypeError, ValueError, AttributeError, KeyError):
2490
+ pass
2491
+ return cast(EnSectors | None | Unset, data)
2492
+
2493
+ sector = _parse_sector(d.pop("sector", UNSET))
2494
+
2495
+
2496
+ def _parse_industry(data: object) -> EnIndustries | None | Unset:
2497
+ if data is None:
2498
+ return data
2499
+ if isinstance(data, Unset):
2500
+ return data
2501
+ try:
2502
+ if not isinstance(data, str):
2503
+ raise TypeError()
2504
+ industry_type_1 = EnIndustries(data)
2505
+
2506
+
2507
+
2508
+ return industry_type_1
2509
+ except (TypeError, ValueError, AttributeError, KeyError):
2510
+ pass
2511
+ return cast(EnIndustries | None | Unset, data)
2512
+
2513
+ industry = _parse_industry(d.pop("industry", UNSET))
2514
+
2515
+
2516
+ def _parse_country(data: object) -> None | str | Unset:
2517
+ if data is None:
2518
+ return data
2519
+ if isinstance(data, Unset):
2520
+ return data
2521
+ return cast(None | str | Unset, data)
2522
+
2523
+ country = _parse_country(d.pop("country", UNSET))
2524
+
2525
+
2526
+ def _parse_subscriptions_delay(data: object) -> int | None | Unset:
2527
+ if data is None:
2528
+ return data
2529
+ if isinstance(data, Unset):
2530
+ return data
2531
+ return cast(int | None | Unset, data)
2532
+
2533
+ subscriptions_delay = _parse_subscriptions_delay(d.pop("subscriptionsDelay", UNSET))
2534
+
2535
+
2536
+ def _parse_swap_year_days(data: object) -> int | None | Unset:
2537
+ if data is None:
2538
+ return data
2539
+ if isinstance(data, Unset):
2540
+ return data
2541
+ return cast(int | None | Unset, data)
2542
+
2543
+ swap_year_days = _parse_swap_year_days(d.pop("swapYearDays", UNSET))
2544
+
2545
+
2546
+ def _parse_swap_flags(data: object) -> None | str | Unset:
2547
+ if data is None:
2548
+ return data
2549
+ if isinstance(data, Unset):
2550
+ return data
2551
+ return cast(None | str | Unset, data)
2552
+
2553
+ swap_flags = _parse_swap_flags(d.pop("swapFlags", UNSET))
2554
+
2555
+
2556
+ def _parse_swap_rate_sunday(data: object) -> float | None | Unset:
2557
+ if data is None:
2558
+ return data
2559
+ if isinstance(data, Unset):
2560
+ return data
2561
+ return cast(float | None | Unset, data)
2562
+
2563
+ swap_rate_sunday = _parse_swap_rate_sunday(d.pop("swapRateSunday", UNSET))
2564
+
2565
+
2566
+ def _parse_swap_rate_monday(data: object) -> float | None | Unset:
2567
+ if data is None:
2568
+ return data
2569
+ if isinstance(data, Unset):
2570
+ return data
2571
+ return cast(float | None | Unset, data)
2572
+
2573
+ swap_rate_monday = _parse_swap_rate_monday(d.pop("swapRateMonday", UNSET))
2574
+
2575
+
2576
+ def _parse_swap_rate_tuesday(data: object) -> float | None | Unset:
2577
+ if data is None:
2578
+ return data
2579
+ if isinstance(data, Unset):
2580
+ return data
2581
+ return cast(float | None | Unset, data)
2582
+
2583
+ swap_rate_tuesday = _parse_swap_rate_tuesday(d.pop("swapRateTuesday", UNSET))
2584
+
2585
+
2586
+ def _parse_swap_rate_wednesday(data: object) -> float | None | Unset:
2587
+ if data is None:
2588
+ return data
2589
+ if isinstance(data, Unset):
2590
+ return data
2591
+ return cast(float | None | Unset, data)
2592
+
2593
+ swap_rate_wednesday = _parse_swap_rate_wednesday(d.pop("swapRateWednesday", UNSET))
2594
+
2595
+
2596
+ def _parse_swap_rate_thursday(data: object) -> float | None | Unset:
2597
+ if data is None:
2598
+ return data
2599
+ if isinstance(data, Unset):
2600
+ return data
2601
+ return cast(float | None | Unset, data)
2602
+
2603
+ swap_rate_thursday = _parse_swap_rate_thursday(d.pop("swapRateThursday", UNSET))
2604
+
2605
+
2606
+ def _parse_swap_rate_friday(data: object) -> float | None | Unset:
2607
+ if data is None:
2608
+ return data
2609
+ if isinstance(data, Unset):
2610
+ return data
2611
+ return cast(float | None | Unset, data)
2612
+
2613
+ swap_rate_friday = _parse_swap_rate_friday(d.pop("swapRateFriday", UNSET))
2614
+
2615
+
2616
+ def _parse_swap_rate_saturday(data: object) -> float | None | Unset:
2617
+ if data is None:
2618
+ return data
2619
+ if isinstance(data, Unset):
2620
+ return data
2621
+ return cast(float | None | Unset, data)
2622
+
2623
+ swap_rate_saturday = _parse_swap_rate_saturday(d.pop("swapRateSaturday", UNSET))
2624
+
2625
+
2626
+ mt5_symbol = cls(
2627
+ symbol=symbol,
2628
+ path=path,
2629
+ isin=isin,
2630
+ description=description,
2631
+ international=international,
2632
+ basis=basis,
2633
+ source=source,
2634
+ page=page,
2635
+ currency_base=currency_base,
2636
+ currency_base_digits=currency_base_digits,
2637
+ currency_profit=currency_profit,
2638
+ currency_profit_digits=currency_profit_digits,
2639
+ currency_margin=currency_margin,
2640
+ currency_margin_digits=currency_margin_digits,
2641
+ color=color,
2642
+ color_background=color_background,
2643
+ digits=digits,
2644
+ point=point,
2645
+ multiply=multiply,
2646
+ tick_flags=tick_flags,
2647
+ tick_book_depth=tick_book_depth,
2648
+ filter_soft=filter_soft,
2649
+ filter_soft_ticks=filter_soft_ticks,
2650
+ filter_hard=filter_hard,
2651
+ filter_hard_ticks=filter_hard_ticks,
2652
+ filter_discard=filter_discard,
2653
+ filter_spread_max=filter_spread_max,
2654
+ filter_spread_min=filter_spread_min,
2655
+ trade_mode=trade_mode,
2656
+ calc_mode=calc_mode,
2657
+ exec_mode=exec_mode,
2658
+ gtc_mode=gtc_mode,
2659
+ fill_flags=fill_flags,
2660
+ expir_flags=expir_flags,
2661
+ spread=spread,
2662
+ spread_balance=spread_balance,
2663
+ spread_diff=spread_diff,
2664
+ spread_diff_balance=spread_diff_balance,
2665
+ tick_value=tick_value,
2666
+ tick_size=tick_size,
2667
+ contract_size=contract_size,
2668
+ stops_level=stops_level,
2669
+ freeze_level=freeze_level,
2670
+ quotes_timeout=quotes_timeout,
2671
+ volume_min=volume_min,
2672
+ volume_max=volume_max,
2673
+ volume_step=volume_step,
2674
+ volume_limit=volume_limit,
2675
+ margin_flags=margin_flags,
2676
+ margin_initial=margin_initial,
2677
+ margin_maintenance=margin_maintenance,
2678
+ margin_long=margin_long,
2679
+ margin_short=margin_short,
2680
+ margin_limit=margin_limit,
2681
+ margin_stop=margin_stop,
2682
+ margin_stop_limit=margin_stop_limit,
2683
+ swap_mode=swap_mode,
2684
+ swap_long=swap_long,
2685
+ swap_short=swap_short,
2686
+ swap_3_day=swap_3_day,
2687
+ time_start=time_start,
2688
+ time_expiration=time_expiration,
2689
+ session_quote=session_quote,
2690
+ session_trade=session_trade,
2691
+ re_flags=re_flags,
2692
+ re_timeout=re_timeout,
2693
+ ie_check_mode=ie_check_mode,
2694
+ ie_timeout=ie_timeout,
2695
+ ie_slip_profit=ie_slip_profit,
2696
+ ie_slip_losing=ie_slip_losing,
2697
+ ie_volume_max=ie_volume_max,
2698
+ price_settle=price_settle,
2699
+ price_limit_max=price_limit_max,
2700
+ price_limit_min=price_limit_min,
2701
+ trade_flags=trade_flags,
2702
+ order_flags=order_flags,
2703
+ margin_rate_initial=margin_rate_initial,
2704
+ margin_rate_maintenance=margin_rate_maintenance,
2705
+ options_mode=options_mode,
2706
+ price_strike=price_strike,
2707
+ margin_rate_liquidity=margin_rate_liquidity,
2708
+ face_value=face_value,
2709
+ accrued_interest=accrued_interest,
2710
+ splice_type=splice_type,
2711
+ splice_time_type=splice_time_type,
2712
+ splice_time_days=splice_time_days,
2713
+ margin_hedged=margin_hedged,
2714
+ margin_rate_currency=margin_rate_currency,
2715
+ filter_gap=filter_gap,
2716
+ filter_gap_ticks=filter_gap_ticks,
2717
+ chart_mode=chart_mode,
2718
+ ie_flags=ie_flags,
2719
+ volume_min_ext=volume_min_ext,
2720
+ volume_max_ext=volume_max_ext,
2721
+ volume_step_ext=volume_step_ext,
2722
+ volume_limit_ext=volume_limit_ext,
2723
+ ie_volume_max_ext=ie_volume_max_ext,
2724
+ category=category,
2725
+ exchange=exchange,
2726
+ cfi=cfi,
2727
+ sector=sector,
2728
+ industry=industry,
2729
+ country=country,
2730
+ subscriptions_delay=subscriptions_delay,
2731
+ swap_year_days=swap_year_days,
2732
+ swap_flags=swap_flags,
2733
+ swap_rate_sunday=swap_rate_sunday,
2734
+ swap_rate_monday=swap_rate_monday,
2735
+ swap_rate_tuesday=swap_rate_tuesday,
2736
+ swap_rate_wednesday=swap_rate_wednesday,
2737
+ swap_rate_thursday=swap_rate_thursday,
2738
+ swap_rate_friday=swap_rate_friday,
2739
+ swap_rate_saturday=swap_rate_saturday,
2740
+ )
2741
+
2742
+ return mt5_symbol
2743
+