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

yiduwi:

Что проверять, вот этот код на какой бар должен ставить стрелку?

BufferUP и BufferDN какую имеют индексацию?

Документация по MQL5: Операции с массивами / ArraySetAsSeries
Документация по MQL5: Операции с массивами / ArraySetAsSeries
  • www.mql5.com
//| Custom indicator initialization function                         | //| Custom indicator iteration function                              |
Artyom Trishkin:

BufferUP и BufferDN какую имеют индексацию?

Сделал в обратную сторону

 for(int i=0;i<limit;i++) 

всё равно ставит на второй бар

yiduwi:

Сделал в обратную сторону

всё равно ставит на второй бар

Все массивы должны быть в одном направлении

Artyom Trishkin:

Все массивы должны быть в одном направлении

Ну тогда первый вариант правильный, в чём проблема?

yiduwi:

Ну тогда первый вариант правильный, в чём проблема?

Проблема в том, что не видно полного листинга индикатора

yiduwi:

Вот так ставит на первом баре, но в реальном времени стрелка не появляется, только после переключения тф. Что не так?

В OnInit() ArraySetAsSeries() для BufferUP и BufferDN, в OnCalculate() - ArraySetAsSeries() для high и low

if(limit>1)

  {

  }

Не нужно prev_calculated==0

Artyom Trishkin:

В OnInit() ArraySetAsSeries() для BufferUP и BufferDN, в OnCalculate() - ArraySetAsSeries() для high и low

Благодарю.

Что не так в коде? Пытаюсь отловить момент завершения теста

void MyHistory()
  {
//--- select history for access
//HistorySelect(0,TimeCurrent());
   HistorySelect(0,TimeTradeServer());
//---
   int    orders=HistoryDealsTotal();  // total history deals
   int    losses=0;                    // number of losses orders without a break

   for(int i=orders-1;i>=0;i--)
     {
      ulong ticket=HistoryDealGetTicket(i);
      if(ticket==0)
        {
         Print("HistoryDealGetTicket failed, no trade history");
         break;
        }
      //--- check symbol
      if(HistoryDealGetString(ticket,DEAL_SYMBOL)==_Symbol)
         continue;
      //--- check profit
      string   deal_comment=HistoryDealGetString(ticket,DEAL_COMMENT);

      if(deal_comment=="end of test")
        {
         Print("!!!!!!!!!!!!!!!  END TEST !!!!!!!!!!!!!!!!");
         break;
        }
/*
         if(deal_comment!="end of test")
            {
            return;
            }
            */
     }
//---

   return;

  }

Ошибка при открытии ордера:

которая появляется вообще не предсказуемо, это аналог реквот в МТ4 ?



Igor Makanu:

Ошибка при открытии ордера:

которая появляется вообще не предсказуемо, это аналог реквот в МТ4 ?



Реквота - это ответ от сервера, а тут не удалось отправить торговый запрос на сервер по какой-то причине. Наверное - точно не знаю.