//+------------------------------------------------------------------+ //| PropertiesSet.mqh | //| Copyright 2018, Orangetree | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2018, Orangetree" #property link "https://www.mql5.com" void SetProperties(string symbol) { int handle =FileOpen("Specifications.txt",FILE_ANSI|FILE_TXT|FILE_READ); if(handle==INVALID_HANDLE) { Alert("Can't open Specifications.txt"); return; } string str=""; string split[]; int sub=0; ushort u_sep=StringGetCharacter(",",0);; while(!FileIsEnding(handle)) { str =FileReadString(handle); //--- Пропуск строк ------------------------+ if(str=="") continue; if(StringFind(str,"//")<10) continue; //------------------------------------------+ sub =StringSplit(str,u_sep,split); if(sub<2) continue; Properties(symbol,split[0],split[1]); } } void Properties(string name,string str1,string str2) { int n =StringTrimLeft(str1); n =StringTrimRight(str1); n =StringTrimLeft(str2); n =StringTrimRight(str2); if(str1=="SYMBOL_CUSTOM") { if(str2=="0"||str2=="false"){CustomSymbolSetInteger(name,SYMBOL_CUSTOM,false);} else {CustomSymbolSetInteger(name,SYMBOL_CUSTOM,true);} return; } if(str1=="SYMBOL_BACKGROUND_COLOR") { CustomSymbolSetInteger(name,SYMBOL_BACKGROUND_COLOR,StringToInteger(str2)); return; } if(str1=="SYMBOL_CHART_MODE") { if(str2=="SYMBOL_CHART_MODE_BID"){CustomSymbolSetInteger(name,SYMBOL_CHART_MODE,SYMBOL_CHART_MODE_BID);} if(str2=="SYMBOL_CHART_MODE_LAST"){CustomSymbolSetInteger(name,SYMBOL_CHART_MODE,SYMBOL_CHART_MODE_LAST);} return; } if(str1=="SYMBOL_SELECT") { if((str2=="0")||(str2=="false")){CustomSymbolSetInteger(name,SYMBOL_SELECT,true);} else{CustomSymbolSetInteger(name,SYMBOL_SELECT,false);} } if(str1=="SYMBOL_VISIBLE") { if(str2=="false"||str2=="0"){CustomSymbolSetInteger(name,SYMBOL_VISIBLE,false);} else{CustomSymbolSetInteger(name,SYMBOL_VISIBLE,true);} return; } if(str1=="SYMBOL_SESSION_DEALS") { CustomSymbolSetInteger(name,SYMBOL_SESSION_DEALS,StringToInteger(str2)); return; } if(str1=="SYMBOL_SESSION_BUY_ORDERS") { CustomSymbolSetInteger(name,SYMBOL_SESSION_BUY_ORDERS,StringToInteger(str2)); return; } if(str1=="SYMBOL_SESSION_SELL_ORDERS") { CustomSymbolSetInteger(name,SYMBOL_SESSION_SELL_ORDERS,StringToInteger(str2)); return; } if(str1=="SYMBOL_VOLUME") { CustomSymbolSetInteger(name,SYMBOL_VOLUME,StringToInteger(str2)); return; } if(str1=="SYMBOL_VOLUMEHIGH") { CustomSymbolSetInteger(name,SYMBOL_VOLUMEHIGH,StringToInteger(str2)); return; } if(str1=="SYMBOL_VOLUMELOW") { CustomSymbolSetInteger(name,SYMBOL_VOLUMELOW,StringToInteger(str2)); return; } if(str1=="SYMBOL_TIME") { CustomSymbolSetInteger(name,SYMBOL_TIME,StringToTime(str2)); return; } if(str1=="SYMBOL_DIGITS") { CustomSymbolSetInteger(name,SYMBOL_DIGITS,StringToInteger(str2)); return; } if(str1=="SYMBOL_SPREAD") { CustomSymbolSetInteger(name,SYMBOL_SPREAD,StringToInteger(str2)); return; } if(str1=="SYMBOL_SPREAD_FLOAT") { if(str2=="false"||str2=="0") {CustomSymbolSetInteger(name,SYMBOL_SPREAD_FLOAT,false);} else{CustomSymbolSetInteger(name,SYMBOL_SPREAD_FLOAT,true);} return; } if(str1=="SYMBOL_TICKS_BOOKDEPTH") { CustomSymbolSetInteger(name,SYMBOL_TICKS_BOOKDEPTH,StringToInteger(str2)); return; } if(str1=="SYMBOL_TRADE_CALC_MODE") { if(str2=="SYMBOL_CALC_MODE_FOREX"||str2=="0") {CustomSymbolSetInteger(name,SYMBOL_TRADE_CALC_MODE,SYMBOL_CALC_MODE_FOREX);return;} if(str2=="SYMBOL_CALC_MODE_FOREX_NO_LEVERAGE") {CustomSymbolSetInteger(name,SYMBOL_TRADE_CALC_MODE,SYMBOL_CALC_MODE_FOREX_NO_LEVERAGE);return;} if(str2=="SYMBOL_CALC_MODE_FUTURES") {CustomSymbolSetInteger(name,SYMBOL_TRADE_CALC_MODE,SYMBOL_CALC_MODE_FUTURES);return;} if(str2=="SYMBOL_CALC_MODE_CFD") {CustomSymbolSetInteger(name,SYMBOL_TRADE_CALC_MODE,SYMBOL_CALC_MODE_CFD);return;} if(str2=="SYMBOL_CALC_MODE_CFDINDEX") {CustomSymbolSetInteger(name,SYMBOL_TRADE_CALC_MODE,SYMBOL_CALC_MODE_CFDINDEX);return;} if(str2=="SYMBOL_CALC_MODE_CFDLEVERAGE") {CustomSymbolSetInteger(name,SYMBOL_TRADE_CALC_MODE,SYMBOL_CALC_MODE_CFDLEVERAGE);return;} if(str2=="SYMBOL_CALC_MODE_EXCH_STOCKS") {CustomSymbolSetInteger(name,SYMBOL_TRADE_CALC_MODE,SYMBOL_CALC_MODE_EXCH_STOCKS);return;} if(str2=="SYMBOL_CALC_MODE_EXCH_FUTURES") {CustomSymbolSetInteger(name,SYMBOL_TRADE_CALC_MODE,SYMBOL_CALC_MODE_EXCH_FUTURES);return;} if(str2=="SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS") {CustomSymbolSetInteger(name,SYMBOL_TRADE_CALC_MODE,SYMBOL_CALC_MODE_EXCH_FUTURES);return;} if(str2=="SYMBOL_CALC_MODE_EXCH_FUTURES") {CustomSymbolSetInteger(name,SYMBOL_TRADE_CALC_MODE,SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS);return;} return; } if(str1=="SYMBOL_TRADE_MODE") { if(str2=="SYMBOL_TRADE_MODE_DISABLED") {CustomSymbolSetInteger(name,SYMBOL_TRADE_MODE,SYMBOL_TRADE_MODE_DISABLED);return;} if(str2=="SYMBOL_TRADE_MODE_LONGONLY") {CustomSymbolSetInteger(name,SYMBOL_TRADE_MODE,SYMBOL_TRADE_MODE_LONGONLY);return;} if(str2=="SYMBOL_TRADE_MODE_SHORTONLY") {CustomSymbolSetInteger(name,SYMBOL_TRADE_MODE,SYMBOL_TRADE_MODE_SHORTONLY);return;} if(str2=="SYMBOL_TRADE_MODE_CLOSEONLY") {CustomSymbolSetInteger(name,SYMBOL_TRADE_MODE,SYMBOL_TRADE_MODE_CLOSEONLY);return;} if(str2=="SYMBOL_TRADE_MODE_FULL") {CustomSymbolSetInteger(name,SYMBOL_TRADE_MODE,SYMBOL_TRADE_MODE_FULL);return;} return; } if(str1=="SYMBOL_START_TIME") { CustomSymbolSetInteger(name,SYMBOL_START_TIME,StringToTime(str2)); return; } if(str1=="SYMBOL_EXPIRATION_TIME") { CustomSymbolSetInteger(name,SYMBOL_EXPIRATION_TIME,StringToTime(str2)); return; } if(str1=="SYMBOL_TRADE_STOPS_LEVEL") { CustomSymbolSetInteger(name,SYMBOL_TRADE_STOPS_LEVEL,StringToInteger(str2)); return; } if(str1=="SYMBOL_TRADE_FREEZE_LEVE") { CustomSymbolSetInteger(name,SYMBOL_TRADE_FREEZE_LEVEL,StringToInteger(str2)); return; } if(str1=="SYMBOL_TRADE_EXEMODE") { if(str2=="SYMBOL_TRADE_EXECUTION_REQUEST") {CustomSymbolSetInteger(name,SYMBOL_TRADE_EXEMODE,SYMBOL_TRADE_EXECUTION_REQUEST);return;} if(str2=="SYMBOL_TRADE_EXECUTION_INSTANT") {CustomSymbolSetInteger(name,SYMBOL_TRADE_EXEMODE,SYMBOL_TRADE_EXECUTION_INSTANT);return;} if(str2=="SYMBOL_TRADE_EXECUTION_MARKET") {CustomSymbolSetInteger(name,SYMBOL_TRADE_EXEMODE,SYMBOL_TRADE_EXECUTION_MARKET);return;} if(str2=="SYMBOL_TRADE_EXECUTION_EXCHANGE") {CustomSymbolSetInteger(name,SYMBOL_TRADE_EXEMODE,SYMBOL_TRADE_EXECUTION_EXCHANGE);return;} return; } if(str1=="SYMBOL_SWAP_MODE") { if(str2=="SYMBOL_SWAP_MODE_DISABLED") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SYMBOL_SWAP_MODE_DISABLED);return;} if(str2=="SYMBOL_SWAP_MODE_POINTS") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SYMBOL_SWAP_MODE_POINTS);return;} if(str2=="SYMBOL_SWAP_MODE_CURRENCY_SYMBOL") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SYMBOL_SWAP_MODE_CURRENCY_SYMBOL);return;} if(str2=="SYMBOL_SWAP_MODE_CURRENCY_MARGIN") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SYMBOL_SWAP_MODE_CURRENCY_MARGIN);return;} if(str2=="SYMBOL_SWAP_MODE_CURRENCY_DEPOSIT") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SYMBOL_SWAP_MODE_CURRENCY_DEPOSIT);return;} if(str2=="SYMBOL_SWAP_MODE_INTEREST_CURRENT") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SYMBOL_SWAP_MODE_INTEREST_CURRENT);return;} if(str2=="SYMBOL_SWAP_MODE_INTEREST_OPEN") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SYMBOL_SWAP_MODE_INTEREST_OPEN);return;} if(str2=="SYMBOL_SWAP_MODE_REOPEN_CURRENT") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SYMBOL_SWAP_MODE_REOPEN_CURRENT);return;} if(str2=="SYMBOL_SWAP_MODE_REOPEN_BID") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SYMBOL_SWAP_MODE_REOPEN_BID);return;} return; } if(str1=="SYMBOL_SWAP_ROLLOVER3DAYS") { if(str2=="SUNDAY") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SUNDAY);return;} if(str2=="MONDAY") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,MONDAY);return;} if(str2=="TUESDAY") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,TUESDAY);return;} if(str2=="WEDNESDAY") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,WEDNESDAY);return;} if(str2=="THURSDAY") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,THURSDAY);return;} if(str2=="FRIDAY") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,FRIDAY);return;} if(str2=="SATURDAY") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SATURDAY);return;} return; } if(str1=="SYMBOL_MARGIN_HEDGED_USE_LEG") { if(str2=="false"||str2=="0") {CustomSymbolSetInteger(name,SYMBOL_MARGIN_HEDGED_USE_LEG,false);return;} else{CustomSymbolSetInteger(name,SYMBOL_MARGIN_HEDGED_USE_LEG,true);return;} } if(str1=="SYMBOL_EXPIRATION_MODE") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,StringToInteger(str2));return;} if(str1=="SYMBOL_FILLING_MODE") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,StringToInteger(str2));return;} if(str1=="SYMBOL_ORDER_MODE") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,StringToInteger(str2));return;} if(str1=="SYMBOL_ORDER_GTC_MOD") { if(str2=="SYMBOL_ORDERS_GTC") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SYMBOL_ORDERS_GTC);return;} if(str2=="SYMBOL_ORDERS_DAILY") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SYMBOL_ORDERS_DAILY);return;} if(str2=="SYMBOL_ORDERS_DAILY_EXCLUDING_STOPS") {CustomSymbolSetInteger(name,SYMBOL_SWAP_MODE,SYMBOL_ORDERS_DAILY_EXCLUDING_STOPS);return;} } if(str1=="SYMBOL_OPTION_MODE") { if(str2=="SYMBOL_OPTION_MODE_EUROPEAN") {CustomSymbolSetInteger(name,SYMBOL_OPTION_MODE,SYMBOL_OPTION_MODE_EUROPEAN);return;} if(str2=="SYMBOL_OPTION_MODE_AMERICAN") {CustomSymbolSetInteger(name,SYMBOL_OPTION_MODE,SYMBOL_OPTION_MODE_AMERICAN);return;} return; } if(str1=="SYMBOL_OPTION_RIGHT") { if(str2=="SYMBOL_OPTION_RIGHT_CALL") {CustomSymbolSetInteger(name,SYMBOL_OPTION_RIGHT,SYMBOL_OPTION_RIGHT_CALL);return;} if(str2=="SYMBOL_OPTION_RIGHT_PUT") {CustomSymbolSetInteger(name,SYMBOL_OPTION_RIGHT,SYMBOL_OPTION_RIGHT_PUT);return;} return; } //-----------Double Properties-----------------------------------------------------------+ if(str1=="SYMBOL_BID") {CustomSymbolSetDouble(name,SYMBOL_BID,StringToDouble(str2));return;} if(str1=="SYMBOL_BIDHIGH") {CustomSymbolSetDouble(name,SYMBOL_BIDHIGH,StringToDouble(str2));return;} if(str1=="SYMBOL_BIDLOW") {CustomSymbolSetDouble(name,SYMBOL_BIDLOW,StringToDouble(str2));return;} if(str1=="SYMBOL_ASK") {CustomSymbolSetDouble(name,SYMBOL_ASK,StringToDouble(str2));return;} if(str1=="SYMBOL_ASKHIGH") {CustomSymbolSetDouble(name,SYMBOL_ASKHIGH,StringToDouble(str2));return;} if(str1=="SYMBOL_ASKLOW") {CustomSymbolSetDouble(name,SYMBOL_ASKLOW,StringToDouble(str2));return;} if(str1=="SYMBOL_LAST") {CustomSymbolSetDouble(name,SYMBOL_LAST,StringToDouble(str2));return;} if(str1=="SYMBOL_LASTHIGH") {CustomSymbolSetDouble(name,SYMBOL_LASTHIGH,StringToDouble(str2));return;} if(str1=="SYMBOL_LASTLOW") {CustomSymbolSetDouble(name,SYMBOL_LASTLOW,StringToDouble(str2));return;} if(str1=="SYMBOL_VOLUME_REAL") {CustomSymbolSetDouble(name,SYMBOL_VOLUME_REAL,StringToDouble(str2));return;} if(str1=="SYMBOL_VOLUMELOW_REAL") {CustomSymbolSetDouble(name,SYMBOL_VOLUMELOW_REAL,StringToDouble(str2));return;} if(str1=="SYMBOL_VOLUMEHIGH_REAL") {CustomSymbolSetDouble(name,SYMBOL_VOLUMEHIGH_REAL,StringToDouble(str2));return;} if(str1=="name,SYMBOL_OPTION_STRIKE") {CustomSymbolSetDouble(name,SYMBOL_OPTION_STRIKE,StringToDouble(str2));return;} if(str1=="SYMBOL_POINT") {CustomSymbolSetDouble(name,SYMBOL_POINT,StringToDouble(str2));return;} if(str1=="SYMBOL_TRADE_TICK_VALUE") {CustomSymbolSetDouble(name,SYMBOL_TRADE_TICK_VALUE,StringToDouble(str2));return;} if(str1=="SYMBOL_TRADE_TICK_VALUE_PROFIT") {CustomSymbolSetDouble(name,SYMBOL_TRADE_TICK_VALUE_PROFIT,StringToDouble(str2));return;} if(str1=="SYMBOL_TRADE_TICK_VALUE_LOSS") {CustomSymbolSetDouble(name,SYMBOL_TRADE_TICK_VALUE_LOSS,StringToDouble(str2));return;} if(str1=="SYMBOL_TRADE_TICK_SIZE") {CustomSymbolSetDouble(name,SYMBOL_TRADE_TICK_SIZE,StringToDouble(str2));return;} if(str1=="SYMBOL_TRADE_CONTRACT_SIZE") {CustomSymbolSetDouble(name,SYMBOL_TRADE_CONTRACT_SIZE,StringToDouble(str2));return;} if(str1=="SYMBOL_TRADE_ACCRUED_INTEREST") {CustomSymbolSetDouble(name,SYMBOL_TRADE_ACCRUED_INTEREST,StringToDouble(str2));return;} if(str1=="SYMBOL_TRADE_FACE_VALUE") {CustomSymbolSetDouble(name,SYMBOL_TRADE_FACE_VALUE,StringToDouble(str2));return;} if(str1=="SYMBOL_TRADE_LIQUIDITY_RATE") {CustomSymbolSetDouble(name,SYMBOL_TRADE_LIQUIDITY_RATE,StringToDouble(str2));return;} if(str1=="SYMBOL_VOLUME_MIN") {CustomSymbolSetDouble(name,SYMBOL_VOLUME_MIN,StringToDouble(str2));return;} if(str1=="SYMBOL_VOLUME_MAX") {CustomSymbolSetDouble(name,SYMBOL_VOLUME_MAX,StringToDouble(str2));return;} if(str1=="SYMBOL_VOLUME_STEP") {CustomSymbolSetDouble(name,SYMBOL_VOLUME_STEP,StringToDouble(str2));return;} if(str1=="SYMBOL_VOLUME_LIMIT") {CustomSymbolSetDouble(name,SYMBOL_VOLUME_LIMIT,StringToDouble(str2));return;} if(str1=="SYMBOL_SWAP_LONG") {CustomSymbolSetDouble(name,SYMBOL_SWAP_LONG,StringToDouble(str2));return;} if(str1=="SYMBOL_SWAP_SHORT") {CustomSymbolSetDouble(name,SYMBOL_SWAP_SHORT,StringToDouble(str2));return;} if(str1=="SYMBOL_MARGIN_INITIA") {CustomSymbolSetDouble(name,SYMBOL_MARGIN_INITIAL,StringToDouble(str2));return;} if(str1=="SYMBOL_MARGIN_MAINTENANCE") {CustomSymbolSetDouble(name,SYMBOL_MARGIN_MAINTENANCE,StringToDouble(str2));return;} if(str1=="SYMBOL_SESSION_VOLUME") {CustomSymbolSetDouble(name,SYMBOL_SESSION_VOLUME,StringToDouble(str2));return;} if(str1=="SYMBOL_SESSION_TURNOVER") {CustomSymbolSetDouble(name,SYMBOL_SESSION_TURNOVER,StringToDouble(str2));return;} if(str1=="SYMBOL_SESSION_INTEREST") {CustomSymbolSetDouble(name,SYMBOL_SESSION_INTEREST,StringToDouble(str2));return;} if(str1=="SYMBOL_SESSION_BUY_ORDERS_VOLUME") {CustomSymbolSetDouble(name,SYMBOL_SESSION_BUY_ORDERS_VOLUME,StringToDouble(str2));return;} if(str1=="SYMBOL_SESSION_SELL_ORDERS_VOLUME") {CustomSymbolSetDouble(name,SYMBOL_SESSION_SELL_ORDERS_VOLUME,StringToDouble(str2));return;} if(str1=="SYMBOL_SESSION_OPEN") {CustomSymbolSetDouble(name,SYMBOL_SESSION_OPEN,StringToDouble(str2));return;} if(str1=="SYMBOL_SESSION_CLOSE") {CustomSymbolSetDouble(name,SYMBOL_SESSION_CLOSE,StringToDouble(str2));return;} if(str1=="SYMBOL_SESSION_AW") {CustomSymbolSetDouble(name,SYMBOL_SESSION_AW,StringToDouble(str2));return;} if(str1=="SYMBOL_SESSION_PRICE_SETTLEMENT") {CustomSymbolSetDouble(name,SYMBOL_SESSION_PRICE_SETTLEMENT,StringToDouble(str2));return;} if(str1=="SYMBOL_SESSION_PRICE_LIMIT_MIN") {CustomSymbolSetDouble(name,SYMBOL_SESSION_PRICE_LIMIT_MIN,StringToDouble(str2));return;} if(str1=="SYMBOL_SESSION_PRICE_LIMIT_MAX") {CustomSymbolSetDouble(name,SYMBOL_SESSION_PRICE_LIMIT_MAX,StringToDouble(str2));return;} if(str1=="SYMBOL_MARGIN_HEDGED") {CustomSymbolSetDouble(name,SYMBOL_MARGIN_HEDGED,StringToDouble(str2));return;} //-----------String Properties------------------------------------------------------- if(str1=="SYMBOL_CURRENCY_BASE") {CustomSymbolSetString(name,SYMBOL_CURRENCY_BASE,str2);return;} if(str1=="SYMBOL_BASIS") {CustomSymbolSetString(name,SYMBOL_BASIS,str2);return;} if(str1=="SYMBOL_CURRENCY_PROFIT") {CustomSymbolSetString(name,SYMBOL_CURRENCY_PROFIT,str2);return;} if(str1=="SYMBOL_CURRENCY_MARGIN") {CustomSymbolSetString(name,SYMBOL_CURRENCY_MARGIN,str2);return;} if(str1=="SYMBOL_BANK") {CustomSymbolSetString(name,SYMBOL_BANK,str2);return;} if(str1=="SYMBOL_DESCRIPTION") {CustomSymbolSetString(name,SYMBOL_DESCRIPTION,str2);return;} if(str1=="SYMBOL_FORMULA") {CustomSymbolSetString(name,SYMBOL_FORMULA,str2);return;} if(str1=="SYMBOL_ISIN") {CustomSymbolSetString(name,SYMBOL_ISIN,str2);return;} if(str1=="SYMBOL_PAGE") {CustomSymbolSetString(name,SYMBOL_PAGE,str2);return;} if(str1=="SYMBOL_PATH") {CustomSymbolSetString(name,SYMBOL_PATH,str2);return;} }