From 864ba1d5a060f21590077e11012c77b6a4ce2427 Mon Sep 17 00:00:00 2001 From: Toh4iem9 Date: Sun, 10 Aug 2025 18:21:47 +0200 Subject: [PATCH] new files added --- .../MyScripts/SymbolInfoIntegerChecker.mq5 | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 Scripts/MyScripts/SymbolInfoIntegerChecker.mq5 diff --git a/Scripts/MyScripts/SymbolInfoIntegerChecker.mq5 b/Scripts/MyScripts/SymbolInfoIntegerChecker.mq5 new file mode 100644 index 0000000..e6200a6 --- /dev/null +++ b/Scripts/MyScripts/SymbolInfoIntegerChecker.mq5 @@ -0,0 +1,86 @@ +//+------------------------------------------------------------------+ +//| 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.01" +#property description "Checks and displays all INTEGER properties for the current symbol." + +#include +//--- MODIFICATION: Including our new helper file +#include "SymbolInfoDescriptions.mqh" + +//--- Array of all integer properties to check +const ENUM_SYMBOL_INFO_INTEGER G_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 + }; + +//+------------------------------------------------------------------+ +//| Script program start function | +//+------------------------------------------------------------------+ +void OnStart() + { + string symbol = _Symbol; + CSymbolInfo m_symbol_info; + + if(!m_symbol_info.Name(symbol)) + { + PrintFormat("Error: Failed to set symbol '%s'.", symbol); + return; + } +// Refresh data to get the latest values + m_symbol_info.Refresh(); + + Print("--- Symbol Property Checker Started ---"); + PrintFormat("Checking symbol: %s", symbol); + Print("------------------------------------------------------------------"); + + long value; + string result_str; + + for(int i = 0; i < ArraySize(G_INT_PROPERTIES); i++) + { + ResetLastError(); + bool success = m_symbol_info.InfoInteger(G_INT_PROPERTIES[i], value); + int error = GetLastError(); + + string property_name = EnumToString(G_INT_PROPERTIES[i]); + string property_name_padded = StringFormat("%-35s", property_name); + + if(success) + { + //--- MODIFICATION: Calling the helper function to get the formatted value + string display_value = FormatIntegerValue(m_symbol_info, G_INT_PROPERTIES[i], value); + + result_str = StringFormat("%s | Status: SUPPORTED | Value: %s", + property_name_padded, + display_value); + Print(result_str); + } + else + { + result_str = StringFormat("%s | Status: FAILED | Error: %d", + property_name_padded, + error); + Print(result_str); + } + } + Print("------------------------------------------------------------------"); + Print("--- Check Completed ---"); + } +//+------------------------------------------------------------------+ +//+------------------------------------------------------------------+