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

 
Nauris Zukas:

Без изменения, "Справочник MQl5" не открывается.

А интернет у Вас быстрый? Если справка не открывается - это означает что она закачивается. Раньше о процессе закачки были сообщения в Журнале, теперь сообщения убрали.

 

Подскажите пожалуйста!!!

Что писать в iCustom после названия индикатора?

 
TaywinLannister:

Подскажите пожалуйста!!!

Что писать в iCustom после названия индикатора?

Поиск по примерам с кодом: iCustom

 
TaywinLannister:

Подскажите пожалуйста!!!

Что писать в iCustom после названия индикатора?

Справка на сайте.
Документация по MQL5: Технические индикаторы / iCustom
Документация по MQL5: Технические индикаторы / iCustom
  • www.mql5.com
[in] input-параметры пользовательского индикатора, разделенные запятыми. Тип и порядок следования параметров должен соответствовать. Если параметры не указаны, то будут использованы значения по умолчанию. INVALID_HANDLE. Для освобождения памяти компьютера от неиспользуемого больше индикатора служит функция IndicatorRelease(), которой...
 
foreXteller:

Уважаемый Vladimir Karputov!

Спасибо за ссылку!

Просмотрел рекомендованную Вами статью «АЛГОРИТМ ГЕНЕРАЦИИ ТИКОВ В ТЕСТЕРЕ СТРАТЕГИЙ ТЕРМИНАЛА METATRADER 5»

Это немного не то – я не хочу анализировать значения тиков на интервале минуты, а последние рыночные значения из SymbolInfoTick() сейчас не столь уж важны.

Для того, чтобы в дальнейшем играть на MetaTrader 5, я хочу протестировать свою стратегию (свой робот) своими программами на минутных котировках одновременно нескольких валют, учитывая их ASK, BID, VOLUME и SPREAD,но не свечи.

Поскольку программы написаны на VISUAL C, я не могу использовать МТ для тестирования.

Программы достаточно сложные и едва ли их можно перевести на MQL (В дальнейшем планирую использовать файлы DLL).

Спасибо за внимание!

Уважаемый Vladimir Karputov!



В рекомендованной Вами статье приводится следующее:

"Алгоритм генерации тиков

Тестер стратегий терминала  MetaTrader 5 использует только один режим моделирования цены при тестировании - генерацию тиков на основе существующих исторических данных на минутных таймфреймах по используемым символам."

Пожалуйста, подскажите, где  взять "существующие исторические данные на минутных таймфреймах" 

Заранее благодарю!!!


 

Подскажите, как отловить событие закрытие позиции.

void OnTradeTransaction(const MqlTradeTransaction&    trans,
                        const MqlTradeRequest&        request,
                        const MqlTradeResult&         result
                        )
  {
   if(trans.type!=TRADE_TRANSACTION_DEAL_ADD)
      return;
   ...
  }
 
void OnTradeTransaction(const MqlTradeTransaction&    trans,
                        const MqlTradeRequest&        request,
                        const MqlTradeResult&         result
                        )
  {
   if(trans.type!=TRADE_TRANSACTION_DEAL_ADD)
      return;
   if(trans.deal_type!=DEAL_TYPE_BUY && trans.deal_type!=DEAL_TYPE_SELL)
      return;
   ENUM_DEAL_ENTRY entry_type=(ENUM_DEAL_ENTRY)HistoryDealGetInteger(trans.deal,DEAL_ENTRY);
   if(entry_type==DEAL_ENTRY_IN)
      return;
  }

Так правильно? Ещё, видимо, проверку на объем нужно добавить.

 
foreXteller:

Уважаемый Vladimir Karputov!



В рекомендованной Вами статье приводится следующее:

"Алгоритм генерации тиков

Тестер стратегий терминала  MetaTrader 5 использует только один режим моделирования цены при тестировании - генерацию тиков на основе существующих исторических данных на минутных таймфреймах по используемым символам."

Пожалуйста, подскажите, где  взять "существующие исторические данные на минутных таймфреймах" 

Заранее благодарю!!!


Всё уже есть в MetaTrader 5. Изначально. Сразу. Как только Вы подключились к торговому серверу - Вы сразу получаете доступ ко всей истории тиков.

Работая онлайн Вы конечно работаете с реальными тиками. Работая в тестере стратегий Вы можете выбирать режим: "Каждый тик на основе реальных тиков" - самый точный метод, реальные исторические тики или один из режимов генерации тиков: "Все тики", "OHLC".

 

Скажите, пожалуйста, существует ли какой-то универсальный код, позволяющий получать прибыль позиций в истории? Хотя бы по pos_id. Который бы работал на всех рынках.

 
Juer:

Подскажите, как отловить событие закрытие позиции.

Для форекса я использую такой вариант.

/*********************TradeTransaction function**********************/
void OnTradeTransaction(const MqlTradeTransaction& trans,
                        const MqlTradeRequest& request,
                        const MqlTradeResult& result)
{
  if(trans.type == TRADE_TRANSACTION_DEAL_ADD && trans.symbol == _Symbol)
   {
    /******************** Если открылась позиция********************/
    if(PositionSelectByTicket(trans.position) && PositionGetInteger(POSITION_MAGIC) == magick)
      ifOpenedPosition(trans);
    /******************** Если закрылась позиция********************/
    if(!PositionSelectByTicket(trans.position))
     ifClosedPosition(trans);
   }
}/*******************************************************************/

То-есть позиция существует или нет...

Juer:

Скажите, пожалуйста, существует ли какой-то универсальный код, позволяющий получать прибыль позиций в истории? Хотя бы по pos_id. Который бы работал на всех рынках.

Написать такое "пара пустяков". Просто выбираешь сделки принадлежащие позиции и перебирая их в цикле суммируешь прибыль, своп и комиссию.
Причина обращения: