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

 
Всем привет!! Подкажите, возможно ли в мт5 загрузить историю котировок? 2й день ищу инфу, но не могу разобраться
 
Igorz2006:
Всем привет!! Подкажите, возможно ли в мт5 загрузить историю котировок? 2й день ищу инфу, но не могу разобраться

Функции:

CopyRates

Получает в массив исторические данные структуры Rates для указанных символа и периода

CopyTime

Получает в массив исторические данные по времени открытия баров по соответствующим символу и периоду

CopyOpen

Получает в массив исторические данные по цене открытия баров по соответствующим символу и периоду

CopyHigh

Получает в массив исторические данные по максимальной цене баров по соответствующим символу и периоду

CopyLow

Получает в массив исторические данные по минимальной цене баров по соответствующим символу и периоду

CopyClose

Получает в массив исторические данные по цене закрытия баров по соответствующим символу и периоду

CopyTickVolume

Получает в массив исторические данные по тиковым объемам для соответствующих символа и периода

CopyRealVolume

Получает в массив исторические данные по торговым объемам для соответствующих символа и периода

CopySpread

Получает в массив исторические данные по спредам для соответствующих символа и периода

CopyTicks

Получает в массив тики в формате MqlTick

CopyTicksRange

Получает в массив тики в указанном диапазоне дат

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
  • www.mql5.com
Получает в массив rates_array исторические данные структуры MqlRates указанного символа-периода в указанном количестве. Отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества данных рекомендуется в качестве приемного...
 
Igorz2006:
Всем привет!! Подкажите, возможно ли в мт5 загрузить историю котировок? 2й день ищу инфу, но не могу разобраться

штуки на подобии HistoryCenter (как в четвёрке) нет. просто жмите PgUp. так же проверьте в настройках, сколько баров для графика разрешено.

 
Спасибо, буду пробовать. Историю котировок по биткоину и крипте нужно импортировать для анализа
 
Igorz2006:
Спасибо, буду пробовать. Историю котировок по биткоину и крипте нужно импортировать для анализа

у пятёрки закрытый формат истории, про импорт не слышал. проще открыть демку там, где есть все требуемые символы.

 

Доброго дня!

Открыть две позиции на покупку и три на продажу. Подсчитать открытые позиции.

С открытием позиций проблем не возникло, но с подсчетом возникли трудности. 

Прошу помочь начинающему студенту)

input int PositionSell = 
5;


//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  
  int buy_count  = 0;
  int sell_count = 0;

//---объявление и инициализация запроса и резкльтата
   MqlTradeResult  result_sell  = {0};
   MqlTradeRequest request_sell = {0};

   request_sell.action = TRADE_ACTION_DEAL;
   request_sell.symbol = Symbol();
   request_sell.volume = 0.1;
   request_sell.type   = ORDER_TYPE_SELL;

   MqlTradeResult  result_bay  = {0};
   MqlTradeRequest request_bay = {0};

   request_bay.action = TRADE_ACTION_DEAL;
   request_bay.symbol = Symbol();
   request_bay.volume = 0.1;
   request_bay.type   = ORDER_TYPE_BUY;



   if(PositionsTotal() < PositionSell)
     {
      OrderSend(request_sell,result_sell);
      OrderSend(request_sell,result_sell);
      OrderSend(request_sell,result_sell);

      OrderSend(request_bay,result_bay);
      OrderSend(request_bay,result_bay);
     } else return;

   for(int i=PositionsTotal()-1; i>=0; i--)
     {
      if(PositionSelect(_Symbol))
     {
      switch(PositionGetInteger(POSITION_TYPE)) //Здесь выдает  ошибку implicit conversion from 'number' to 'string'
           {
            case POSITION_TYPE_BUY:  buy_count++;  break; 
            case POSITION_TYPE_SELL: sell_count++; break;
           }

        }
     }
     Print("Ордеров на покупку: " + buy_count + ", Ордеров на продажу: " + sell_count);
  }
 
Mihail Marchukajtes:

Коллеги приветствую!

Подскажите следующее. В функции ОнТестер рассчитываются два параметра. Существует ли возможность при оптимизации по одному параметру, второй параметр просто выводить в таблицу оптимизации??? И как это сделать если да?. Спасибо!

Коллеги а по моему вопросу ответ отсутствует?
 
Pineapple88:

Доброго дня!

Открыть две позиции на покупку и три на продажу. Подсчитать открытые позиции.

С открытием позиций проблем не возникло, но с подсчетом возникли трудности. 

Прошу помочь начинающему студенту)

     for(int i=0; i<PositionsTotal(); i++)
     {
          if( PositionGetTicket(i) == 0 )                        continue;
          if( PositionGetString(POSITION_SYMBOL) != _Symbol )    continue;
          switch( (int)PositionGetInteger(POSITION_TYPE) )
           {
               case POSITION_TYPE_BUY:  buy_count++;  break; 
               case POSITION_TYPE_SELL: sell_count++; break;
           }
     }
 
Konstantin Nikitin:

Спасибо! Буду разбираться...

 
Pineapple88:

Спасибо! Буду разбираться...

Прочитайте PositionGetTicket, PositionGetSymbol, PositionSelect.  Особенно примечание.