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

Vitaly Muzichenko:

При этом, вы копируете в массив HandleFractalUP_W1 некое количество элементов, но сколько именно - не контролируете.

Далее, делаете цикл по int i=Bars(Symbol(),period); //Колличество баров на W1 графике

По итогу, снова получите выход за пределы массива, но уже в handle[n]

Разберитесь немного с логикой заполнения, не спешите.

----

Так всё мудрёно, но у вас всё получится

Спасибо!!!

Всем добрый день. Помогите пожалуйста разобраться, почему не удается получить историю объемов. Пытался это сделать 2 способами. 

Первый способ:

MqlRates mrate5[];

      if(CopyRates(_Symbol,PERIOD_M5,1,bars_used,mrate5)<0)

        {

            Alert("Ошибка копирования исторических данных для М5 - ошибка:",GetLastError(),"!!");

            return;

        }

for (int i=0;i<bars_used;i++) {

Print(mrate5[i].real_volume)

}

Второй способ:

long volumes5[];

      if(CopyRealVolume(_Symbol,PERIOD_M5,1,bars_used,volumes5)<0)

        {

            Alert("Ошибка копирования объемов для М5 - ошибка:",GetLastError(),"!!");

            return;

        }

for (int i=0;i<bars_used;i++) {

Print(volumes5[i])

}

В обоих случаях массив объемов всегда содержит только нули. Никакой осмысленной информации получить просто не получается...


seleand:

Всем добрый день. Помогите пожалуйста разобраться, почему не удается получить историю объемов. Пытался это сделать 2 способами. 

Первый способ:

MqlRates mrate5[];
      if(CopyRates(_Symbol,PERIOD_M5,1,bars_used,mrate5)<0)
        {
            Alert("Ошибка копирования исторических данных для М5 - ошибка:",GetLastError(),"!!");
            return;
        }
for (int i=0;i<bars_used;i++) {
Print(mrate5[i].real_volume)
}

Второй способ:

long volumes5[];
      if(CopyRealVolume(_Symbol,PERIOD_M5,1,bars_used,volumes5)<0)
        {
            Alert("Ошибка копирования объемов для М5 - ошибка:",GetLastError(),"!!");
            return;
        }
for (int i=0;i<bars_used;i++) {
Print(volumes5[i])
}

В обоих случаях массив объемов всегда содержит только нули. Никакой осмысленной информации получить просто не получается...


  1. Научитесь вставлять код.
  2. На форексе нет реальных объёмов от слова вообще.

Спасибо. Я правильно понимаю, что есть тиковый объем? 

Просто когда я скачивал историю котировок для форекса например с сайта финам, там кроме open, high, low, close был еще vol. Без уточнения какой именно это объем. Это тиковый объем надо полагать? 

seleand:

Спасибо. Я правильно понимаю, что есть тиковый объем? 

Просто когда я скачивал историю котировок для форекса например с сайта финам, там кроме open, high, low, close был еще vol. Без уточнения какой именно это объем. Это тиковый объем надо полагать? 

Вы читали документацию? Вы читали о структуре MqlRates, какие поля она содержит?

Может у вас документация ……… аж затрудняюсь как назвать… или что-то другое не работает…

struct MqlRates 
  { 
   datetime time;         // время начала периода 
   double   open;         // цена открытия 
   double   high;         // наивысшая цена за период 
   double   low;          // наименьшая цена за период 
   double   close;        // цена закрытия 
   long     tick_volume;  // тиковый объем 
   int      spread;       // спред 
   long     real_volume;  // биржевой объем 
  };
Стоимость тика и стоимость одного пункта - это одно и то же?
User_mt5:
Стоимость тика и стоимость одного пункта - это одно и то же?

На бирже не всегда.

Alexey Viktorov:

На бирже не всегда.

Спасибо.
Меня интересуют только валюты и криптовалюты.
Для этой категории активов стоимость тика и стоимость одного пункта - это одно и то же?

И ещё. Это ведь должно зависеть от объёма ордера?
Правильно ли понимать, что  SYMBOL_TRADE_TICK_VALUE  - это для одного лота?

Подскажите, пожалуйста, как я могу график, после прогона эксперта в визуальном режиме, открыть в терминале МТ5 для дальнейшего анализа?
Rost17:
Подскажите, пожалуйста, как я могу график, после прогона эксперта в визуальном режиме, открыть в терминале МТ5 для дальнейшего анализа?

Вот так: