GetLastError() — функция, возвращающая коды ошибок. Кодовые константы ошибок определены
в файле stderror.mqh. Для вывода текстовых сообщений следует использовать функцию
ErrorDescription(), определенную в файле stdlib.mqh.
Константа | Значение | Описание |
---|---|---|
ERR_NO_ERROR | 0 | Нет ошибки |
ERR_NO_RESULT | 1 | Нет ошибки, но результат неизвестен |
ERR_COMMON_ERROR | 2 | Общая ошибка |
ERR_INVALID_TRADE_PARAMETERS | 3 | Неправильные параметры |
ERR_SERVER_BUSY | 4 | Торговый сервер занят |
ERR_OLD_VERSION | 5 | Старая версия клиентского терминала |
ERR_NO_CONNECTION | 6 | Нет связи с торговым сервером |
ERR_NOT_ENOUGH_RIGHTS | 7 | Недостаточно прав |
ERR_TOO_FREQUENT_REQUESTS | 8 | Слишком частые запросы |
ERR_MALFUNCTIONAL_TRADE | 9 | Недопустимая операция нарушающая функционирование сервера |
ERR_ACCOUNT_DISABLED | 64 | Счет заблокирован |
ERR_INVALID_ACCOUNT | 65 | Неправильный номер счета |
ERR_TRADE_TIMEOUT | 128 | Истек срок ожидания совершения сделки |
ERR_INVALID_PRICE | 129 | Неправильная цена |
ERR_INVALID_STOPS | 130 | Неправильные стопы |
ERR_INVALID_TRADE_VOLUME | 131 | Неправильный объем |
ERR_MARKET_CLOSED | 132 | Рынок закрыт |
ERR_TRADE_DISABLED | 133 | Торговля запрещена |
ERR_NOT_ENOUGH_MONEY | 134 | Недостаточно денег для совершения операции |
ERR_PRICE_CHANGED | 135 | Цена изменилась |
ERR_OFF_QUOTES | 136 | Нет цен |
ERR_BROKER_BUSY | 137 | Брокер занят |
ERR_REQUOTE | 138 | Новые цены |
ERR_ORDER_LOCKED | 139 | Ордер заблокирован и уже обрабатывается |
ERR_LONG_POSITIONS_ONLY_ALLOWED | 140 | Разрешена только покупка |
ERR_TOO_MANY_REQUESTS | 141 | Слишком много запросов |
ERR_TRADE_MODIFY_DENIED | 145 | Модификация запрещена, так как ордер слишком близок к рынку |
ERR_TRADE_CONTEXT_BUSY | 146 | Подсистема торговли занята |
ERR_TRADE_EXPIRATION_DENIED | 147 | Использование даты истечения ордера запрещено брокером |
ERR_TRADE_TOO_MANY_ORDERS | 148 | Количество открытых и отложенных ордеров достигло предела, установленного брокером. |
Константа | Значение | Описание |
---|---|---|
ERR_NO_MQLERROR | 4000 | Нет ошибки |
ERR_WRONG_FUNCTION_POINTER | 4001 | Неправильный указатель функции |
ERR_ARRAY_INDEX_OUT_OF_RANGE | 4002 | Индекс массива — вне диапазона |
ERR_NO_MEMORY_FOR_FUNCTION_CALL_STACK | 4003 | Нет памяти для стека функций |
ERR_RECURSIVE_STACK_OVERFLOW | 4004 | Переполнение стека после рекурсивного вызова |
ERR_NOT_ENOUGH_STACK_FOR_PARAMETER | 4005 | На стеке нет памяти для передачи параметров |
ERR_NO_MEMORY_FOR_PARAMETER_STRING | 4006 | Нет памяти для строкового параметра |
ERR_NO_MEMORY_FOR_TEMP_STRING | 4007 | Нет памяти для временной строки |
ERR_NOT_INITIALIZED_STRING | 4008 | Неинициализированная строка |
ERR_NOT_INITIALIZED_ARRAYSTRING | 4009 | Неинициализированная строка в массиве |
ERR_NO_MEMORY_FOR_ARRAYSTRING | 4010 | Нет памяти для строкового массива |
ERR_TOO_LONG_STRING | 4011 | Слишком длинная строка |
ERR_REMAINDER_FROM_ZERO_DIVIDE | 4012 | Остаток от деления на ноль |
ERR_ZERO_DIVIDE | 4013 | Деление на ноль |
ERR_UNKNOWN_COMMAND | 4014 | Неизвестная команда |
ERR_WRONG_JUMP | 4015 | Неправильный переход |
ERR_NOT_INITIALIZED_ARRAY | 4016 | Неинициализированный массив |
ERR_DLL_CALLS_NOT_ALLOWED | 4017 | Вызовы DLL не разрешены |
ERR_CANNOT_LOAD_LIBRARY | 4018 | Невозможно загрузить библиотеку |
ERR_CANNOT_CALL_FUNCTION | 4019 | Невозможно вызвать функцию |
ERR_EXTERNAL_EXPERT_CALLS_NOT_ALLOWED | 4020 | Вызовы внешних библиотечных функций не разрешены |
ERR_NOT_ENOUGH_MEMORY_FOR_RETURNED_STRING | 4021 | Недостаточно памяти для строки, возвращаемой из функции |
ERR_SYSTEM_BUSY | 4022 | Система занята |
ERR_INVALID_FUNCTION_PARAMETERS_COUNT | 4050 | Неправильное количество параметров функции |
ERR_INVALID_FUNCTION_PARAMETER_VALUE | 4051 | Недопустимое значение параметра функции |
ERR_STRING_FUNCTION_INTERNAL_ERROR | 4052 | Внутренняя ошибка строковой функции |
ERR_SOME_ARRAY_ERROR | 4053 | Ошибка массива |
ERR_INCORRECT_SERIES_ARRAY_USING | 4054 | Неправильное использование массива-таймсерии |
ERR_CUSTOM_INDICATOR_ERROR | 4055 | Ошибка пользовательского индикатора |
ERR_INCOMPATIBLE_ARRAYS | 4056 | Массивы несовместимы |
ERR_GLOBAL_VARIABLES_PROCESSING_ERROR | 4057 | Ошибка обработки глобальныех переменных |
ERR_GLOBAL_VARIABLE_NOT_FOUND | 4058 | Глобальная переменная не обнаружена |
ERR_FUNCTION_NOT_ALLOWED_IN_TESTING_MODE | 4059 | Функция не разрешена в тестовом режиме |
ERR_FUNCTION_NOT_CONFIRMED | 4060 | Функция не подтверждена |
ERR_SEND_MAIL_ERROR | 4061 | Ошибка отправки почты |
ERR_STRING_PARAMETER_EXPECTED | 4062 | Ожидается параметр типа string |
ERR_INTEGER_PARAMETER_EXPECTED | 4063 | Ожидается параметр типа integer |
ERR_DOUBLE_PARAMETER_EXPECTED | 4064 | Ожидается параметр типа double |
ERR_ARRAY_AS_PARAMETER_EXPECTED | 4065 | В качестве параметра ожидается массив |
ERR_HISTORY_WILL_UPDATED | 4066 | Запрошенные исторические данные в состоянии обновления |
ERR_TRADE_ERROR | 4067 | Ошибка при выполнении торговой операции |
ERR_END_OF_FILE | 4099 | Конец файла |
ERR_SOME_FILE_ERROR | 4100 | Ошибка при работе с файлом |
ERR_WRONG_FILE_NAME | 4101 | Неправильное имя файла |
ERR_TOO_MANY_OPENED_FILES | 4102 | Слишком много открытых файлов |
ERR_CANNOT_OPEN_FILE | 4103 | Невозможно открыть файл |
ERR_INCOMPATIBLE_ACCESS_TO_FILE | 4104 | Несовместимый режим доступа к файлу |
ERR_NO_ORDER_SELECTED | 4105 | Ни один ордер не выбран |
ERR_UNKNOWN_SYMBOL | 4106 | Неизвестный символ |
ERR_INVALID_PRICE_PARAM | 4107 | Неправильный параметр цены для торговой функции |
ERR_INVALID_TICKET | 4108 | Неверный номер тикета |
ERR_TRADE_NOT_ALLOWED | 4109 | Торговля не разрешена |
ERR_LONGS_NOT_ALLOWED | 4110 | Длинные позиции не разрешены |
ERR_SHORTS_NOT_ALLOWED | 4111 | Короткие позиции не разрешены |
ERR_OBJECT_ALREADY_EXISTS | 4200 | Объект уже существует |
ERR_UNKNOWN_OBJECT_PROPERTY | 4201 | Запрошено неизвестное свойство объекта |
ERR_OBJECT_DOES_NOT_EXIST | 4202 | Объект не существует |
ERR_UNKNOWN_OBJECT_TYPE | 4203 | Неизвестный тип объекта |
ERR_NO_OBJECT_NAME | 4204 | Нет имени объекта |
ERR_OBJECT_COORDINATES_ERROR | 4205 | Ошибка координат объекта |
ERR_NO_SPECIFIED_SUBWINDOW | 4206 | Не найдено указанное подокно |
ERR_SOME_OBJECT_ERROR | 4207 | Ошибка при работе с объектом |
Let’s dis-assemble the OrderSend()
call first:
int result = OrderSend( NULL, // string: _Symbol,
OP_SELL, // int: OP_SELL,
0.01, // double: NormalizeLOTs( nLOTs ),
Bid, // double: NormalizeDouble( Bid, Digits ),
5, // int: slippagePOINTs,
0, // double: { 0 | NormalizeDouble( aSlPriceTARGET, Digits ) },
Bid-0.002, // double: { 0 | NormalizeDouble( aTpPriceTARGET, Digits ) },
NULL, // string: { NULL | aBrokerUnguaranteedStringCOMMENT },
0, // int: { 0 | aMagicNUMBER },
0, // datetime: { 0 | aPendingOrderEXPIRATION },
clrGreen // color: { clrNONE | aMarkerCOLOR }
);
For one’s further peace-of-mind, one ought always normalise all the values, that have some restrictive handling on the MQL4
-side ( prices + lot ( quantised ) values — as these are not continuous values in R domain, but rather quantum-stepped:
prices: having a 0.00001
or 0.0001
or 0.001
or 0.01
or 0.1
or 1.0
etc. stepping,
lot-volumes: being more restricted by the Broker-specific settings, per instrument, of three key values, all allowable volume sizes have to meet:
[aMinLOTs<=, +aMinLotSTEP, <=aMaxLOTs]
+
a proper digit normalisation
~ thus a double NormalizeLOTs( aProposedVOLUME ) {...}
is a handy tool for a seamless implementation of both parts of this need.
Error 4111:
There are a few other barriers, that prevent your MetaTrader Terminal 4
from running your code smooth:
4111
ERR_SHORTS_NOT_ALLOWED
Shorts are not allowed. Check the Expert Advisor properties
if ( !TerminalInfoInteger( TERMINAL_TRADE_ALLOWED ) )
Alert( "Check if automated trading is allowed in the terminal settings!" );
else if ( !MQLInfoInteger( MQL_TRADE_ALLOWED ) )
Alert( "Automated trading is forbidden in the program settings for ",
__FILE__
);
This instructs user to revise MetaTrader Terminal 4
settings,
under MT4 -> Tools -> Options -> ExpertAdvisor
Tab
and Broker-side Trading Instrument conditions, where shorting for some instruments may be restricted in general, or just for certain Account type(s).
if ( !AccountInfoInteger( ACCOUNT_TRADE_EXPERT ) )
Alert( "Automated trading is forbidden for the account",
AccountInfoInteger( ACCOUNT_LOGIN ),
" at the trade server side. Contact Broker's Customer Care Dept."
);
For more details, printScreens and demonstrated programmatic handling of this group of both Terminal
-side / Broker-side barriers: ref.-> MQL4 Reference / MQL4 programs / Trade Permission
Уважаемые программисты вылетает 4111 ошибка! только если нужно открыть селл, с бай все нормально, вроде должно все работать…… 1 раз сталкиваюсь!!!
Кто поможет благодарю
Выкладываю код:
//+------------------------------------------------------------------+ //| Скользящая средняя.mq4 | //| Copyright 2014, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2014, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ extern uchar RaZ=25; extern ushort TP_SL=100; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnTick() { //--- uchar s=0; uchar b=0; for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) b++; if(OrderType()==OP_SELL)s++; } } } double paznB=(Open[0]-Ask)/Point; double paznS=(Open[0]-Bid)/Point; double RZB=NormalizeDouble(paznB,2); double RZS=NormalizeDouble(paznS,2); // if(RZB<-RaZ && b<1){OrderOPEN(0);} if(RZS>RaZ && s<1) { OrderOPEN(1); ObjectCreate("FFF11",OBJ_LABEL,0,0,0);// Создание объ. ObjectSet("FFF11",OBJPROP_XDISTANCE,1200);// Координата Х ObjectSet("FFF11",OBJPROP_YDISTANCE,25);// Координата Y ObjectSetText("FFF11","POINT = "+Point,10,"Arial",clrIndianRed); if(OrderSend(Symbol(),OP_SELL,1,Bid,10,0,0,NULL,1235,0,clrIndianRed)); else Print("О как же так ",GetLastError()); } ObjectCreate("FFF1",OBJ_LABEL,0,0,0);// Создание объ. ObjectSet("FFF1",OBJPROP_XDISTANCE,1200);// Координата Х ObjectSet("FFF1",OBJPROP_YDISTANCE,15);// Координата Y ObjectSetText("FFF1","RZS = "+RZS,10,"Arial",clrIndianRed); ObjectCreate("FFF",OBJ_LABEL,0,0,0);// Создание объ. ObjectSet("FFF",OBJPROP_XDISTANCE,1200);// Координата Х ObjectSet("FFF",OBJPROP_YDISTANCE,5);// Координата Y ObjectSetText("FFF","Open0 = "+Open[0],10,"Arial",clrIndianRed); //+------------------------------------------------------------------+ } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OrderOPEN(uchar z) { double PRice,SL,TP,lot; color CVET; if(z==0) { lot=1; PRice=Ask; SL=PRice-TP_SL*Point; TP=PRice+TP_SL*Point; CVET=LimeGreen; if(OrderSend(Symbol(),z,lot,PRice,10,SL,TP,NULL,1235,0,CVET)); else Print("О как же так ",GetLastError()); } if(z==1) { lot=1; PRice=Bid; SL=PRice+TP_SL*Point; TP=PRice-TP_SL*Point; CVET=Magenta; if(OrderSend(Symbol(),z,lot,PRice,10,SL,TP,NULL,1235,0,CVET)); else Print("О как же так ",GetLastError()); } } //+------------------------------------------------------------------+
What is MT4 error 4111?
The MT4 error 4111 is an OrderSend error code. This code indicates an Expert Advisor (EA) is failing to execute a sell order.
Most of the EAs are enabled for executing both buy and sell orders. When an automated trading system spots a trading opportunity, it delivers an order command to MT4. In any case, the system fails to trigger a short entry and it sends the error code 4111.
Why does MT4 error 4111 happen?
A trading platform shows the error code 4111 for the following reasons:
An issue with MT4 settings:
Each EA comes with a default system setting. Here, you need to specify if this software is allowed for long and short entries or both. For instance, if it is permitted for long entries only, the system will still generate sell signals, but the trading platform will not accept it due to the limitation specified in the settings menu. The MetaTrader terminal will send the error code 4111 indicating a missed attempt to execute a sell order in such a condition.
An error in the programming code of the EA
If you still see the platform sending the same error code after allowing the EA for both long and short trades, then it might be a coding error. In such a case, you need to re-check the code to see if the system is disabled for automated trading.
A restriction from the broker
There are specific timeframes or conditions in the market when the broker doesn’t allow new orders. For example, some brokers don’t allow new orders when announcing susceptible news or updates regarding major currencies. In that condition, your system will still show the same MT4 error code upon receiving a sell order request from the expert advisor.
How to fix MT4 error 4111
Time needed: 2 minutes.
Step-by-step instructions to fix OrderSend error
- Find Experts Advisors (EA) tab
Click on View and select the Navigation option. Alternatively, click Ctrl+N for direct access to the menu. Next, click the Expert Advisor Tab. Here you’ll find all the automated trading systems installed in your MT4 platform.
- Check EA Properties
Double-click on the troubled system, and it’ll show you the system properties. If it shows Only Long means your system is permitted to take on the buy orders only. For this reason, the platform is not accepting any sell orders and sending the MT4 error 4111 (OrderSend) error code.
- Fix EA properties
Change this option to Long and Short, which will enable the MT4 to accept both buy and sell instructions from your trading system.
Also, make sure you’ve enabled the live trading option. If this option is disabled, then the platform will reject all types of orders. In such situations, it will show both buy and sell OrderSend error codes.
- Check the short order parameters in the MetaEditor
The code below represents a sample of an ideal short order configuration of a MACD based EA. Ensure the system applies correct values for determining lot sizes, the number of bidding attempts, and ticket modes for activating sell orders. Also, you can contact your broker to check if there is an issue with the system’s parameter that contradicts the broker’s requirements.
Разбор полетов! Коды ошибок, их значения и способы устранения.
Разбор полетов! Коды ошибок, их значения и способы устранения.
Ввиду частых обращений ко мне, как специалисту в области программирования советников на мт4, с вопросами об ошибках, я попытаюсь Вам рассказать наиболее частые ошибки трейдера, и ошибки советников, способы их устранения и причины их возникновения.
Каждый советник имеет свой функциональный режим, но будем исходить из стандартного набора проблем и распространенных ошибок советников.
Итак начнем.
Краткая справка по ошибкам изложена в Коды Ошибок, а также в самом терминале MetaTrader4
Исходя из них — мы попробуем в стиле Руководства по ошибкам электронной техники описать проблему и способ ее решения.
Если Вашей ошибки нет в данной таблице, или способы решения не помогли, обратитесь к автору Вашего советника, но перед этим воспользуйтесь статьей Log файлы для детального рассмотрения проблемы с роботами* (Expforex Прибыльные советники — — Стратегии Форекс —)
ошибка 4, 146
Торговый сервер занят
1. Советник подал слишком много приказов одновременно
2. Не дождавшись ответа от сервера, при выполнении операции — советник пытается отправить новый приказ, Сервер перегружен
1. Перезагрузка терминала
2. Оптимизация кода советника с помощью функций обработки ошибок.
ошибка8, 141
Слишком частые запросы
1. Предыдущие причины ошибки, в сильно частом запросе.
ошибка129
Неправильная цена
1. Цена по которой Вы пытаетесь открыть позицию (BUY SELL)- неправильная
1. Золотое правило: BUY нужно открывать по Ask а закрывать по BID
SELL нужно открывать по BID а закрывать по ASK
ошибка130,145
Неправильные стопы
1. Стопы= Стоплосс, тейкпрофит или уровень открытия отложенника или лимитника.
2. Стопы расположены слишком близко к цене
3. Ваш счет открыт в группе ECN (ЕЦН) или NDD (НДД)
4. Ваш брокер использует Рыночное исполнение позиций
1. Проверьте значения Ваших стоплосс, тейпрофитов
2. Уточните минимальный стоп уровень по Вашему инструменту у брокера, при выставлении стопов — соблюдайте уровень минимальной дистанции
3. В хорошо написанном советнике должны быть функции работы на счетах ECN и NDD
ошибка131
Неправильный объем
1. Неправильный лот при открытии сделки
2. Лот, который вы пытаетесь открыть, меньше минимального
3. Лот, который вы пытаетесь открыть больше максимального
4. Разрядность лота отличается от разрядности брокера.
1. Проверьте правильность открытия лота, изучите спецификацию контракта и прочтите условия торговли в Вашем ДЦ
2.3. Проверьте, Минимальный и Максимальный лот в Вашем ДЦ и на Вашем счете. На некоторых типах счетов, минимальный лот может быть 0.01 а также 0.1 и даже 3. Максимальный лот может быть 5 лотов и 999 лотов и другие.
4. Уточните разрядность лотов на Вашем сервере. Если например разрядность лотов=1, то можно открыть лот 0.1 или 0.5 или 1.2 и так далее, с 1 знаком после запятой, если разрядность лота 2 знака, то исходя из минимального лота, лот может быть 0.01, 0.06, 0.17, 1.48. Также в некоторых ДЦ существует порядок степени лотов, например можно открыть 0.5 и 1 и 1.5 и так далее, а например 0.6 открыть нельзя. Уточните у своего брокера порядок установки лотов.
ошибка132
Рынок закрыт
1. Рынок закрыт в Выходные дни
1.Пробуйтесвязаться с рынком после выходных
ошибка133
Торговля запрещена
1. В данный момент торговля запрещена
2. По данной валютной паре запрещено торговать
1. Попробуйте торговать после выходных
ошибка134
Недостаточно денег для совершения операции
1. Лот, который Вы пытаетесь открыть, слишком большой, на него не хватает маржи
1. Проверьте уровень свободных средств, ирассчитайтесредства, которые Вам нужны, для открытия лота
2. Следите за уровнем Ваших свободных средств
ошибка135..138
Цена изменилась
1. Реквот
2. Слишком быстрый рынок
3. Брокер или ДЦ не дает Вам поставить позицию по заявленной цене
1. Не торгуйте в такие моменты
2. Увеличьте уровеньпроскальзывания, но помните что это влечет за собой открытие позиций не по заявленной Вами цене.
3. Сделайте в советнике функцию обработки ошибок и количество попыток открытия позиций
ошибка 147
Использование даты истечения ордера запрещено брокером
1. Ваш советник или Вы пытаетесь установить срок истечения отложенного ордера
1. В советнике, в функции OrderSend в параметре срок истечения поставьте=0
2. Не устанавливайте срок истечения ордера.
ошибка 148
Количество открытых и отложенных ордеров достигло предела, установленного брокером.
1. Максимальноеколичествооткрытых ордеров и позиций достигнут предела, установленного брокером.
1. Удалите или закройте часть позиций
2. Остановите процесс открытия новых позиций
3. Соблюдайте иерархию сделок, лучше открыть 1 позицию лото 0.1 одновременно, чем 10 позиций лотом 0.01 с потерей спреда.
ошибка 4012, 4013
zero devide
Остаток от деления на ноль
- Вы пытаетесь поделить число на 0.
- Проверьте Весь код советника на наличие такой грубой ошибки, или же проверьте все значения из MarketInfo функций на момент возвращения 0, иногда при MarketInfo(Symbol(),MODE_SPREAD) возвращается не спред а 0 (у брокеров с плавающим спредом)
ошибка 4017
Вызовы DLL не разрешены
- В Вашем терминале запрещен вызов DLL
- Разрешите вызов DLL через Меню – сервис – Настройки – Советник – Разрешить вызов DLL, но помните, разрешайте данную опцию только для советников, в которых Вы уверены, и уверены что в ДЛЛ не сидит какой-нибудь троян. Проверьте ДЛЛ на наличие троянов с помощью антивируса.
Ошибка 4018 , 4019
Невозможно загрузить библиотеку
- Библиотека повреждена
- Вызов библиотеки осуществляется с ошибкой
- Проверьте библиотеку DLL
- Обратитесь к разработчику данной библиотеки
Ошибка 4020
Вызовы внешних библиотечных функций не разрешены
- В Вашем терминале запрещен вызов функций из внешних экспертов
- Разрешите вызов функций через Меню – сервис – Настройки – Советник – Разрешить вызов внешних экспертов,
Ошибка 4103
Невозможно открыть файл
- Данный файл не существует
- Данный файл заблокирован
- Проверьте наличие указанного файла в папке experts – files
Tester – files
- Проверьте не заблокирован ли файл системой антивируса. Разрешен ли режим записичтения файла
Ошибка 4106
Неизвестный символ
- Символа нет в обзоре рынка
- В обзоре рынка – правой кнопкой мыши – показать все символы
- Проверить названия символа в советнике и наличие его в обзоре рынка
- Некоторые советники используют четкие названия без суфиксов, а брокеры намеренно ставят суфиксы, например EURUSDx где х – суфикс.
Ошибка 4108
Неверный номер тикета
- Тикет ордера, который выбирает эксперт – не существует
- Эксперт пытается выбрать тикет, но данный ордер был закрыт другим советником или руками.
- При попытке осуществления приказа над ордером, тикет был исполнен и закрыт брокером.
- Если данная ошибка появляется очень часто, 100-1000 раз за минуту, проверьте функции Вашего советника
- Отключите другие советники, или настройте их так, чтобы они не конфликтовали, не закрывайте ордер руками, когда эксперт выполняет операцию
Ошибка 4109
Торговля не разрешена
- Советнику запрещено торговать, на графике грустный смайл или крестик
- Включите галочку «Разрешить советнику торговать» в вкладе при установке советника, либо в меню- сервис – настройки – советники.
Ошибка 4110, 4111
Длинные позиции не разрешены
Короткие позиции не разрешены
- В настройках советника, в вкладке Общие не разрешен тип позиций
- В Вкладке Общие, при установке советника есть выбор позиций:
Long Short – Разрешены BUY SELL
Only Long– Разрешен BUY
Only Short – Разрешен SELL
НЕ ЗАБЫВАЕМ ГОВОРИТЬ СПАСИБО И НАЖИМАТЬ КНОПКУ