Questions from Beginners MQL4 MT4 MetaTrader 4 - page 232

 
O-Yama:
Post, then let's see what's on the server.
I collect the query message array with my function in small chunks, as StringToCharArray behaves strangely and constantly truncates the array. Maybe I messed up something in it too...

void OneMoreString(string str)
{
char cashe[];
int sz=ArraySize(buf); //buf is outside the function, and is always used in webrequest
StringToCharArray(str,cashe,0,StringLen(str)); //convert the string at the function input into the char array cashe
ArrayResize(buf,sz+ArraySize(cashe));
ArrayCopy(buf,cashe,sz); //copy cashe into buf
}

P.s. : I don't know how to insert code snippets here correctly

First determine which side is the problem to fix it.

The code is like this:


 
Hello all, I can't load the history of deals for any period except one month, I've tried everything, reinstalled the terminal completely, nothing helps. I have tried everything, I have completely reinstalled it, nothing helps. What happened when I have applied an old template to the price chart, as a result all deals have disappeared from the chart and the history has lost October deals, just pipsqueak. Maybe someone has faced with such a problem please help, the Internet also had no answers. MT4
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
MT4
 
Good afternoon. Can you tell me how to determine the number of open positions for each currency pair and display it on the chart? If positions are open on different currency pairs in different quantities.
 
makssub:
Good afternoon. Can you tell me how to determine the number of open positions for each currency pair and display them on the chart? If positions are open on different currency pairs in different quantities.

Over-running the positions.

 
makssub:
Afternoon. Could you please tell me how to determine the number of open positions for each currency pair and display it on the chart? If positions are open on different currency pairs in different quantities.

The iExposure.mq4 indicator is supplied as standard with the terminal

 
Good afternoon.
Can you tell me please. Why in the indicator when searching bars, the indicator starts all the time since August 2020. No matter what parameter i is set, i=500 or 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("   ");
           }
        }
     }
}
 

The overshoot begins 100 bars before the current day. On the D1, this is just August. The parameters do not affect this number.

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

Hello, I have a problem.

I have hieroglyphs instead of Russian letters.I tried changing the regional settings, but it didn't help. Do you know any working methods?

 
Aleksey Verbin:

I have hieroglyphs instead of Russian letters.

.

Reason: