Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 232

 
O-Yama:
Post, тогда посмотрим, что на серваке.
Массив сообщения запроса собираю с помощью своей функции небольшими кусками, так как StringToCharArray как-то странно себя ведёт и постоянно обрезает массив. Может, я и в ней что-то намудрил...

void OneMoreString(string str)
  {
   char cashe[];
   int sz=ArraySize(buf); //buf находится вне функции, и используется постоянно в webrequest
   StringToCharArray(str,cashe,0,StringLen(str)); //конвертируем строку на входе функции в char-массив cashe
   ArrayResize(buf,sz+ArraySize(cashe));
   ArrayCopy(buf,cashe,sz); //копируем cashe в buf
  }

P.s. : не знаю как сюда правильно вставлять куски кода

Сначала определите, на какой стороне проблема для её устранения.

Код вот так:


 
Всем привет, не могу подгрузить историю сделок за любой период кроме одного месяца, перепробовал уже все, терминал полностью переустановил, ни чего не помогает. Случилось это когда я применил к графику цены старый шаблон в итоге с графика пропали все сделки, а в истории пропали сделки с Октября, просто пипец. Может кто сталкивался с подобной проблемой помогите, интернет тоже перерыл нет ответов. МТ4
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
МТ4
 
Добрый день. Подскажите, как мне определить количество открытых позиций по каждой валютной паре, и вывести на график. Если позиции открыты по разным валютным парам в разных количествах.
 
makssub:
Добрый день. Подскажите, как мне определить количество открытых позиций по каждой валютной паре, и вывести на график. Если позиции открыты по разным валютным парам в разных количествах.

Перебор позиций.

 
makssub:
Добрый день. Подскажите, как мне определить количество открытых позиций по каждой валютной паре, и вывести на график. Если позиции открыты по разным валютным парам в разных количествах.

В стандартной поставке терминала есть индикатор  iExposure.mq4

 
Добрый день.
Подскажите пожалуйста. Почему в индикаторе при переборе баров, индикатор начинает всё время с августа 2020 года. В не зависимости от заданного параметра i, хоть i=500 или i=10000000000.
void OnStart()
  {
//+------------------------------------------------------------------+
//| Блок
//| Задаём переменные
//+------------------------------------------------------------------+
   double
   MA1,      // Расчитываем МА1
   MA2,      // Расчитываем МА2
   close_i,  // Цена закрытия i бара
   close_i1, // Цена закрытия i-1 бара
   close_i2, // Цена закрытия i-2 бара
   profit1,  // Растояние между iHigh и iOpen на i-3 баре
   Bar_4,    // Разница между iOpen и iClose на i-3 баре
   Diff_1;   // Расчитываем растояние между iClose и MA1 на i-2 баре


//+------------------------------------------------------------------+
//| Блок 1
//| Расчёты условия покупки или продажи
//+------------------------------------------------------------------+
   MA1=iMA(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,0);
   MA2=iMA(NULL,0,50,0,MODE_EMA,PRICE_CLOSE,0);


//+------------------------------------------------------------------+
//| Блок
//| МА1>MA2
//+------------------------------------------------------------------+
   if(MA1>MA2)
     {
      for(int i=100; i>4; i--) //Перебераем бары
        {
         close_i=iClose(NULL, 0, i);    // Цена закрытия i бара
         close_i1=iClose(NULL, 0, i-1); // Цена закрытия i-1 бара
         close_i2=iClose(NULL, 0, i-2); // Цена закрытия i-2 бара
         profit1=(iHigh(NULL, 0, i-3) - iOpen(NULL, 0, i-3))/Point; // Растояние между iHigh и iOpen на i-3 баре в пунктах
         Diff_1=(iOpen(NULL, 0, i-2) - iMA(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,i-2))/Point; // Растояние между iClose и MA1 на i-2 баре в пунктах
         Bar_4=(iClose(NULL, 0, i-3) - iOpen(NULL, 0, i-3))/Point; // Разница между iOpen и iClose на i-3 баре

         if(close_i<close_i1 && close_i1<close_i2) // Проверяем условие на покупку
           {
            int YY=TimeYear(Time[i-2]);
            int MN=TimeMonth(Time[i-2]);
            int DD=TimeDay(Time[i-2]);

            Print("Растояние между iClose и MA1 на i-2 баре в пунктах= ",Diff_1);
            Print("Профит после покупки в пунктах= ",profit1);
            Print("Разница между iOpen и iClose на i-3 баре= ",Bar_4);
            Print("Бар i-3>0, то +++! Бар i-3<0, то ---!");
            Print("Выполнено условие на покупку!");
            Print("Дата ", DD,".",MN,".",YY);
            Print("   ");
           }
        }
     }
}
 

Перебор начинается за 100 баров до текущего дня. На D1 это как раз август. Параметры не влияют на это число.

   if(MA1>MA2)
     {
      for(int i=100; i>4; i--) //Перебераем бары
 

Здраствуйте, у меня есть одна проблема.

Вместо русских букв у меня иероглифы. Попробовал изменить региональные настройки, но не помогло. Знаете какие-то рабочие методы?

 
Aleksey Verbin:

Вместо русских букв у меня иероглифы.

.

Причина обращения: