Библиотеки: Virtual - страница 77 1...707172737475767778798081828384...90 Новый комментарий hini 2025.06.30 12:26 #761 Я думаю, это может быть вызвано тем, что ваш инструмент XAUUSD имеет 2 знака после запятой, а мой — 3 знака после запятой. int OnStart() { // _Symbol XAUUSD ENUM_SYMBOL_SWAP_MODE swap_mode = (ENUM_SYMBOL_SWAP_MODE)SymbolInfoInteger(_Symbol, SYMBOL_SWAP_MODE); Print(_Symbol," swap_mode = ", EnumToString(swap_mode)); double swap = OrderCalcSwap(ORDER_TYPE_BUY, _Symbol, 0.01); Print("swap = ", swap); Print("SYMBOL_POINT = ", SymbolInfoDouble(_Symbol, SYMBOL_POINT)); Print("SYMBOL_DIGITS = ", SymbolInfoInteger(_Symbol, SYMBOL_DIGITS)); Print("SYMBOL_TRADE_TICK_SIZE = ", SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE)); Print("SYMBOL_TRADE_TICK_VALUE = ", SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE)); Print("TickValue / TickSize = ", SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE)); return(INIT_SUCCEEDED); } Файлы: TestSwaps2.mq5 44 kb fxsaber 2025.06.30 12:50 #762 hini #: Это странно. Можете ли вы запустить этот код и посмотреть, что он выводит? TestSwaps2 (XAUUSD,H1) XAUUSD swap_mode = SYMBOL_SWAP_MODE_POINTS TestSwaps2 (XAUUSD,H1) swap = -0.8661574024463052 TestSwaps2 (XAUUSD,H1) SYMBOL_POINT = 0.01 TestSwaps2 (XAUUSD,H1) SYMBOL_DIGITS = 2 TestSwaps2 (XAUUSD,H1) SYMBOL_TRADE_TICK_SIZE = 0.01 TestSwaps2 (XAUUSD,H1) SYMBOL_TRADE_TICK_VALUE = 1.5308543698237986 TestSwaps2 (XAUUSD,H1) TickValue / TickSize = 153.08543698237986 На будущее, все спецификации. Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий Bybit MT5 fxsaber, 2025.05.29 07:12 #property script_show_inputs input bool inFull = false; #include <PrintXYZ.mqh> // https://www.mql5.com/en/code/56055 void OnStart() { PrintAccount(); int Count = 1; for (int i = 0; i < SymbolsTotal(true); i++) { const string Symb = SymbolName(i, true); if (SymbolInfoInteger(Symb, SYMBOL_TIME) > TimeCurrent() - 3600) { Print(IntegerToString(Count++, 3, '0') + ": " + Symb + " - " + SymbolInfoString(Symb, SYMBOL_DESCRIPTION)); if (inFull) PrintSymbol(Symb); } } } fxsaber 2025.06.30 12:51 #763 hini #: мой — 3 знака после запятой. Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий Библиотеки: Virtual hini, 2025.06.30 11:20я могу предоставить такой. Наверное, будет быстрее, если дадите доступ к этому счету. hini 2025.06.30 12:53 #764 fxsaber #: Наверное, будет быстрее, если дадите доступ к этому счету. Отправлено в личное сообщение hini 2025.06.30 13:07 #765 fxsaber #: На будущее, все спецификации. 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) XAUUSD, Gold vs US Dollar 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SymbolInfoInteger(symbol,ENUM_SYMBOL_INFO_INTEGER): 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_SELECT = 1 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_VOLUME = 0 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_VOLUMEHIGH = 0 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_VOLUMELOW = 0 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_TIME = 2025.06.30 13:03:55 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_DIGITS = 3 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_SPREAD = 37 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_TICKS_BOOKDEPTH = 0 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_TRADE_CALC_MODE = SYMBOL_CALC_MODE_FOREX(0) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_TRADE_MODE = SYMBOL_TRADE_MODE_FULL(4) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_TRADE_STOPS_LEVEL = 0 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_TRADE_FREEZE_LEVEL = 0 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_TRADE_EXEMODE = SYMBOL_TRADE_EXECUTION_MARKET(2) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_SWAP_MODE = SYMBOL_SWAP_MODE_POINTS(1) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_SWAP_ROLLOVER3DAYS = WEDNESDAY(3) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_SPREAD_FLOAT = 1 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_EXPIRATION_MODE = SYMBOL_EXPIRATION_ALL(15) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_FILLING_MODE = SYMBOL_FILLING_IOC|SYMBOL_FILLING_FOK(3) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_START_TIME = 1970.01.01 00:00:00 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_EXPIRATION_TIME = 1970.01.01 00:00:00 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_DEALS = 0 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_BUY_ORDERS = 0 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_SELL_ORDERS = 0 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_ORDER_MODE = SYMBOL_ALL_ORDERS(127) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_OPTION_RIGHT = SYMBOL_OPTION_RIGHT_CALL(0) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_OPTION_MODE = SYMBOL_OPTION_MODE_EUROPEAN(0) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_VISIBLE = 1 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_CUSTOM = 0 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_BACKGROUND_COLOR = clrHoneydew 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_CHART_MODE = SYMBOL_CHART_MODE_BID(0) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_ORDER_GTC_MODE = SYMBOL_ORDERS_GTC(0) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_MARGIN_HEDGED_USE_LEG = 0 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_EXIST = 1 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_TIME_MSC = 2025.06.30 13:03:55.325 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_SECTOR = SECTOR_COMMODITIES(15) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_INDUSTRY = INDUSTRY_COMMODITIES_PRECIOUS(554) 2025.06.30 21:03:56.063 TestSwaps2 (XAUUSD,M1) SYMBOL_SUBSCRIPTION_DELAY = 0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SymbolInfoDouble(symbol,ENUM_SYMBOL_INFO_DOUBLE): 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_BID = 3283.6 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_BIDHIGH = 3296.912 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_BIDLOW = 3259.506 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_ASK = 3283.637 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_ASKHIGH = 3296.949 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_ASKLOW = 3259.543 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_LAST = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_LASTHIGH = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_LASTLOW = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_VOLUME_REAL = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_VOLUMEHIGH_REAL = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_VOLUMELOW_REAL = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_POINT = 0.001 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_TRADE_TICK_VALUE = 0.1 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_TRADE_TICK_SIZE = 0.001 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_TRADE_CONTRACT_SIZE = 100.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_VOLUME_MIN = 0.01 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_VOLUME_MAX = 200.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_VOLUME_STEP = 0.01 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SWAP_LONG = -490.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SWAP_SHORT = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_MARGIN_INITIAL = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_MARGIN_MAINTENANCE = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_MARGIN_LONG = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_MARGIN_SHORT = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_MARGIN_LIMIT = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_MARGIN_STOP = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_MARGIN_STOPLIMIT = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_TRADE_TICK_VALUE_PROFIT = 0.1 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_TRADE_TICK_VALUE_LOSS = 0.1 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_VOLUME_LIMIT = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_VOLUME = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_TURNOVER = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_INTEREST = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_BUY_ORDERS_VOLUME = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_SELL_ORDERS_VOLUME = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_OPEN = 3263.807 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_CLOSE = 3263.856 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_AW = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_PRICE_SETTLEMENT = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_PRICE_LIMIT_MIN = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SESSION_PRICE_LIMIT_MAX = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_OPTION_STRIKE = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_MARGIN_HEDGED = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_TRADE_LIQUIDITY_RATE = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_TRADE_FACE_VALUE = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_TRADE_ACCRUED_INTEREST = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_PRICE_CHANGE = 0.6049 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_PRICE_VOLATILITY = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_PRICE_THEORETICAL = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_PRICE_DELTA = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_PRICE_THETA = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_PRICE_GAMMA = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_PRICE_VEGA = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_PRICE_RHO = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_PRICE_OMEGA = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_PRICE_SENSITIVITY = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SWAP_SUNDAY = 0.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SWAP_MONDAY = 1.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SWAP_TUESDAY = 1.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SWAP_WEDNESDAY = 3.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SWAP_THURSDAY = 1.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SWAP_FRIDAY = 1.0 2025.06.30 21:03:56.065 TestSwaps2 (XAUUSD,M1) SYMBOL_SWAP_SATURDAY = 0.0 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SymbolInfoString(symbol,ENUM_SYMBOL_INFO_STRING): 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_BANK = 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_DESCRIPTION = Gold vs US Dollar 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_PATH = Raw\Forex\XAUUSD 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_CURRENCY_BASE = XAU 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_CURRENCY_PROFIT = USD 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_CURRENCY_MARGIN = XAU 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_ISIN = 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_BASIS = 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_PAGE = 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_FORMULA = 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_CATEGORY = Metals 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_EXCHANGE = 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_COUNTRY = 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_SECTOR_NAME = Commodities 2025.06.30 21:03:56.066 TestSwaps2 (XAUUSD,M1) SYMBOL_INDUSTRY_NAME = Commodities - Precious fxsaber 2025.06.30 13:08 #766 hini #: Отправлено в личное сообщение Спасибо, разбираюсь. hini 2025.06.30 13:14 #767 fxsaber #: Спасибо, разбираюсь. OK fxsaber 2025.06.30 13:45 #768 fxsaber #: Спасибо, разбираюсь. Причина бага была в том, что я забыл про это ускорение. bool Create( const SYMBOL_BASE &SymbolBase, const ENUM_ORDER_TYPE inType, const double &dLots, double inPrice, double dSL, double dTP, const MAGIC_TYPE &iMagicNumber, const string &sComment, const MqlTick &Tick ) { this = SymbolBase; this.Type = inType; this.TickValue *= (this.Lots = ::NormalizeDouble(dLots, 8)); if ((bool)(this.Type & 1)) this.TickValue = -this.TickValue; Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий Библиотеки: Virtual fxsaber, 2025.06.30 09:20 Спасибо за баг-репорт, исправлено. Order_Base.mqh Order.mqh hini 2025.06.30 13:50 #769 fxsaber #: Причина бага была в том, что я забыл про это ускорение. Спасибо, подтвердил, что проблема исправлена. hini 2025.07.01 11:32 #770 Возможно возникновение ошибки деления на ноль Визуальный тестер 1...707172737475767778798081828384...90 Новый комментарий
Я думаю, это может быть вызвано тем, что ваш инструмент XAUUSD имеет 2 знака после запятой, а мой — 3 знака после запятой.
Это странно. Можете ли вы запустить этот код и посмотреть, что он выводит?
На будущее, все спецификации.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Bybit MT5
fxsaber, 2025.05.29 07:12
мой — 3 знака после запятой.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Virtual
hini, 2025.06.30 11:20
я могу предоставить такой.Наверное, будет быстрее, если дадите доступ к этому счету.
Наверное, будет быстрее, если дадите доступ к этому счету.
Отправлено в личное сообщение
На будущее, все спецификации.
Отправлено в личное сообщение
Спасибо, разбираюсь.
Спасибо, разбираюсь.
OK
Спасибо, разбираюсь.
Причина бага была в том, что я забыл про это ускорение.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Virtual
fxsaber, 2025.06.30 09:20
Спасибо за баг-репорт, исправлено.
Причина бага была в том, что я забыл про это ускорение.
Спасибо, подтвердил, что проблема исправлена.
Возможно возникновение ошибки деления на ноль
Визуальный тестер