mirror of
https://github.com/softwaredevelop/mql5.git
synced 2026-07-27 20:47:44 +00:00
724 lines
47 KiB
Plaintext
724 lines
47 KiB
Plaintext
//+------------------------------------------------------------------+
|
|
//| SymbolInfoIntegerChecker.mq5 |
|
|
//| Copyright 2025, MetaQuotes Ltd. |
|
|
//| https://www.mql5.com |
|
|
//+------------------------------------------------------------------+
|
|
#property copyright "Copyright 2025, MetaQuotes Ltd."
|
|
#property link "https://www.mql5.com"
|
|
#property version "1.00"
|
|
|
|
#include <Trade\SymbolInfo.mqh>
|
|
|
|
// --- Helper functions to get descriptions for integer enums ---
|
|
string GetSymbolSectorDescription(int sector_id)
|
|
{
|
|
string str;
|
|
switch((ENUM_SYMBOL_SECTOR)sector_id)
|
|
{
|
|
case SECTOR_UNDEFINED:
|
|
str = "Undefined";
|
|
break;
|
|
case SECTOR_BASIC_MATERIALS:
|
|
str = "Basic materials";
|
|
break;
|
|
case SECTOR_COMMUNICATION_SERVICES:
|
|
str = "Communication services";
|
|
break;
|
|
case SECTOR_CONSUMER_CYCLICAL:
|
|
str = "Consumer cyclical";
|
|
break;
|
|
case SECTOR_CONSUMER_DEFENSIVE:
|
|
str = "Consumer defensive";
|
|
break;
|
|
case SECTOR_CURRENCY:
|
|
str = "Currencies";
|
|
break;
|
|
case SECTOR_CURRENCY_CRYPTO:
|
|
str = "Cryptocurrencies";
|
|
break;
|
|
case SECTOR_ENERGY:
|
|
str = "Energy";
|
|
break;
|
|
case SECTOR_FINANCIAL:
|
|
str = "Finance";
|
|
break;
|
|
case SECTOR_HEALTHCARE:
|
|
str = "Healthcare";
|
|
break;
|
|
case SECTOR_INDUSTRIALS:
|
|
str = "Industrials";
|
|
break;
|
|
case SECTOR_REAL_ESTATE:
|
|
str = "Real estate";
|
|
break;
|
|
case SECTOR_TECHNOLOGY:
|
|
str = "Technology";
|
|
break;
|
|
case SECTOR_UTILITIES:
|
|
str = "Utilities";
|
|
break;
|
|
default:
|
|
str = "Unknown Sector ID";
|
|
break;
|
|
}
|
|
return str;
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
string GetSymbolIndustryDescription(int industry_id)
|
|
{
|
|
string str;
|
|
switch((ENUM_SYMBOL_INDUSTRY)industry_id)
|
|
{
|
|
case INDUSTRY_UNDEFINED:
|
|
str = "Undefined";
|
|
break;
|
|
// Basic materials
|
|
case INDUSTRY_AGRICULTURAL_INPUTS:
|
|
str = "Agricultural inputs";
|
|
break;
|
|
case INDUSTRY_ALUMINIUM:
|
|
str = "Aluminium";
|
|
break;
|
|
case INDUSTRY_BUILDING_MATERIALS:
|
|
str = "Building materials";
|
|
break;
|
|
case INDUSTRY_CHEMICALS:
|
|
str = "Chemicals";
|
|
break;
|
|
case INDUSTRY_COKING_COAL:
|
|
str = "Coking coal";
|
|
break;
|
|
case INDUSTRY_COPPER:
|
|
str = "Copper";
|
|
break;
|
|
case INDUSTRY_GOLD:
|
|
str = "Gold";
|
|
break;
|
|
case INDUSTRY_LUMBER_WOOD:
|
|
str = "Lumber and wood production";
|
|
break;
|
|
case INDUSTRY_INDUSTRIAL_METALS:
|
|
str = "Other industrial metals and mining";
|
|
break;
|
|
case INDUSTRY_PRECIOUS_METALS:
|
|
str = "Other precious metals and mining";
|
|
break;
|
|
case INDUSTRY_PAPER:
|
|
str = "Paper and paper products";
|
|
break;
|
|
case INDUSTRY_SILVER:
|
|
str = "Silver";
|
|
break;
|
|
case INDUSTRY_SPECIALTY_CHEMICALS:
|
|
str = "Specialty chemicals";
|
|
break;
|
|
case INDUSTRY_STEEL:
|
|
str = "Steel";
|
|
break;
|
|
// Communication services
|
|
case INDUSTRY_ADVERTISING:
|
|
str = "Advertising agencies";
|
|
break;
|
|
case INDUSTRY_BROADCASTING:
|
|
str = "Broadcasting";
|
|
break;
|
|
case INDUSTRY_GAMING_MULTIMEDIA:
|
|
str = "Electronic gaming and multimedia";
|
|
break;
|
|
case INDUSTRY_ENTERTAINMENT:
|
|
str = "Entertainment";
|
|
break;
|
|
case INDUSTRY_INTERNET_CONTENT:
|
|
str = "Internet content and information";
|
|
break;
|
|
case INDUSTRY_PUBLISHING:
|
|
str = "Publishing";
|
|
break;
|
|
case INDUSTRY_TELECOM:
|
|
str = "Telecom services";
|
|
break;
|
|
// Consumer cyclical
|
|
case INDUSTRY_APPAREL_MANUFACTURING:
|
|
str = "Apparel manufacturing";
|
|
break;
|
|
case INDUSTRY_APPAREL_RETAIL:
|
|
str = "Apparel retail";
|
|
break;
|
|
case INDUSTRY_AUTO_MANUFACTURERS:
|
|
str = "Auto manufacturers";
|
|
break;
|
|
case INDUSTRY_AUTO_PARTS:
|
|
str = "Auto parts";
|
|
break;
|
|
case INDUSTRY_AUTO_DEALERSHIP:
|
|
str = "Auto and truck dealerships";
|
|
break;
|
|
case INDUSTRY_DEPARTMENT_STORES:
|
|
str = "Department stores";
|
|
break;
|
|
case INDUSTRY_FOOTWEAR_ACCESSORIES:
|
|
str = "Footwear and accessories";
|
|
break;
|
|
case INDUSTRY_FURNISHINGS:
|
|
str = "Furnishing, fixtures and appliances";
|
|
break;
|
|
case INDUSTRY_GAMBLING:
|
|
str = "Gambling";
|
|
break;
|
|
case INDUSTRY_HOME_IMPROV_RETAIL:
|
|
str = "Home improvement retail";
|
|
break;
|
|
case INDUSTRY_INTERNET_RETAIL:
|
|
str = "Internet retail";
|
|
break;
|
|
case INDUSTRY_LEISURE:
|
|
str = "Leisure";
|
|
break;
|
|
case INDUSTRY_LODGING:
|
|
str = "Lodging";
|
|
break;
|
|
case INDUSTRY_LUXURY_GOODS:
|
|
str = "Luxury goods";
|
|
break;
|
|
case INDUSTRY_PACKAGING_CONTAINERS:
|
|
str = "Packaging and containers";
|
|
break;
|
|
case INDUSTRY_PERSONAL_SERVICES:
|
|
str = "Personal services";
|
|
break;
|
|
case INDUSTRY_RECREATIONAL_VEHICLES:
|
|
str = "Recreational vehicles";
|
|
break;
|
|
case INDUSTRY_RESIDENT_CONSTRUCTION:
|
|
str = "Residential construction";
|
|
break;
|
|
case INDUSTRY_RESORTS_CASINOS:
|
|
str = "Resorts and casinos";
|
|
break;
|
|
case INDUSTRY_RESTAURANTS:
|
|
str = "Restaurants";
|
|
break;
|
|
case INDUSTRY_SPECIALTY_RETAIL:
|
|
str = "Specialty retail";
|
|
break;
|
|
case INDUSTRY_TEXTILE_MANUFACTURING:
|
|
str = "Textile manufacturing";
|
|
break;
|
|
case INDUSTRY_TRAVEL_SERVICES:
|
|
str = "Travel services";
|
|
break;
|
|
// Consumer defensive
|
|
case INDUSTRY_BEVERAGES_BREWERS:
|
|
str = "Beverages - Brewers";
|
|
break;
|
|
case INDUSTRY_BEVERAGES_NON_ALCO:
|
|
str = "Beverages - Non-alcoholic";
|
|
break;
|
|
case INDUSTRY_BEVERAGES_WINERIES:
|
|
str = "Beverages - Wineries and distilleries";
|
|
break;
|
|
case INDUSTRY_CONFECTIONERS:
|
|
str = "Confectioners";
|
|
break;
|
|
case INDUSTRY_DISCOUNT_STORES:
|
|
str = "Discount stores";
|
|
break;
|
|
case INDUSTRY_EDUCATION_TRAINIG:
|
|
str = "Education and training services";
|
|
break;
|
|
case INDUSTRY_FARM_PRODUCTS:
|
|
str = "Farm products";
|
|
break;
|
|
case INDUSTRY_FOOD_DISTRIBUTION:
|
|
str = "Food distribution";
|
|
break;
|
|
case INDUSTRY_GROCERY_STORES:
|
|
str = "Grocery stores";
|
|
break;
|
|
case INDUSTRY_HOUSEHOLD_PRODUCTS:
|
|
str = "Household and personal products";
|
|
break;
|
|
case INDUSTRY_PACKAGED_FOODS:
|
|
str = "Packaged foods";
|
|
break;
|
|
case INDUSTRY_TOBACCO:
|
|
str = "Tobacco";
|
|
break;
|
|
// Energy
|
|
case INDUSTRY_OIL_GAS_DRILLING:
|
|
str = "Oil and gas drilling";
|
|
break;
|
|
case INDUSTRY_OIL_GAS_EP:
|
|
str = "Oil and gas extraction and processing";
|
|
break;
|
|
case INDUSTRY_OIL_GAS_EQUIPMENT:
|
|
str = "Oil and gas equipment and services";
|
|
break;
|
|
case INDUSTRY_OIL_GAS_INTEGRATED:
|
|
str = "Oil and gas integrated";
|
|
break;
|
|
case INDUSTRY_OIL_GAS_MIDSTREAM:
|
|
str = "Oil and gas midstream";
|
|
break;
|
|
case INDUSTRY_OIL_GAS_REFINING:
|
|
str = "Oil and gas refining and marketing";
|
|
break;
|
|
case INDUSTRY_THERMAL_COAL:
|
|
str = "Thermal coal";
|
|
break;
|
|
case INDUSTRY_URANIUM:
|
|
str = "Uranium";
|
|
break;
|
|
// Finance
|
|
case INDUSTRY_EXCHANGE_TRADED_FUND:
|
|
str = "Exchange traded fund";
|
|
break;
|
|
case INDUSTRY_ASSETS_MANAGEMENT:
|
|
str = "Assets management";
|
|
break;
|
|
case INDUSTRY_BANKS_DIVERSIFIED:
|
|
str = "Banks - Diversified";
|
|
break;
|
|
case INDUSTRY_BANKS_REGIONAL:
|
|
str = "Banks - Regional";
|
|
break;
|
|
case INDUSTRY_CAPITAL_MARKETS:
|
|
str = "Capital markets";
|
|
break;
|
|
case INDUSTRY_CLOSE_END_FUND_DEBT:
|
|
str = "Closed-End fund - Debt";
|
|
break;
|
|
case INDUSTRY_CLOSE_END_FUND_EQUITY:
|
|
str = "Closed-end fund - Equity";
|
|
break;
|
|
case INDUSTRY_CLOSE_END_FUND_FOREIGN:
|
|
str = "Closed-end fund - Foreign";
|
|
break;
|
|
case INDUSTRY_CREDIT_SERVICES:
|
|
str = "Credit services";
|
|
break;
|
|
case INDUSTRY_FINANCIAL_CONGLOMERATE:
|
|
str = "Financial conglomerates";
|
|
break;
|
|
case INDUSTRY_FINANCIAL_DATA_EXCHANGE:
|
|
str = "Financial data and stock exchange";
|
|
break;
|
|
case INDUSTRY_INSURANCE_BROKERS:
|
|
str = "Insurance brokers";
|
|
break;
|
|
case INDUSTRY_INSURANCE_DIVERSIFIED:
|
|
str = "Insurance - Diversified";
|
|
break;
|
|
case INDUSTRY_INSURANCE_LIFE:
|
|
str = "Insurance - Life";
|
|
break;
|
|
case INDUSTRY_INSURANCE_PROPERTY:
|
|
str = "Insurance - Property and casualty";
|
|
break;
|
|
case INDUSTRY_INSURANCE_REINSURANCE:
|
|
str = "Insurance - Reinsurance";
|
|
break;
|
|
case INDUSTRY_INSURANCE_SPECIALTY:
|
|
str = "Insurance - Specialty";
|
|
break;
|
|
case INDUSTRY_MORTGAGE_FINANCE:
|
|
str = "Mortgage finance";
|
|
break;
|
|
case INDUSTRY_SHELL_COMPANIES:
|
|
str = "Shell companies";
|
|
break;
|
|
// Healthcare
|
|
case INDUSTRY_BIOTECHNOLOGY:
|
|
str = "Biotechnology";
|
|
break;
|
|
case INDUSTRY_DIAGNOSTICS_RESEARCH:
|
|
str = "Diagnostics and research";
|
|
break;
|
|
case INDUSTRY_DRUGS_MANUFACTURERS:
|
|
str = "Drugs manufacturers - general";
|
|
break;
|
|
case INDUSTRY_DRUGS_MANUFACTURERS_SPEC:
|
|
str = "Drugs manufacturers - Specialty and generic";
|
|
break;
|
|
case INDUSTRY_HEALTHCARE_PLANS:
|
|
str = "Healthcare plans";
|
|
break;
|
|
case INDUSTRY_HEALTH_INFORMATION:
|
|
str = "Health information services";
|
|
break;
|
|
case INDUSTRY_MEDICAL_FACILITIES:
|
|
str = "Medical care facilities";
|
|
break;
|
|
case INDUSTRY_MEDICAL_DEVICES:
|
|
str = "Medical devices";
|
|
break;
|
|
case INDUSTRY_MEDICAL_DISTRIBUTION:
|
|
str = "Medical distribution";
|
|
break;
|
|
case INDUSTRY_MEDICAL_INSTRUMENTS:
|
|
str = "Medical instruments and supplies";
|
|
break;
|
|
case INDUSTRY_PHARM_RETAILERS:
|
|
str = "Pharmaceutical retailers";
|
|
break;
|
|
// Industrials
|
|
case INDUSTRY_AEROSPACE_DEFENSE:
|
|
str = "Aerospace and defense";
|
|
break;
|
|
case INDUSTRY_AIRLINES:
|
|
str = "Airlines";
|
|
break;
|
|
case INDUSTRY_AIRPORTS_SERVICES:
|
|
str = "Airports and air services";
|
|
break;
|
|
case INDUSTRY_BUILDING_PRODUCTS:
|
|
str = "Building products and equipment";
|
|
break;
|
|
case INDUSTRY_BUSINESS_EQUIPMENT:
|
|
str = "Business equipment and supplies";
|
|
break;
|
|
case INDUSTRY_CONGLOMERATES:
|
|
str = "Conglomerates";
|
|
break;
|
|
case INDUSTRY_CONSULTING_SERVICES:
|
|
str = "Consulting services";
|
|
break;
|
|
case INDUSTRY_ELECTRICAL_EQUIPMENT:
|
|
str = "Electrical equipment and parts";
|
|
break;
|
|
case INDUSTRY_ENGINEERING_CONSTRUCTION:
|
|
str = "Engineering and construction";
|
|
break;
|
|
case INDUSTRY_FARM_HEAVY_MACHINERY:
|
|
str = "Farm and heavy construction machinery";
|
|
break;
|
|
case INDUSTRY_INDUSTRIAL_DISTRIBUTION:
|
|
str = "Industrial distribution";
|
|
break;
|
|
case INDUSTRY_INFRASTRUCTURE_OPERATIONS:
|
|
str = "Infrastructure operations";
|
|
break;
|
|
case INDUSTRY_FREIGHT_LOGISTICS:
|
|
str = "Integrated freight and logistics";
|
|
break;
|
|
case INDUSTRY_MARINE_SHIPPING:
|
|
str = "Marine shipping";
|
|
break;
|
|
case INDUSTRY_METAL_FABRICATION:
|
|
str = "Metal fabrication";
|
|
break;
|
|
case INDUSTRY_POLLUTION_CONTROL:
|
|
str = "Pollution and treatment controls";
|
|
break;
|
|
case INDUSTRY_RAILROADS:
|
|
str = "Railroads";
|
|
break;
|
|
case INDUSTRY_RENTAL_LEASING:
|
|
str = "Rental and leasing services";
|
|
break;
|
|
case INDUSTRY_SECURITY_PROTECTION:
|
|
str = "Security and protection services";
|
|
break;
|
|
case INDUSTRY_SPEALITY_BUSINESS_SERVICES:
|
|
str = "Specialty business services";
|
|
break;
|
|
case INDUSTRY_SPEALITY_MACHINERY:
|
|
str = "Specialty industrial machinery";
|
|
break;
|
|
case INDUSTRY_STUFFING_EMPLOYMENT:
|
|
str = "Stuffing and employment services";
|
|
break;
|
|
case INDUSTRY_TOOLS_ACCESSORIES:
|
|
str = "Tools and accessories";
|
|
break;
|
|
case INDUSTRY_TRUCKING:
|
|
str = "Trucking";
|
|
break;
|
|
case INDUSTRY_WASTE_MANAGEMENT:
|
|
str = "Waste management";
|
|
break;
|
|
// Real estate
|
|
case INDUSTRY_REAL_ESTATE_DEVELOPMENT:
|
|
str = "Real estate - Development";
|
|
break;
|
|
case INDUSTRY_REAL_ESTATE_DIVERSIFIED:
|
|
str = "Real estate - Diversified";
|
|
break;
|
|
case INDUSTRY_REAL_ESTATE_SERVICES:
|
|
str = "Real estate services";
|
|
break;
|
|
case INDUSTRY_REIT_DIVERSIFIED:
|
|
str = "REIT - Diversified";
|
|
break;
|
|
case INDUSTRY_REIT_HEALTCARE:
|
|
str = "REIT - Healthcase facilities";
|
|
break;
|
|
case INDUSTRY_REIT_HOTEL_MOTEL:
|
|
str = "REIT - Hotel and motel";
|
|
break;
|
|
case INDUSTRY_REIT_INDUSTRIAL:
|
|
str = "REIT - Industrial";
|
|
break;
|
|
case INDUSTRY_REIT_MORTAGE:
|
|
str = "REIT - Mortgage";
|
|
break;
|
|
case INDUSTRY_REIT_OFFICE:
|
|
str = "REIT - Office";
|
|
break;
|
|
case INDUSTRY_REIT_RESIDENTAL:
|
|
str = "REIT - Residential";
|
|
break;
|
|
case INDUSTRY_REIT_RETAIL:
|
|
str = "REIT - Retail";
|
|
break;
|
|
case INDUSTRY_REIT_SPECIALITY:
|
|
str = "REIT - Specialty";
|
|
break;
|
|
// Technology
|
|
case INDUSTRY_COMMUNICATION_EQUIPMENT:
|
|
str = "Communication equipment";
|
|
break;
|
|
case INDUSTRY_COMPUTER_HARDWARE:
|
|
str = "Computer hardware";
|
|
break;
|
|
case INDUSTRY_CONSUMER_ELECTRONICS:
|
|
str = "Consumer electronics";
|
|
break;
|
|
case INDUSTRY_ELECTRONIC_COMPONENTS:
|
|
str = "Electronic components";
|
|
break;
|
|
case INDUSTRY_ELECTRONIC_DISTRIBUTION:
|
|
str = "Electronics and computer distribution";
|
|
break;
|
|
case INDUSTRY_IT_SERVICES:
|
|
str = "Information technology services";
|
|
break;
|
|
case INDUSTRY_SCIENTIFIC_INSTRUMENTS:
|
|
str = "Scientific and technical instruments";
|
|
break;
|
|
case INDUSTRY_SEMICONDUCTOR_EQUIPMENT:
|
|
str = "Semiconductor equipment and materials";
|
|
break;
|
|
case INDUSTRY_SEMICONDUCTORS:
|
|
str = "Semiconductors";
|
|
break;
|
|
case INDUSTRY_SOFTWARE_APPLICATION:
|
|
str = "Software - Application";
|
|
break;
|
|
case INDUSTRY_SOFTWARE_INFRASTRUCTURE:
|
|
str = "Software - Infrastructure";
|
|
break;
|
|
case INDUSTRY_SOLAR:
|
|
str = "Solar";
|
|
break;
|
|
// Utilities
|
|
case INDUSTRY_UTILITIES_DIVERSIFIED:
|
|
str = "Utilities - Diversified";
|
|
break;
|
|
case INDUSTRY_UTILITIES_POWERPRODUCERS:
|
|
str = "Utilities - Independent power producers";
|
|
break;
|
|
case INDUSTRY_UTILITIES_RENEWABLE:
|
|
str = "Utilities - Renewable";
|
|
break;
|
|
case INDUSTRY_UTILITIES_REGULATED_ELECTRIC:
|
|
str = "Utilities - Regulated electric";
|
|
break;
|
|
case INDUSTRY_UTILITIES_REGULATED_GAS:
|
|
str = "Utilities - Regulated gas";
|
|
break;
|
|
case INDUSTRY_UTILITIES_REGULATED_WATER:
|
|
str = "Utilities - Regulated water";
|
|
break;
|
|
default:
|
|
str = "Unknown Industry ID";
|
|
break;
|
|
}
|
|
return str;
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| Script program start function |
|
|
//+------------------------------------------------------------------+
|
|
void OnStart()
|
|
{
|
|
string symbol = _Symbol;
|
|
CSymbolInfo m_symbol_info;
|
|
|
|
if(!m_symbol_info.Name(symbol))
|
|
{
|
|
PrintFormat("Error: Failed to initialize CSymbolInfo for symbol '%s'. Error: %d", symbol, GetLastError());
|
|
return;
|
|
}
|
|
|
|
if(!m_symbol_info.Refresh())
|
|
{
|
|
PrintFormat("Error: Failed to refresh symbol data for '%s'. Error: %d", symbol, GetLastError());
|
|
return;
|
|
}
|
|
|
|
Print("--- Symbol Property Checker Started ---");
|
|
PrintFormat("Checking symbol: %s", symbol);
|
|
Print("--- Integer Properties (ENUM_SYMBOL_INFO_INTEGER) ---");
|
|
|
|
ENUM_SYMBOL_INFO_INTEGER int_properties[] =
|
|
{
|
|
SYMBOL_SUBSCRIPTION_DELAY,
|
|
SYMBOL_SECTOR,
|
|
SYMBOL_INDUSTRY,
|
|
SYMBOL_CUSTOM,
|
|
SYMBOL_BACKGROUND_COLOR,
|
|
SYMBOL_CHART_MODE,
|
|
SYMBOL_EXIST,
|
|
SYMBOL_SELECT,
|
|
SYMBOL_VISIBLE,
|
|
SYMBOL_SESSION_DEALS,
|
|
SYMBOL_SESSION_BUY_ORDERS,
|
|
SYMBOL_SESSION_SELL_ORDERS,
|
|
SYMBOL_VOLUME,
|
|
SYMBOL_VOLUMEHIGH,
|
|
SYMBOL_VOLUMELOW,
|
|
SYMBOL_TIME,
|
|
SYMBOL_TIME_MSC,
|
|
SYMBOL_DIGITS,
|
|
SYMBOL_SPREAD_FLOAT,
|
|
SYMBOL_SPREAD,
|
|
SYMBOL_TICKS_BOOKDEPTH,
|
|
SYMBOL_TRADE_CALC_MODE,
|
|
SYMBOL_TRADE_MODE,
|
|
SYMBOL_START_TIME,
|
|
SYMBOL_EXPIRATION_TIME,
|
|
SYMBOL_TRADE_STOPS_LEVEL,
|
|
SYMBOL_TRADE_FREEZE_LEVEL,
|
|
SYMBOL_TRADE_EXEMODE,
|
|
SYMBOL_SWAP_MODE,
|
|
SYMBOL_SWAP_ROLLOVER3DAYS,
|
|
SYMBOL_MARGIN_HEDGED_USE_LEG,
|
|
SYMBOL_EXPIRATION_MODE,
|
|
SYMBOL_FILLING_MODE,
|
|
SYMBOL_ORDER_MODE,
|
|
SYMBOL_ORDER_GTC_MODE,
|
|
SYMBOL_OPTION_MODE,
|
|
SYMBOL_OPTION_RIGHT
|
|
};
|
|
|
|
long value;
|
|
string display_value;
|
|
string result_str;
|
|
|
|
for(int i = 0; i < ArraySize(int_properties); i++)
|
|
{
|
|
ResetLastError();
|
|
|
|
bool success = m_symbol_info.InfoInteger(int_properties[i], value);
|
|
int error = GetLastError();
|
|
|
|
if(success)
|
|
{
|
|
switch(int_properties[i])
|
|
{
|
|
case SYMBOL_TRADE_CALC_MODE:
|
|
display_value = m_symbol_info.TradeCalcModeDescription();
|
|
break;
|
|
case SYMBOL_TRADE_MODE:
|
|
display_value = m_symbol_info.TradeModeDescription();
|
|
break;
|
|
case SYMBOL_TRADE_EXEMODE:
|
|
display_value = m_symbol_info.TradeExecutionDescription();
|
|
break;
|
|
case SYMBOL_SWAP_MODE:
|
|
display_value = m_symbol_info.SwapModeDescription();
|
|
break;
|
|
case SYMBOL_SWAP_ROLLOVER3DAYS :
|
|
display_value = m_symbol_info.SwapRollover3daysDescription();
|
|
break;
|
|
case SYMBOL_SELECT:
|
|
display_value = m_symbol_info.Select() ? "True" : "False";
|
|
break;
|
|
case SYMBOL_VISIBLE:
|
|
display_value = (bool)value ? "True" : "False";
|
|
break;
|
|
case SYMBOL_CUSTOM:
|
|
display_value = (bool)value ? "True" : "False";
|
|
break;
|
|
case SYMBOL_EXIST:
|
|
display_value = (bool)value ? "True" : "False";
|
|
break;
|
|
case SYMBOL_SPREAD_FLOAT:
|
|
display_value = m_symbol_info.SpreadFloat() ? "True" : "False";
|
|
break;
|
|
case SYMBOL_MARGIN_HEDGED_USE_LEG :
|
|
display_value = m_symbol_info.MarginHedgedUseLeg() ? "True" : "False";
|
|
break;
|
|
case SYMBOL_START_TIME:
|
|
display_value = TimeToString(m_symbol_info.StartTime(), TIME_DATE|TIME_SECONDS);
|
|
break;
|
|
case SYMBOL_EXPIRATION_TIME:
|
|
display_value = TimeToString(m_symbol_info.ExpirationTime(), TIME_DATE|TIME_SECONDS);
|
|
break;
|
|
case SYMBOL_TIME:
|
|
display_value = TimeToString(m_symbol_info.Time(), TIME_DATE|TIME_SECONDS);
|
|
break;
|
|
case SYMBOL_TIME_MSC:
|
|
{
|
|
datetime seconds_part = (datetime)(value / 1000);
|
|
long milliseconds_part = value % 1000;
|
|
display_value = StringFormat("%s.%03d", TimeToString(seconds_part, TIME_DATE|TIME_SECONDS), milliseconds_part);
|
|
}
|
|
break;
|
|
case SYMBOL_DIGITS:
|
|
display_value = (string)m_symbol_info.Digits();
|
|
break;
|
|
case SYMBOL_SPREAD:
|
|
display_value = (string)m_symbol_info.Spread();
|
|
break;
|
|
case SYMBOL_TICKS_BOOKDEPTH:
|
|
display_value = (string)m_symbol_info.TicksBookDepth();
|
|
break;
|
|
case SYMBOL_TRADE_STOPS_LEVEL:
|
|
display_value = (string)m_symbol_info.StopsLevel();
|
|
break;
|
|
case SYMBOL_TRADE_FREEZE_LEVEL:
|
|
display_value = (string)m_symbol_info.FreezeLevel();
|
|
break;
|
|
case SYMBOL_VOLUME:
|
|
display_value = (string)m_symbol_info.Volume();
|
|
break;
|
|
case SYMBOL_VOLUMEHIGH:
|
|
display_value = (string)m_symbol_info.VolumeHigh();
|
|
break;
|
|
case SYMBOL_VOLUMELOW:
|
|
display_value = (string)m_symbol_info.VolumeLow();
|
|
break;
|
|
case SYMBOL_ORDER_MODE:
|
|
display_value = (string)value;
|
|
break;
|
|
case SYMBOL_SECTOR:
|
|
display_value = GetSymbolSectorDescription((int)value);
|
|
break;
|
|
case SYMBOL_INDUSTRY:
|
|
display_value = GetSymbolIndustryDescription((int)value);
|
|
break;
|
|
default:
|
|
display_value = (string)value;
|
|
break;
|
|
}
|
|
result_str = StringFormat("Property: %s, Status: SUPPORTED, Value: %s",
|
|
EnumToString(int_properties[i]), display_value);
|
|
Print(result_str);
|
|
}
|
|
else
|
|
{
|
|
result_str = StringFormat("Property: %s, Status: QUERY FAILED (Error: %d)",
|
|
EnumToString(int_properties[i]), error);
|
|
Print(result_str);
|
|
}
|
|
}
|
|
Print("--- Check Completed ---");
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
//+------------------------------------------------------------------+
|