Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1188

 
odyn:

Обьясните, пожалуйста.

Функция OnTradeTransaction

Она обязательно должна быть в советнике? 

Если нет, то в каких случаях ее надо включать в код?  И зачем?

Обязательны только OnInit() и OnTick() все остальные по усмотрению кодописателя. Зачем очень чётко описано в документации к языку.

Движок форума на название функции поставил ссылку, тык в неё и читаем.
 
Alexey Viktorov:

Обязательны только OnInit() и OnTick() все остальные по усмотрению кодописателя. Зачем очень чётко описано в документации к языку.

Движок форума на название функции поставил ссылку, тык в неё и читаем.

Я задаю вопрос только тогда, когда не могу понять обьяснения в документации, в статьях и на форуме. 

Если бы было "четко описано", я бы не спрашивал.

Функция предназначена для обработки результатов выполнения торгового запроса. При этом функция ничего не возвращает. 

При этом функцие не обязательна.

Так функция нужна, когда советник получает от сервера результаты обработки запросов? Но разве не любой советник их посылает? Значит, функцию всегда нужно вставлять в советник?

 

Здравствуйте! Вопрос опытным!

В MQL5 есть OBJ_CHART.

Подскажите, пожалуйста, каким образом, в OBJ_CHART, возможно использование индикаторов, в частности МА, и возможно ли?

 
odyn:

Я задаю вопрос только тогда, когда не могу понять обьяснения в документации, в статьях и на форуме. 

Если бы было "четко описано", я бы не спрашивал.

Функция предназначена для обработки результатов выполнения торгового запроса. При этом функция ничего не возвращает. 

При этом функцие не обязательна.

Так функция нужна, когда советник получает от сервера результаты обработки запросов? Но разве не любой советник их посылает? Значит, функцию всегда нужно вставлять в советник?

Некоторые программисты залипли на тех примерах которые освоили ещё в mql4 и никак не могут от них оторваться. Таким программистам OnTradeTransaction() как собаке поворотка. Но если вы хотите, к примеру без проблем определить событие, что активировался отложенный ордер, то проще чем в OnTradeTransaction() сделать это не получится. Если вам надо принять какое-то решение и выполнить какие-то действия в момент закрытия позиции, то проще чем в OnTradeTransaction() сделать это не получится. А если при закрытии по ТП надо выполнить одни действия, а при закрытии по СЛ другие, то проще чем в OnTradeTransaction() сделать это не получится.

Но¡¡¡ сейчас придут те о ком я упомянул и начнут рассуждать сколько миллисекунд туда—сюда... В общем на любителя. Если вам интересно, запустите и посмотрите что можно получить в OnTradeTransaction() и подумайте как это можно использовать для себя.

 

ПОдскажите, если мне нужно открыть одновременно две сделки, но при этом проверить нет ли какой то ошибки при открытии одной из них, как поймать ошибку?

Есть какая то функция возвращающая возможность открыть сделку по активу?

 
Alexey Viktorov:


спасибо за ответ!

 

Никак не могу открыть файл в тестере. Получаю ошибку 5004.

int               m_file_handle;
short             m_delimiter;

m_delimiter='\t';
m_file_handle=FileOpen(m_filename,FILE_READ|FILE_CSV,m_delimiter);
if(m_file_handle==INVALID_HANDLE)
  {
   Print(__FUNCTION__+": file open failed. Error: ",GetLastError());
   return false;
  }

Обычный файл csv с табуляцией в качестве разделителя. Кладу его в папку MQL5\Files агента. После попытки открытия файл исчезает.

 
leonerd:

Никак не могу открыть файл в тестере. Получаю ошибку 5004.

Обычный файл csv с табуляцией в качестве разделителя. Кладу его в папку MQL5\Files агента. После попытки открытия файл исчезает.

ок, без #property tester_file, видимо, не работает.

 
Roman Sharanov:

ПОдскажите, если мне нужно открыть одновременно две сделки, но при этом проверить нет ли какой то ошибки при открытии одной из них, как поймать ошибку?

Есть какая то функция возвращающая возможность открыть сделку по активу?

Использовать OnTradeTransaction().

 

Подскажите, пожалуйста, аналог MQL4 функции MarketInfo(asymbol, MODE_MARGIN_REQUIRED) в MQL5.

Нужно получить Размер свободных средств, необходимых для открытия 1 лота на покупку.

Перебрала разные варианты  функции SymbolInfoDouble(symbol, ...) в MQL5, не могу найти нужный вариант, везде возвращается 0.

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
, то позиции по каждому символу разрешается закрывать только в том порядке, в котором они были открыты — сначала самую старую, затем более новую и т.д. При попытке закрыть позиции в ином порядке будет получена ошибка. Уровень залоговых средств, при достижении которого происходит принудительное закрытие самой убыточной позиции (Stop Out...
Причина обращения: