Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1452 1...144514461447144814491450145114521453145414551456145714581459...1599 Новый комментарий pivomoe 2023.04.22 12:49 #14511 Подскажите работает ли MetaTrader 5 на Windows 7,8 ? Alexey Viktorov 2023.04.22 12:52 #14512 pivomoe #: Подскажите работает ли MetaTrader 5 на Windows 7,8 ? Работает, но лучше чтобы была 64-разрядная ОС Aleksandr Slavskii 2023.04.22 15:21 #14513 Mikhail Toptunov #: господа, служители!) Опять двадцать пять. for(int i=OrdersTotal()-1; i>=0; i--) if(m_position.SelectByIndex(i)) { long f= m_position.Magic(); if(m_position.Comment()==comment) if(m_position.Type()==type) if(m_position.Magic()==magic) return(true); } Смешались в кучу кони, люди... Это вообще что?Запрашиваем количество открытых ордеров, а проверяем позиции. Так не пойдёт. Aleksandr Slavskii 2023.04.22 15:26 #14514 JRandomTrader #: Увы, не совсем так. Показывал тут уже, как получил код 10012, нулевой тикет ордера, но ордер при этом исполнился. MQ хранят молчание по этому поводу. Написал под это костыль, но проверить его можно будет только получив снова 10012 ) Это исключение из правил, а у человека не получается понять разницу между ордерами, сделками и позициями. А вы его ещё и исключениями путаете))) Когда поймёт как это работает, сможет сам написать проверку под свои нужды. Установка StopLoss и TakeProfit Любые вопросы новичков по разнятся результаты у разных MrBrooklin 2023.04.22 15:56 #14515 Aleksandr Slavskii #: ... а у человека не получается понять разницу между ордерами, сделками и позициями ... Когда поймёт как это работает, сможет сам написать проверку под свои нужды. Всё подробно расписано здесь. С уважением, Владимир. Mikhail Toptunov 2023.04.22 17:23 #14516 благодарю, похоже разобрался!!! //+------------------------------------------------------------------+ void OnTradeTransaction(const MqlTradeTransaction& trans, // структура торговой транзакции const MqlTradeRequest& request, // структура запроса const MqlTradeResult& result) // структура ответа { //--- результат выполнения торгового запроса ulong lastOrderID =trans.order; //--- тип транзакции ENUM_TRADE_TRANSACTION_TYPE trans_type=trans.type; switch(trans.type) { case TRADE_TRANSACTION_POSITION: // изменение позиции { } break; //--- case TRADE_TRANSACTION_ORDER_ADD: // добавление нового действующего ордера { fix_position_open(lastOrderID); } break; case TRADE_TRANSACTION_REQUEST: // добавление нового действующего ордера { } break; } //--- } //--- Фиксируем если позиция открыта --------------------------------+ void fix_position_open(ulong lastOrderID) { //--- Фиксируем если позиция открыта for(int i=0; i<ArraySize(position_buff); i++) if(position_buff[i].timeOp==1) if(!match_open_orders(lastOrderID)) { position_buff[i].timeOp= 0; // Фиксировать время Print("Метод OnTrade() по рынку не выполнен. Код возврата=",m_trade.ResultRetcode(), " (",m_trade.ResultRetcodeDescription(),")"+position_buff[i].comment+" lot "+DoubleToString(position_buff[i].lot));// } else { position_buff[i].timeOp= TimeCurrent(); Print("Метод OnTrade() по рынку выполнен успешно. Код возврата=",m_trade.ResultRetcode(), " (",m_trade.ResultRetcodeDescription(),")"+position_buff[i].comment+" lot "+DoubleToString(position_buff[i].lot));// } } //--- Соответствие открытых ордеров ---------------------------------+ bool match_open_orders(long lastOrderID) { //--- for(int i=PositionsTotal()-1; i>=0; i--) if(m_position.SelectByIndex(i)) if(m_position.Identifier()==lastOrderID) return(true); for(int i=OrdersTotal()-1; i>=0; i--) if(m_order.SelectByIndex(i)) if(m_order.Ticket()==lastOrderID) return(true); return(false); } JRandomTrader 2023.04.22 19:57 #14517 Mikhail Toptunov #: благодарю, похоже разобрался!!! Позиция открывается, когда ордер исполняется, т.е. совершается сделка и ордер уходит в историю. Baruandreas 2023.04.23 21:40 #14518 Что делать, если не все функции доступны в MQL5 Alexey Viktorov 2023.04.23 21:53 #14519 Baruandreas #: Что делать, если не все функции доступны в MQL5 Забыть mql4 совсем и постоянно читать документацию по mql5. MrBrooklin 2023.04.23 21:53 #14520 Baruandreas #: Что делать, если не все функции доступны в MQL5 Ваш вопрос не понятен. Сначала уточните свой вопрос: Речь идёт об уже существующих функциях в MQL5? Функция в наборе готовых у MQL5 есть, но она не работает? Вам нужна какая-то определённая функция, а в наборе готовых MQL5 такой функции нет? С уважением, Владимир. Эконометрика: прогноз на один Ошибки, баги, вопросы Обсуждение статьи "Функции в 1...144514461447144814491450145114521453145414551456145714581459...1599 Новый комментарий
Подскажите работает ли MetaTrader 5 на Windows 7,8 ?
Подскажите работает ли MetaTrader 5 на Windows 7,8 ?
Работает, но лучше чтобы была 64-разрядная ОС
господа, служители!)
Опять двадцать пять.
Смешались в кучу кони, люди...
Это вообще что?
Запрашиваем количество открытых ордеров, а проверяем позиции. Так не пойдёт.Увы, не совсем так. Показывал тут уже, как получил код 10012, нулевой тикет ордера, но ордер при этом исполнился. MQ хранят молчание по этому поводу.
Написал под это костыль, но проверить его можно будет только получив снова 10012 )
Это исключение из правил, а у человека не получается понять разницу между ордерами, сделками и позициями. А вы его ещё и исключениями путаете)))
Когда поймёт как это работает, сможет сам написать проверку под свои нужды.
... а у человека не получается понять разницу между ордерами, сделками и позициями ...
Когда поймёт как это работает, сможет сам написать проверку под свои нужды.
Всё подробно расписано здесь.
С уважением, Владимир.
благодарю, похоже разобрался!!!
благодарю, похоже разобрался!!!
Позиция открывается, когда ордер исполняется, т.е. совершается сделка и ордер уходит в историю.
Что делать, если не все функции доступны в MQL5
Забыть mql4 совсем и постоянно читать документацию по mql5.
Что делать, если не все функции доступны в MQL5
Ваш вопрос не понятен. Сначала уточните свой вопрос:
- Речь идёт об уже существующих функциях в MQL5?
- Функция в наборе готовых у MQL5 есть, но она не работает?
- Вам нужна какая-то определённая функция, а в наборе готовых MQL5 такой функции нет?
С уважением, Владимир.